Create Release Build #50
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: Create Release Build | |
on: [workflow_dispatch, workflow_call] | |
jobs: | |
get_version: | |
name: "Version" | |
uses: ./.github/workflows/get-version.yml | |
build_windows: | |
name: "Create Windows Build" | |
runs-on: windows-latest | |
needs: [get_version] | |
steps: | |
# Firstly Checkout our Repository.. | |
- name: "Check out GoXLR Utility" | |
uses: actions/checkout@v3 | |
with: | |
path: goxlr-utility | |
# Now Checkout the App Wrappers repository.. | |
- name: "Check out GoXLR Utility UI" | |
uses: actions/checkout@v3 | |
with: | |
repository: frostycoolslug/goxlr-utility-ui | |
path: goxlr-utility-ui | |
- name: "Install Rust" | |
uses: dtolnay/rust-toolchain@stable | |
- name: "Loading Cache" | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
goxlr-utility/target | |
key: ${{ runner.os }}-cargo-release-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-cargo-release- | |
- name: "Build Utility" | |
run: "cargo build --manifest-path=goxlr-utility/Cargo.toml --release --all-features" | |
# Build the UI into the same target directory.. | |
- name: "Build UI" | |
run: "cargo build --manifest-path=goxlr-utility-ui/src-tauri/Cargo.toml --target-dir=goxlr-utility/target --release" | |
# Prepare NSIS | |
- name: "Preparing NSIS" | |
run: mkdir -p ${{ github.workspace }}/NSIS_Plugins/x86-unicode/ | |
- name: "Downloading Tauri Utility Plugin" | |
uses: suisei-cn/actions-download-file@v1.4.0 | |
with: | |
url: https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.1.1/nsis_tauri_utils.dll | |
target: ${{ github.workspace }}/NSIS_Plugins/x86-unicode/ | |
- name: "Build NSIS Packages" | |
uses: joncloud/makensis-action@publish | |
with: | |
additional-plugin-paths: ${{ github.workspace }}/NSIS_Plugins | |
script-file: goxlr-utility/ci/nsis/goxlr-utility.nsi | |
arguments: "/DPRODUCT_VERSION=${{ needs.get_version.outputs.version }}" | |
- name: "Upload Installer" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows-artifact | |
path: ./goxlr-utility/ci/Output/*.exe | |
build: | |
name: "Create Linux Builds" | |
runs-on: ubuntu-latest | |
needs: [get_version] | |
steps: | |
- name: "Check out Repository" | |
uses: actions/checkout@v3 | |
- name: "Install Rust" | |
uses: dtolnay/rust-toolchain@stable | |
- name: "Install Required Libraries" | |
run: | | |
sudo apt-get update | |
sudo apt-get install libpulse0 libdbus-1-dev pkg-config libspeechd-dev | |
- name: "Loading Cache" | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-release-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: ${{ runner.os }}-cargo-release- | |
- name: Install cargo-deb and cargo-generate-rpm | |
run: cargo install --force cargo-deb cargo-generate-rpm | |
- name: "Build Packages" | |
run: ./ci/build-packages | |
shell: bash | |
- name: "Upload DEB Artifact" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: debian-artifact | |
path: ./target/debian/*.deb | |
- name: "Upload RPM Artifact" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rpm-artifact | |
path: ./target/generate-rpm/*.rpm |