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