[CHORE] Update CLI #331
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: Nightly Build | |
on: | |
workflow_dispatch: | |
push: | |
branches: [dev] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build Nightly Version | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-20.04, windows-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install dependencies (ubuntu only) | |
if: matrix.platform == 'ubuntu-20.04' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev librsvg2-dev | |
- name: Setup Rust Toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
- name: Setup Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: v1-${{ matrix.platform }}-rust-cache-${{ hashFiles('Cargo.lock') }} | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
run_install: false | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
key: ${{ matrix.platform }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ matrix.platform }}-pnpm-store- | |
- name: Install Frontend Dependencies | |
working-directory: owmods_gui/frontend | |
run: pnpm install | |
- name: Install Tauri CLI | |
run: pnpm add -g @tauri-apps/cli | |
- name: Build GUI | |
run: tauri build --ci -b $([[ ${{ matrix.platform }} = 'windows-latest' ]] && echo 'msi nsis' || echo 'appimage deb') | |
shell: bash | |
env: | |
VITE_COMMIT: ${{ github.sha }} | |
VITE_VERSION_SUFFIX: -nightly | |
# Seperate artifacts for each platform | |
- name: Upload GUI (Linux) | |
uses: actions/upload-artifact@v4 | |
if: matrix.platform == 'ubuntu-20.04' | |
with: | |
name: GUI-Nightly-Linux | |
path: | | |
target/release/bundle/**/*.deb | |
target/release/bundle/**/*.AppImage | |
- name: Upload GUI (Windows) | |
uses: actions/upload-artifact@v4 | |
if: matrix.platform == 'windows-latest' | |
with: | |
name: GUI-Nightly-Windows | |
path: | | |
target/release/bundle/**/*.msi | |
target/release/bundle/**/*.exe | |
target/release/*.exe |