Files
prometheus-exporters/.gitea/workflows/varnish-exporter.yml
Ludovic Cartier 914144f07c
Some checks failed
/ validate (push) Successful in 4s
/ build (push) Failing after 19s
wrong step name
2025-07-21 18:31:00 +02:00

117 lines
4.0 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

on:
schedule:
- cron: '0 5 * * *'
push:
tags:
- '*'
branches:
- "*"
jobs:
validate:
runs-on: ubuntu-latest
outputs:
build: ${{ steps.new_version.outputs.build }}
tag: ${{ steps.new_version.outputs.tag }}
steps:
- uses: actions/checkout@v4
- name: Get latest release version
id: new_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"
if awk "BEGIN {exit !($LATEST > $CURRENT)}"; then
echo $LATEST > .version
echo "build=true" >> $GITHUB_OUTPUT
echo "tag=$LATEST" >> $GITHUB_OUTPUT
else
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'
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 }}'
push_options: '--force'
- name: DEBUG - build value
run: echo "${{ steps.new_version.outputs.build }}"
- name: DEBUG - tag value
run: echo "${{ steps.new_version.outputs.tag }}"
build:
needs: validate
if: needs.validate.outputs.build == 'true'
timeout-minutes: 2
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
ref: '${{ jobs.validate.ouputs.tag }}'
- name: Set version to env vars
run: |
echo "VERSION=`cat .version`" >> $GITHUB_ENV
- name: Setup go
uses: actions/setup-go@v4
with:
go-version: '>=1.20'
- name: Checkout varnish exporter
run: git clone https://github.com/jonnenauha/prometheus_varnish_exporter varnish
- name: Build varnish exporter for GNU/Linux / amd64
run: GOOS=linux GOARCH=amd64 go build -o ../bin/prometheus-varnish-exporter-amd64
working-directory: varnish
- name: Create deb dir tree
run: |
mkdir -p varnish-exporter-amd64/usr/bin
mkdir -p varnish-exporter-amd64/DEBIAN
- name: Copy binaries
run: |
cp bin/prometheus-varnish-exporter-amd64 varnish-exporter-amd64/usr/bin/prometheus-varnish-exporter
- name: Prepare amd64 control file
run: |
#VERSION=`cat .version`
echo "Package: varnish-exporter" > varnish-exporter-amd64/DEBIAN/control
echo "Version: $VERSION" >> varnish-exporter-amd64/DEBIAN/control
echo "Maintainer: Ludovic Cartier <ludovic.cartier@alterway.fr>" >> varnish-exporter-amd64/DEBIAN/control
echo "Architecture: amd64" >> varnish-exporter-amd64/DEBIAN/control
echo "Homepage: https://git.brainsys.io/packages/prometheus-exporters" >> varnish-exporter-amd64/DEBIAN/control
echo "Description: Prometheus Exporters package for GNU/Linux Debian" >> varnish-exporter-amd64/DEBIAN/control
- name: Build deb files
run: |
dpkg -b varnish-exporter-amd64 bin/prometheus-varnish-exporter-amd64.deb
- name: Prepare apt repo upload
run: |
mv bin/prometheus-varnish-exporter-amd64.deb prometheus-varnish-exporter_$VERSION-1_amd64.deb
- name: Release packages
run: |
curl -s -u "${{ secrets.PACKAGE_TOKEN }}" --upload-file prometheus-varnish-exporter_$VERSION-1_amd64.deb \
https://git.brainsys.io/api/packages/packages/debian/pool/stable/main/upload
- name: Create release
uses: https://gitea.com/actions/release-action@main
with:
draft: false
prerelease: false
files: |-
bin/**
api_key: "${{ secrets.RELEASE_TOKEN }}"