Skip to content

v0.1.0

v0.1.0 #1

Workflow file for this run

# Build and attach the .deb only when a GitHub Release is published.
# Creating a tag alone does not publish; draft/pre-release releases are ignored.
name: Release
on:
release:
types: [published]
permissions:
contents: write
concurrency:
group: release-${{ github.event.release.id }}
cancel-in-progress: false
jobs:
build-and-upload:
# Never run for forked copies of the workflow.
if: github.repository == 'tlf30/lumenpnp-streamdeck'
runs-on: ubuntu-24.04
steps:
- name: Checkout release tag
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.release.tag_name }}
- name: Resolve package version
id: version
run: |
tag="${{ github.event.release.tag_name }}"
version="${tag#v}"
if ! printf '%s' "$version" | grep -Eq '^[0-9]+(\.[0-9]+)*(-[0-9A-Za-z.-]+)?$'; then
echo "Release tag must look like v0.1.0 (got: $tag)" >&2
exit 1
fi
echo "version=$version" >> "$GITHUB_OUTPUT"
echo "Building streamdeck-openpnp_$version_all.deb"
- name: Install packaging tools
run: sudo apt-get update && sudo apt-get install -y rsync dpkg-dev
- name: Build .deb
env:
VERSION: ${{ steps.version.outputs.version }}
run: ./build-deb.sh
- name: Verify artifact name
run: |
expected="build/debian/streamdeck-openpnp_${{ steps.version.outputs.version }}_all.deb"
test -f "$expected"
ls -la "$expected"
- name: Upload to GitHub Release
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1
with:
files: build/debian/streamdeck-openpnp_${{ steps.version.outputs.version }}_all.deb
fail_on_unmatched_files: true