Workflow file for this run
This file contains hidden or 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: 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 | |
| with: | |
| toolchain: stable | |
| override: true | |
| - 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: Native 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 | |
| "OPENSSL_DIR=C:\Program Files\OpenSSL-Win64" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| "PKG_CONFIG_PATH=C:\Program Files\OpenSSL-Win64\lib\pkgconfig" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| - name: Install CLI Tools via Cargo Binstall | |
| shell: pwsh | |
| env: | |
| GITHUB_TOKEN: ${{ github.token }} | |
| run: | | |
| cargo binstall --no-confirm --force wasm-pack | |
| cargo binstall --no-confirm --force cargo-about | |
| cargo binstall --no-confirm --force "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 |