feat(ci): add build and publish release workflow

This commit is contained in:
Martin Wimpress 2023-11-10 14:47:49 +00:00
parent 702f314589
commit 5d2cbb7790
No known key found for this signature in database
GPG Key ID: 61DF940515E06DA3
1 changed files with 49 additions and 0 deletions

49
.github/workflows/publish-release.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: Build 🏗️ and Publish 📦️
on:
push:
tags: ['*']
jobs:
create-release:
name: Create Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Create release ${{ github.ref }} as a draft
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create "${{ github.ref }}" --draft --generate-notes
build-release:
needs: [create-release]
name: Build Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Build and Upload .deb
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sudo apt-get -y update
sudo apt-get -y install debhelper devscripts
REL_VER=$(grep "^readonly VERSION" quickemu | cut -d'"' -f2)
dch -v "${REL_VER}-1" --distribution=unstable "New upstream release."
dpkg-buildpackage --build=binary --no-check-builddeps --compression=gzip
gh release upload "${{ github.ref }}" "../quickemu_${REL_VER}-1_all.deb" --clobber
publish-release:
needs: [build-release]
name: Publish Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Publish release ${{ github.ref }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [ "$(gh release view "${{ github.ref }}" --json assets --template '{{len .assets}}')" -lt 0 ]; then
exit 1
fi
gh release edit "${{ github.ref }}" --draft=false