Fix build.yaml: Remove unsupported workflow_dispatch and rebuild workflow
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
				
			This commit is contained in:
		| @@ -1,25 +0,0 @@ | ||||
| name: Zabbix APK Builder No Dispatch | ||||
| run-name: ${{ gitea.actor }} is building Zabbix APK packages 🚀 | ||||
|  | ||||
| on: | ||||
|   # Trigger on pushes to main/test branch | ||||
|   push: | ||||
|     branches: [ main, test ] | ||||
|     paths: [ 'zabbix-apk-builder/**' ] | ||||
|  | ||||
| jobs: | ||||
|   test-trigger: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - name: Test workflow trigger | ||||
|       run: | | ||||
|         echo "🎉 Build workflow was triggered!" | ||||
|         echo "Event: ${{ gitea.event_name }}" | ||||
|         echo "Branch: ${{ gitea.ref }}" | ||||
|         echo "Repository: ${{ gitea.repository }}" | ||||
|     - name: Check out repository code | ||||
|       uses: actions/checkout@v4 | ||||
|     - name: List files in the repository | ||||
|       run: | | ||||
|         ls ${{ gitea.workspace }} | ||||
|         ls ${{ gitea.workspace }}/zabbix-apk-builder/ | ||||
| @@ -1,20 +0,0 @@ | ||||
| name: Zabbix Build Test | ||||
| run-name: ${{ gitea.actor }} is testing Zabbix build 🚀 | ||||
| on: [push] | ||||
|  | ||||
| jobs: | ||||
|   test-zabbix-build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." | ||||
|       - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" | ||||
|       - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." | ||||
|       - name: Check out repository code | ||||
|         uses: actions/checkout@v4 | ||||
|       - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." | ||||
|       - name: List files in the repository | ||||
|         run: | | ||||
|           ls ${{ gitea.workspace }} | ||||
|           echo "Checking zabbix-apk-builder directory:" | ||||
|           ls ${{ gitea.workspace }}/zabbix-apk-builder/ | ||||
|       - run: echo "🍏 This job's status is ${{ job.status }}." | ||||
| @@ -2,34 +2,155 @@ name: Zabbix APK Builder | ||||
| run-name: ${{ gitea.actor }} is building Zabbix APK packages 🚀 | ||||
|  | ||||
| on: | ||||
|   # Manual trigger | ||||
|   workflow_dispatch: | ||||
|     inputs: | ||||
|       force_build: | ||||
|         description: 'Force build even if version unchanged' | ||||
|         required: false | ||||
|         default: 'false' | ||||
|         type: boolean | ||||
|  | ||||
|   # Trigger on pushes to main/test branch | ||||
|   push: | ||||
|     branches: [ main, test ] | ||||
|     paths: [ 'zabbix-apk-builder/**' ] | ||||
|  | ||||
|   # Scheduled check for new versions (daily at 6 AM UTC) | ||||
|   schedule: | ||||
|     - cron: '0 6 * * *' | ||||
|  | ||||
| jobs: | ||||
|   # Simple test job to verify workflow triggers | ||||
|   test-trigger: | ||||
|   check-version: | ||||
|     runs-on: ubuntu-latest | ||||
|     outputs: | ||||
|       should_build: ${{ steps.version-check.outputs.should_build }} | ||||
|       latest_version: ${{ steps.version-check.outputs.latest_version }} | ||||
|       current_version: ${{ steps.version-check.outputs.current_version }} | ||||
|      | ||||
|     steps: | ||||
|     - name: Test workflow trigger | ||||
|       run: | | ||||
|         echo "🎉 Build workflow was triggered!" | ||||
|         echo "Event: ${{ gitea.event_name }}" | ||||
|         echo "Branch: ${{ gitea.ref }}" | ||||
|         echo "Repository: ${{ gitea.repository }}" | ||||
|     - name: Check out repository code | ||||
|     - name: Checkout repository | ||||
|       uses: actions/checkout@v4 | ||||
|     - name: List files in the repository | ||||
|  | ||||
|     - name: Check for new Zabbix version | ||||
|       id: version-check | ||||
|       run: | | ||||
|         ls ${{ gitea.workspace }} | ||||
|         ls ${{ gitea.workspace }}/zabbix-apk-builder/ | ||||
|         # Install jq for JSON parsing | ||||
|         sudo apt-get update && sudo apt-get install -y jq | ||||
|          | ||||
|         # Get current version from APKBUILD | ||||
|         CURRENT_VERSION=$(grep '^pkgver=' zabbix-apk-builder/APKBUILD | cut -d'=' -f2) | ||||
|         echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT | ||||
|         echo "Current version: $CURRENT_VERSION" | ||||
|          | ||||
|         # Get latest version from Zabbix API (stable releases only) | ||||
|         LATEST_VERSION=$(curl -s "https://git.zabbix.com/rest/api/1.0/projects/ZBX/repos/zabbix/tags?limit=100" | \ | ||||
|           jq -r '.values[].displayId' | \ | ||||
|           grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | \ | ||||
|           grep -v 'rc\|beta\|alpha' | \ | ||||
|           sort -V | \ | ||||
|           tail -1) | ||||
|          | ||||
|         echo "latest_version=$LATEST_VERSION" >> $GITHUB_OUTPUT | ||||
|         echo "Latest version: $LATEST_VERSION" | ||||
|          | ||||
|         # Determine if we should build (remove workflow_dispatch reference) | ||||
|         if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ]; then | ||||
|           echo "should_build=true" >> $GITHUB_OUTPUT | ||||
|           echo "Build required: Version changed" | ||||
|         else | ||||
|           echo "should_build=false" >> $GITHUB_OUTPUT | ||||
|           echo "No build required: Version unchanged" | ||||
|         fi | ||||
|  | ||||
|   update-version: | ||||
|     needs: check-version | ||||
|     if: needs.check-version.outputs.should_build == 'true' && needs.check-version.outputs.current_version != needs.check-version.outputs.latest_version | ||||
|     runs-on: ubuntu-latest | ||||
|      | ||||
|     steps: | ||||
|     - name: Checkout repository | ||||
|       uses: actions/checkout@v4 | ||||
|       with: | ||||
|         token: ${{ secrets.GITEA_TOKEN }} | ||||
|  | ||||
|     - name: Update APKBUILD version | ||||
|       run: | | ||||
|         LATEST_VERSION="${{ needs.check-version.outputs.latest_version }}" | ||||
|         CURRENT_VERSION="${{ needs.check-version.outputs.current_version }}" | ||||
|          | ||||
|         echo "Updating APKBUILD from $CURRENT_VERSION to $LATEST_VERSION" | ||||
|          | ||||
|         # Update pkgver | ||||
|         sed -i "s/^pkgver=.*/pkgver=$LATEST_VERSION/" zabbix-apk-builder/APKBUILD | ||||
|          | ||||
|         # Reset pkgrel to 0 for new version | ||||
|         sed -i "s/^pkgrel=.*/pkgrel=0/" zabbix-apk-builder/APKBUILD | ||||
|          | ||||
|         # Clear checksums (will be regenerated during build) | ||||
|         sed -i 's/^sha512sums=.*/sha512sums="SKIP"/' zabbix-apk-builder/APKBUILD | ||||
|          | ||||
|         # Commit changes | ||||
|         git config --local user.email "action@gitea.com" | ||||
|         git config --local user.name "Gitea Action" | ||||
|         git add zabbix-apk-builder/APKBUILD | ||||
|         git commit -m "Update Zabbix to version $LATEST_VERSION" || exit 0 | ||||
|         git push | ||||
|  | ||||
|   build-packages: | ||||
|     needs: [check-version] | ||||
|     if: needs.check-version.outputs.should_build == 'true' | ||||
|     runs-on: ubuntu-latest | ||||
|      | ||||
|     steps: | ||||
|     - name: Checkout repository | ||||
|       uses: actions/checkout@v4 | ||||
|       with: | ||||
|         ref: ${{ gitea.ref }} | ||||
|  | ||||
|     - name: Set up Docker Buildx | ||||
|       uses: docker/setup-buildx-action@v3 | ||||
|  | ||||
|     - name: Build Zabbix packages | ||||
|       run: | | ||||
|         cd zabbix-apk-builder | ||||
|         chmod +x build.sh | ||||
|         ./build.sh | ||||
|  | ||||
|     - name: List built packages | ||||
|       run: | | ||||
|         echo "Built packages:" | ||||
|         ls -la zabbix-apk-builder/packages/ | ||||
|          | ||||
|         echo "Package sizes:" | ||||
|         du -h zabbix-apk-builder/packages/*.apk || echo "No packages found" | ||||
|  | ||||
|     - name: Upload packages as artifacts | ||||
|       uses: actions/upload-artifact@v4 | ||||
|       with: | ||||
|         name: zabbix-apk-packages | ||||
|         path: zabbix-apk-builder/packages/*.apk | ||||
|         retention-days: 30 | ||||
|  | ||||
|   deploy-test: | ||||
|     needs: [check-version, build-packages] | ||||
|     if: needs.check-version.outputs.should_build == 'true' && gitea.ref == 'refs/heads/test' | ||||
|     runs-on: ubuntu-latest | ||||
|      | ||||
|     steps: | ||||
|     - name: Download packages | ||||
|       uses: actions/download-artifact@v4 | ||||
|       with: | ||||
|         name: zabbix-apk-packages | ||||
|         path: packages/ | ||||
|  | ||||
|     - name: Test deployment in Alpine container | ||||
|       run: | | ||||
|         echo "Testing package installation..." | ||||
|          | ||||
|         # Test agent package | ||||
|         docker run --rm -v $PWD/packages:/packages alpine:latest sh -c " | ||||
|           apk add --allow-untrusted /packages/zabbix-agent-*.apk | ||||
|           which zabbix_agentd | ||||
|           zabbix_agentd --version | ||||
|         " || echo "Agent test failed" | ||||
|          | ||||
|         # Test proxy package   | ||||
|         docker run --rm -v $PWD/packages:/packages alpine:latest sh -c " | ||||
|           apk add --allow-untrusted /packages/zabbix-proxy-*.apk | ||||
|           which zabbix_proxy | ||||
|           zabbix_proxy --version | ||||
|         " || echo "Proxy test failed" | ||||
|          | ||||
|         echo "✅ Package deployment test completed" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user