Skip to content

Automated update to license notices #150

Automated update to license notices

Automated update to license notices #150

Workflow file for this run

name: Make release
on:
# We go through the motions of a release on pull requests and pushes
# but the actual publish step is conditionalized to published releases
pull_request:
push:
release:
types: created
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, windows-2019, macos-latest]
include:
- os: ubuntu-20.04
dependencies: libasound2-dev libdbus-1-dev
program-ext: ''
toolchain-prefix: ''
release-name: panharmonicon-linux
- os: windows-2019
dependencies: ''
program-ext: .exe
toolchain-prefix: ''
release-name: panharmonicon-win
- os: macos-latest
dependencies: ''
program-ext: ''
toolchain-prefix: '$(brew --prefix llvm)/bin/llvm-'
release-name: panharmonicon-macos
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install missing dependencies (linux)
if: contains(matrix.os, 'ubuntu')
run: sudo apt-get install ${{ matrix.dependencies }}
# add the --all-features flag to build versions with emoji_labels feature enabled
- name: Build release
run: cargo build --verbose --release --all-features
# zip up all the releasable artifacts
- name: Archive release artifacts
shell: bash
env:
PROGRAM_EXT: ${{ matrix.program-ext }}
ARCHIVE_NAME: ${{ matrix.release-name }}
run: |
mkdir -p artifacts
7z a artifacts/${ARCHIVE_NAME}.zip README.md LICENSE.txt ./target/release/panharmonicon${PROGRAM_EXT}
# publish the archives made in the previous steps
# but ONLY if this was triggered by a 'published' event
- name: Publish release artifacts
if: github.event_name == 'release'
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./artifacts/${{ matrix.release-name }}.zip
asset_name: ${{ matrix.release-name }}.zip
asset_content_type: application/zip