update varnish build
All checks were successful
/ validate (push) Successful in 5s
/ build (push) Successful in 45s

This commit is contained in:
Ludovic Cartier
2026-02-09 19:19:46 +01:00
parent c033b9b79b
commit 80fb9c64de
2 changed files with 43 additions and 22 deletions

View File

@@ -11,47 +11,69 @@ jobs:
validate:
runs-on: ubuntu-latest
outputs:
build: ${{ steps.new_version.outputs.build }}
version: ${{ steps.new_version.outputs.version }}
build: ${{ steps.check_version.outputs.build }}
version: ${{ steps.check_version.outputs.version }}
steps:
- uses: actions/checkout@v4
- name: Get latest release version
id: new_version
- name: Check for latest release version
id: check_version
run: |
CURRENT=`cat .version`
LATEST=`curl --silent https://api.github.com/repos/jonnenauha/prometheus_varnish_exporter/releases/latest | jq -r .tag_name | sed "s/v//"`
echo "current registered version: $CURRENT"
echo "latest version on remote repo: $LATEST"
echo "version=$LATEST" >> $GITHUB_OUTPUT
if awk "BEGIN {exit !($LATEST > $CURRENT)}"; then
echo $LATEST > .version
# Define version file specific to this exporter
VERSION_FILE=".varnish-exporter.version"
# Initialize if missing
if [ ! -f "$VERSION_FILE" ]; then echo "0.0.0" > "$VERSION_FILE"; fi
CURRENT=$(cat "$VERSION_FILE")
# Get latest tag. Fail silently on curl error, verify json output
LATEST=$(curl --silent --fail https://api.github.com/repos/jonnenauha/prometheus_varnish_exporter/releases/latest | jq -r .tag_name | sed "s/^v//")
if [ -z "$LATEST" ] || [ "$LATEST" = "null" ]; then
echo "::error::Failed to fetch latest version from GitHub"
exit 1
fi
echo "Current local version: $CURRENT"
echo "Latest remote version: $LATEST"
# Version comparison using sort -V (Handles 1.10 > 1.9 correctly)
if [ "$CURRENT" != "$LATEST" ]; then
# Sort the two versions and take the last one (the highest)
NEWER=$(printf "%s\n%s" "$CURRENT" "$LATEST" | sort -V | tail -n1)
if [ "$NEWER" = "$LATEST" ]; then
echo "New version detected: $LATEST"
echo "$LATEST" > "$VERSION_FILE"
echo "build=true" >> $GITHUB_OUTPUT
echo "version=$LATEST" >> $GITHUB_OUTPUT
echo "VERSION=$LATEST" >> $GITHUB_ENV
else
echo "Remote version ($LATEST) is not newer than local ($CURRENT). Skipping."
echo "build=false" >> $GITHUB_OUTPUT
fi
else
echo "Up to date."
echo "build=false" >> $GITHUB_OUTPUT
fi
echo "VERSION=`cat .version`" >> $GITHUB_ENV
- uses: stefanzweifel/git-auto-commit-action@v6
with:
branch: main
file_pattern: '.version'
file_pattern: '.varnish-exporter.version'
commit_user_name: gitea-actions[bot]
commit_user_email: no-reply@brainsys.io
commit_message: gitea-actions auto commit - update version
tagging_message: '${{ env.VERSION }}'
commit_message: "chore(varnish): update version to ${{ env.VERSION }}"
tagging_message: 'varnish-v${{ env.VERSION }}'
push_options: '--force'
- name: DEBUG - build value
run: echo "${{ steps.new_version.outputs.build }}"
- name: DEBUG - version value
run: echo "${{ steps.new_version.outputs.version }}"
run: echo "${{ steps.check_version.outputs.build }}"
build:
needs: validate
if: needs.validate.outputs.build == 'true'
timeout-minutes: 2
#timeout-minutes: 2
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

View File

@@ -1 +0,0 @@
1.6.1