Skip to content

Prepare release v0.11.2 #16

Prepare release v0.11.2

Prepare release v0.11.2 #16

Workflow file for this run

name: Release
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
jobs:
build_package:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
artifact_name: OmniLED-${{ github.ref_name }}-x86_64.AppImage
output_name: omni-led_*_x86_64.AppImage
package_format: appimage
- os: macos-latest
artifact_name: OmniLED-${{ github.ref_name }}-aarch64.dmg
output_name: OmniLED_*_aarch64.dmg
package_format: dmg
- os: windows-latest
artifact_name: OmniLED-${{ github.ref_name }}-x86_64.msi
output_name: omni-led_*_x64_en-US.msi
package_format: wix
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Setup Environment
uses: ./.github/actions/setup-env
- name: Install Cargo Packager
run: cargo install cargo-packager --locked
- name: Build package
run: cargo packager --verbose --formats ${{ matrix.package_format }} --config Packager.toml --release
- name: Prepare artifact
shell: bash
run: mv target/release/${{ matrix.output_name }} ${{ matrix.artifact_name }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: ${{ matrix.artifact_name }}
if-no-files-found: error
create_release:
needs: build_package
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: true
- name: Create Release
uses: softprops/action-gh-release@v2
with:
name: "OmniLED ${{ github.ref_name }}"
body: |
## Installation
| Platform | Download | Run |
|----------|-------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
| Linux | [OmniLED-${{ github.ref_name }}-x86_64.AppImage][linux_url] | `chmod +x OmniLED-*.AppImage && ./OmniLED-*.AppImage` (also see [post installation steps][post_install_url]) |
| macOS | [OmniLED-${{ github.ref_name }}-aarch64.dmg][macos_url] | Run the `.dmg` file and install the application (also see [macOS installation note][macos_install_url]) |
| Windows | [OmniLED-${{ github.ref_name }}-x86_64.msi][windows_url] | Run the `.msi` installer and follow the setup wizard |
[linux_url]: https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/OmniLED-${{ github.ref_name }}-x86_64.AppImage
[macos_url]: https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/OmniLED-${{ github.ref_name }}-aarch64.dmg
[windows_url]: https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/OmniLED-${{ github.ref_name }}-x86_64.msi
[macos_install_url]: https://github.com/${{ github.repository }}/blob/${{ github.ref_name }}/README.md#macos-installation-note
[post_install_url]: https://github.com/${{ github.repository }}/blob/${{ github.ref_name }}/docs/install.md#post-installation-steps
---
generate_release_notes: true
files: artifacts/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}