chore: Release #81
Workflow file for this run
This file contains 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
name: Packaging | |
on: | |
push: | |
tags: | |
- "v*.*.*" | |
jobs: | |
publish: | |
name: Publish on ${{ matrix.os }} for ${{ matrix.target }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- x86_64-unknown-linux-musl | |
- aarch64-unknown-linux-musl | |
- armv7-unknown-linux-musleabihf | |
- arm-unknown-linux-musleabihf | |
- x86_64-pc-windows-msvc | |
- x86_64-apple-darwin | |
- aarch64-apple-darwin | |
include: | |
- os: ubuntu-latest | |
target: x86_64-unknown-linux-musl | |
client_artifact_name: target/x86_64-unknown-linux-musl/release/pueue | |
daemon_artifact_name: target/x86_64-unknown-linux-musl/release/pueued | |
client_release_name: pueue-linux-x86_64 | |
daemon_release_name: pueued-linux-x86_64 | |
cross: true | |
strip: true | |
- os: ubuntu-latest | |
target: aarch64-unknown-linux-musl | |
client_artifact_name: target/aarch64-unknown-linux-musl/release/pueue | |
daemon_artifact_name: target/aarch64-unknown-linux-musl/release/pueued | |
client_release_name: pueue-linux-aarch64 | |
daemon_release_name: pueued-linux-aarch64 | |
cross: true | |
strip: false | |
- os: ubuntu-latest | |
target: armv7-unknown-linux-musleabihf | |
client_artifact_name: target/armv7-unknown-linux-musleabihf/release/pueue | |
daemon_artifact_name: target/armv7-unknown-linux-musleabihf/release/pueued | |
client_release_name: pueue-linux-armv7 | |
daemon_release_name: pueued-linux-armv7 | |
cross: true | |
strip: false | |
- os: ubuntu-latest | |
target: arm-unknown-linux-musleabihf | |
client_artifact_name: target/arm-unknown-linux-musleabihf/release/pueue | |
daemon_artifact_name: target/arm-unknown-linux-musleabihf/release/pueued | |
client_release_name: pueue-linux-arm | |
daemon_release_name: pueued-linux-arm | |
cross: true | |
strip: false | |
- os: windows-latest | |
target: x86_64-pc-windows-msvc | |
client_artifact_name: target/x86_64-pc-windows-msvc/release/pueue.exe | |
daemon_artifact_name: target/x86_64-pc-windows-msvc/release/pueued.exe | |
client_release_name: pueue-windows-x86_64.exe | |
daemon_release_name: pueued-windows-x86_64.exe | |
cross: false | |
strip: true | |
- os: macos-latest | |
target: x86_64-apple-darwin | |
client_artifact_name: target/x86_64-apple-darwin/release/pueue | |
daemon_artifact_name: target/x86_64-apple-darwin/release/pueued | |
client_release_name: pueue-macos-x86_64 | |
daemon_release_name: pueued-macos-x86_64 | |
cross: false | |
strip: true | |
- os: macos-latest | |
target: aarch64-apple-darwin | |
client_artifact_name: target/aarch64-apple-darwin/release/pueue | |
daemon_artifact_name: target/aarch64-apple-darwin/release/pueued | |
client_release_name: pueue-darwin-aarch64 | |
daemon_release_name: pueued-darwin-aarch64 | |
cross: false | |
strip: true | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: llvm-tools-preview | |
targets: ${{ matrix.target }} | |
- name: cargo build | |
uses: houseabsolute/actions-rust-cross@v0 | |
with: | |
command: build | |
args: --release --locked | |
target: ${{ matrix.target }} | |
- name: Compress client | |
uses: svenstaro/upx-action@v2 | |
with: | |
file: ${{ matrix.client_artifact_name }} | |
args: --lzma | |
strip: ${{ matrix.strip }} | |
if: matrix.target != 'x86_64-pc-windows-msvc' | |
- name: Compress daemon | |
uses: svenstaro/upx-action@v2 | |
with: | |
file: ${{ matrix.daemon_artifact_name }} | |
args: --lzma | |
strip: ${{ matrix.strip }} | |
if: matrix.target != 'x86_64-pc-windows-msvc' | |
- name: Upload client binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: ${{ matrix.client_artifact_name }} | |
asset_name: ${{ matrix.client_release_name }} | |
tag: ${{ github.ref }} | |
overwrite: true | |
- name: Upload daemon binaries to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: ${{ matrix.daemon_artifact_name }} | |
asset_name: ${{ matrix.daemon_release_name }} | |
tag: ${{ github.ref }} | |
overwrite: true | |
- uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: utils/pueued.service | |
tag: ${{ github.ref }} | |
asset_name: systemd.pueued.service | |
body: ${{ steps.changelog_reader.outputs.log_entry }} | |
if: matrix.target == 'x86_64-unknown-linux-musl' |