diff --git a/zabbix-apk-builder/.gitea/workflows/build.yml b/zabbix-apk-builder/.gitea/workflows/build.yml deleted file mode 100644 index 196c6d9..0000000 --- a/zabbix-apk-builder/.gitea/workflows/build.yml +++ /dev/null @@ -1,212 +0,0 @@ -name: Zabbix APK Builder - -on: - # Manual trigger - workflow_dispatch: - inputs: - force_build: - description: 'Force build even if version unchanged' - required: false - default: 'false' - type: boolean - - # Scheduled check for new versions (daily at 6 AM UTC) - schedule: - - cron: '0 6 * * *' - - # Trigger on pushes to main/test branch - push: - branches: [ main, test ] - paths: [ 'APKBUILD', 'Dockerfile', 'build.sh', '*.initd', '*.confd' ] - -jobs: - 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: Checkout repository - uses: actions/checkout@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - fetch-depth: 0 - - - name: Check for new Zabbix version - id: version-check - run: | - # Get current version from APKBUILD - CURRENT_VERSION=$(grep '^pkgver=' APKBUILD | cut -d'=' -f2) - echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT - echo "Current version: $CURRENT_VERSION" - - # Get latest version from Zabbix Bitbucket 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 - if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ] || [ "${{ inputs.force_build }}" = "true" ]; then - echo "should_build=true" >> $GITHUB_OUTPUT - echo "Build required: Version changed or force build requested" - 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' - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - fetch-depth: 0 - - - name: Update APKBUILD version - run: | - LATEST_VERSION="${{ needs.check-version.outputs.latest_version }}" - CURRENT_VERSION="${{ needs.check-version.outputs.current_version }}" - - if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ]; then - echo "Updating APKBUILD from $CURRENT_VERSION to $LATEST_VERSION" - - # Update pkgver - sed -i "s/^pkgver=.*/pkgver=$LATEST_VERSION/" APKBUILD - - # Reset pkgrel to 0 for new version - sed -i "s/^pkgrel=.*/pkgrel=0/" APKBUILD - - # Clear checksums (will be regenerated during build) - sed -i '/^sha512sums="/,/^"$/c\sha512sums="\nSKIP\nSKIP\nSKIP\nSKIP\nSKIP\n"' APKBUILD - - # Commit changes - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add APKBUILD - git commit -m "Update Zabbix to version $LATEST_VERSION" || exit 0 - git push - fi - - build-packages: - needs: [check-version, update-version] - if: needs.check-version.outputs.should_build == 'true' - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - ref: ${{ github.ref }} - fetch-depth: 0 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build Zabbix packages - run: | - chmod +x build.sh - ./build.sh - - - name: List built packages - run: | - echo "Built packages:" - ls -la packages/ - - echo "Package sizes:" - du -h packages/*.apk - - - name: Upload packages as artifacts - uses: actions/upload-artifact@v4 - with: - name: zabbix-apk-packages - path: packages/*.apk - retention-days: 30 - - - - publish-to-gitea: - needs: [check-version, build-packages] - if: needs.check-version.outputs.should_build == 'true' - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Download packages - uses: actions/download-artifact@v4 - with: - name: zabbix-apk-packages - path: packages/ - - - name: Setup SSH for Gitea - run: | - mkdir -p ~/.ssh - echo "${{ secrets.GITEA_SSH_KEY }}" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - ssh-keyscan -H gitea-repo >> ~/.ssh/known_hosts 2>/dev/null || true - - - name: Publish to Gitea repository - run: | - # Clone or update the packages repository - git clone git@gitea-repo:mbuz/Zabbix.git gitea-repo || true - cd gitea-repo - - # Create packages directory structure - mkdir -p alpine/v3.18/main/x86_64 - - # Copy new packages - cp ../packages/*.apk alpine/v3.18/main/x86_64/ - - # Update package index (simplified) - cd alpine/v3.18/main/x86_64 - ls *.apk > PACKAGES.txt - - # Commit and push - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add . - git commit -m "Add Zabbix ${{ needs.check-version.outputs.latest_version }} packages" || exit 0 - git push - - deploy-test: - needs: [check-version, build-packages] - if: needs.check-version.outputs.should_build == 'true' && github.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: | - # 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 - " - - # 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 "✅ Package deployment test passed" diff --git a/zabbix-apk-builder/.gitea/workflows/demo,yml b/zabbix-apk-builder/.gitea/workflows/demo,yml deleted file mode 100644 index 394c807..0000000 --- a/zabbix-apk-builder/.gitea/workflows/demo,yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 -on: [push] - -jobs: - Explore-Gitea-Actions: - 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." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ gitea.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/zabbix-apk-builder/.gitea/workflows/demo.yaml b/zabbix-apk-builder/.gitea/workflows/demo.yaml deleted file mode 100644 index 394c807..0000000 --- a/zabbix-apk-builder/.gitea/workflows/demo.yaml +++ /dev/null @@ -1,19 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 -on: [push] - -jobs: - Explore-Gitea-Actions: - 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." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ gitea.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/zabbix-apk-builder/.gitea/workflows/demo.yml b/zabbix-apk-builder/.gitea/workflows/demo.yml deleted file mode 100644 index 394c807..0000000 --- a/zabbix-apk-builder/.gitea/workflows/demo.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 -on: [push] - -jobs: - Explore-Gitea-Actions: - 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." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ gitea.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file