name: Release General on: push: tags: - '[0-9]+.[0-9]+*' jobs: release: name: Build and upload release tarball if: startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest env: MAKEFLAGS: -j3 steps: - uses: actions/checkout@v3 - name: Installing dependencies ... run: | sudo apt-get -y update sudo apt-get -y install pkg-config jq libuev-dev libite-dev - name: Setting release variables ... id: build run: | ver=${GITHUB_REF#refs/tags/} echo "ver=${ver}" >> $GITHUB_OUTPUT if echo $ver | grep -qE '^[0-9]+\.[0-9]+(\.[0-9]+)?(-alpha|-beta|-rc)[0-9]*$'; then echo "pre=true" >> $GITHUB_OUTPUT else echo "pre=false" >> $GITHUB_OUTPUT fi if echo $ver | grep -qE '^[0-9.]+\.[0-9.]+(\.[0-9]+)?$'; then echo "latest=true" >> $GITHUB_OUTPUT else echo "latest=false" >> $GITHUB_OUTPUT fi - name: Creating Makefiles ... run: | ./autogen.sh ./configure --prefix=/usr --exec-prefix= --sysconfdir=/etc --localstatedir=/var \ --enable-x11-common-plugin --enable-testserv-plugin --with-watchdog \ --with-keventd - name: Build release ... run: | make release || (cat test/test-suite.log; false) ls -lF ../ mkdir -p artifacts/ mv ../*.tar.* artifacts/ - name: Extract ChangeLog entry ... run: | awk '/-----*/{if (x == 1) exit; x=1;next}x' ChangeLog.md \ |head -n -1 > release.md cat release.md - uses: ncipollo/release-action@v1 with: name: Finit v${{ github.ref_name }} prerelease: ${{ steps.build.outputs.pre }} makeLatest: ${{ steps.build.outputs.latest }} bodyFile: "release.md" artifacts: "artifacts/*"