From 37e05b68555609dd2a7f64fbc468c71ab6d84d8e Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 8 Nov 2021 07:03:09 +0100 Subject: [PATCH] .github: add release general to automate release builds Signed-off-by: Joachim Wiberg --- .github/workflows/release.yml | 62 +++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c90d1f5 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +name: Release General + +on: + push: + tags: + - 'v*' + +jobs: + release: + name: Create GitHub release + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/') + outputs: + upload_url: ${{ steps.create_release.outputs.upload_url }} + release_id: ${{ steps.create_release.outputs.id }} + steps: + - uses: actions/checkout@v2 + - name: Extract ChangeLog entry ... + # Hack to extract latest entry for body_path below + run: | + awk '/-----*/{if (x == 1) exit; x=1;next}x' ChangeLog.md \ + |head -n -1 > release.md + cat release.md + - name: Create release ... + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: sysklogd ${{ github.ref }} + body_path: release.md + draft: false + prerelease: false + tarball: + name: Build and upload release tarball + needs: release + if: startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Installing dependencies ... + run: | + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq -y tree tshark + - name: Creating Makefiles ... + run: | + ./autogen.sh + ./configure + - name: Build release ... + run: | + make release || (cat test/test-suite.log; false) + ls -lF ../ + mkdir -p artifacts/ + mv ../*.tar.* artifacts/ + - name: Upload release artifacts ... + uses: skx/github-action-publish-binaries@release-0.15 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + releaseId: ${{ needs.release.outputs.release_id }} + args: artifacts/*