v0.1.0 #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |