Skip to content

fix(CompositeDevice): allow multiple mappings to be applied for an event #178

fix(CompositeDevice): allow multiple mappings to be applied for an event

fix(CompositeDevice): allow multiple mappings to be applied for an event #178

Workflow file for this run

# Build and publish a release of InputPlumber using semantic-release whenever
# changes are merged into main.
name: "🎉 Release"
on:
push:
branches:
- main
- v0.x
- v1.x
paths-ignore:
- README.md
- "docs/**"
# Jobs to run
jobs:
release:
name: 🎉 Publish to GitHub
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: "20"
- name: Install Dependencies
run: npm install @semantic-release/exec @google/semantic-release-replace-plugin @semantic-release/git
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
id: gpg
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_config_global: true
git_user_signingkey: true
git_commit_gpgsign: true
git_tag_gpgsign: true
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_AUTHOR_NAME: ${{ steps.gpg.outputs.name}}
GIT_AUTHOR_EMAIL: ${{ steps.gpg.outputs.email}}
GIT_COMMITTER_NAME: ${{ steps.gpg.outputs.name}}
GIT_COMMITTER_EMAIL: ${{ steps.gpg.outputs.email}}
run: make sem-release
# In ".releaserc.yaml" a step is defined to write the release version to
# ".version.txt" upon successful release. This step checks to see if that
# exists to determine if the other jobs need to run.
- id: status
name: Set release status
shell: bash
run: |
if [ -f .version.txt ]; then
echo "was_released=yes" >> "$GITHUB_OUTPUT"
else
echo "was_released=no" >> "$GITHUB_OUTPUT"
fi
# Upload the package build for the AUR publish step
- name: Upload PKGBUILD
uses: actions/upload-artifact@v4
if: steps.status.outputs.was_released == 'yes'
with:
name: PKGBUILD
path: ./pkg/archlinux/PKGBUILD
if-no-files-found: error
- name: Upload Release Version
uses: actions/upload-artifact@v4
if: steps.status.outputs.was_released == 'yes'
with:
name: version.txt
path: .version.txt
if-no-files-found: error
include-hidden-files: true
outputs:
should_publish: ${{ steps.status.outputs.was_released }}
publish-to-copr:
name: 🟤 Publish to COPR
needs: release
if: needs.release.outputs.should_publish == 'yes'
runs-on: ubuntu-latest
steps:
- name: Trigger COPR Build
run: curl -X POST ${{ secrets.COPR_WEBHOOK_URL }}
publish-to-aur:
name: 🐧 Publish to AUR
needs: release
if: needs.release.outputs.should_publish == 'yes'
runs-on: ubuntu-latest
steps:
- name: Download PKGBUILD
uses: actions/download-artifact@v4
with:
name: PKGBUILD
- name: Download Release Version
uses: actions/download-artifact@v4
with:
name: version.txt
- name: Setup SSH
uses: MrSquaare/ssh-setup-action@v3
with:
host: aur.archlinux.org
private-key: ${{ secrets.AUR_SSH_KEY }}
- name: Checkout AUR bin
run: git clone ssh://[email protected]/inputplumber-bin.git
- name: Copy PKGBUILD to bin repo
run: cp ./PKGBUILD inputplumber-bin/
- name: Build bin package
working-directory: inputplumber-bin
run: make in-docker
- name: Commit and publish bin package
shell: bash
working-directory: inputplumber-bin
run: |
git config user.name "github-actions[bot]"
git config user.email "shadowblip+github-actions[bot]@users.noreply.github.com"
git add .SRCINFO PKGBUILD
git commit -m "Update to $(grep '^pkgver=' PKGBUILD | cut -d'=' -f2)"
git push origin master
- name: Checkout AUR git
run: git clone ssh://[email protected]/inputplumber-git.git
- name: Build git package
working-directory: inputplumber-git
run: make in-docker
- name: Commit and publish git package
shell: bash
working-directory: inputplumber-git
run: |
git config user.name "github-actions[bot]"
git config user.email "shadowblip+github-actions[bot]@users.noreply.github.com"
git add .SRCINFO PKGBUILD
git commit -m "Update to $(grep '^pkgver=' PKGBUILD | cut -d'=' -f2)"
git push origin master