Skip to content

WIP

WIP #3

name: Build Windows Bundle
on:
workflow_dispatch: {}
push:
jobs:
build:
runs-on: windows-latest
env:
CARGO_TERM_COLOR: always
WASM_BINDGEN_CLI_VERSION: "0.2.100"
BINSTALL_DISABLE_TELEMETRY: "true"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Add wasm target
run: rustup target add wasm32-unknown-unknown
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
C:\Users\runneradmin\.cargo\registry
C:\Users\runneradmin\.cargo\git
target
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: npm
cache-dependency-path: |
package-lock.json
frontend/package-lock.json
- name: Setup Cargo Binstall
uses: cargo-bins/cargo-binstall@main
- name: Install Dependencies
shell: pwsh
run: |
winget install --id LLVM.LLVM -e --accept-package-agreements --accept-source-agreements
winget install --id Kitware.CMake -e --accept-package-agreements --accept-source-agreements
winget install --id OpenSSL.OpenSSL -e --accept-package-agreements --accept-source-agreements
winget install --id WebAssembly.Binaryen -e --accept-package-agreements --accept-source-agreements
winget install --id GnuWin32.PkgConfig -e --accept-package-agreements --accept-source-agreements
cargo binstall --no-confirm wasm-pack
cargo binstall --no-confirm cargo-about
cargo binstall --no-confirm "wasm-bindgen-cli@$env:WASM_BINDGEN_CLI_VERSION"
- name: Build Windows Bundle
shell: pwsh
run: npm run build-desktop
- name: Upload Windows Bundle
uses: actions/upload-artifact@v4
with:
name: graphite-windows-bundle
path: target/release/Graphite