Skip to content

Create Release Build #50

Create Release Build

Create Release Build #50

Workflow file for this run

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