mirror of
https://github.com/wimpysworld/stream-sprout
synced 2026-03-14 14:45:50 +01:00
ci: add release workflow and update docs
This commit is contained in:
parent
c8bed71c4a
commit
040d5f7ba9
3 changed files with 103 additions and 6 deletions
81
.github/workflows/publish-release.yml
vendored
Normal file
81
.github/workflows/publish-release.yml
vendored
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
name: Publish Release 🏷️
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v?[0-9]+.[0-9]+.[0-9]+*"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: "The existing tag to publish"
|
||||
type: "string"
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
version-check:
|
||||
name: "Check versions ⚖️"
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: "Compare App and Git versions 🟰"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
APP_VERSION=$(grep "^readonly VERSION" stream-sprout | cut -d'"' -f2)
|
||||
GIT_VERSION=$(git describe --tags | cut -d'-' -f1)
|
||||
echo "App version: ${REL_VERSION}"
|
||||
echo "Git version: ${GIT_VERSION}"
|
||||
if [ "${APP_VERSION}" != "${GIT_VERSION}" ]; then
|
||||
echo "ERROR! Version mismatch.";
|
||||
exit 1
|
||||
fi
|
||||
|
||||
build-release:
|
||||
needs: [version-check]
|
||||
name: "Build Release 👨🔧"
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: "Build .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" stream-sprout | cut -d'"' -f2)
|
||||
rm debian/changelog
|
||||
dch --package stream-sprout --newversion="${REL_VER}-1" --distribution=unstable "New upstream release." --create
|
||||
dpkg-buildpackage --build=binary --no-check-builddeps --compression=gzip
|
||||
- name: "Draft Release 📥️"
|
||||
run: |
|
||||
gh release create "${{ github.ref }}" --draft --generate-notes
|
||||
- name: "Upload .deb ⤴️"
|
||||
run: |
|
||||
gh release upload "${{ github.ref }}" "../stream-sprout_${REL_VER}-1_all.deb" --clobber
|
||||
- name: "Publish release 📤️"
|
||||
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
|
||||
|
||||
publish-flakehub:
|
||||
needs: [version-check]
|
||||
name: "Publish FlakeHub ❄️"
|
||||
runs-on: "ubuntu-24.04"
|
||||
permissions:
|
||||
id-token: "write"
|
||||
contents: "read"
|
||||
steps:
|
||||
- uses: "actions/checkout@v4"
|
||||
with:
|
||||
ref: "${{ (inputs.tag != null) && format('refs/tags/{0}', inputs.tag) || '' }}"
|
||||
- uses: "DeterminateSystems/nix-installer-action@main"
|
||||
- uses: "DeterminateSystems/magic-nix-cache-action@main"
|
||||
- uses: "DeterminateSystems/flakehub-push@main"
|
||||
with:
|
||||
visibility: "public"
|
||||
name: "wimpysworld/stream-sprout"
|
||||
tag: "${{ inputs.tag }}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue