Skip to content

WIP

WIP #229

Workflow file for this run

name: Windows
on:
push:
branches:
- trunk
- main
pull_request:
branches:
- trunk
- main
workflow_dispatch:
env:
CTEST_OUTPUT_ON_FAILURE: 1
jobs:
build:
strategy:
matrix:
include:
- os: "windows-2022"
config: vcpkg-VS-17
build: VS-17-Debug
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Create short workspace mapping
run: |
$winPath = (Get-Location).Path
cmd /c ("subst T: ""{0}""" -f $winPath)
Add-Content -Path $env:GITHUB_ENV -Value "SHORT_WORKSPACE=T:/"
- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Cache vcpkg registry
uses: actions/cache@v4
with:
path: |
build/vcpkg_installed/
build/vcpkg_packages/
key: ${{ runner.os }}-vcpkg-${{ hashFiles('./vcpkg*.json') }}
restore-keys: |
${{ runner.os }}-vcpkg-
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: "17"
distribution: "temurin"
- name: Install rust dependencies
run: |
Set-Location "$env:SHORT_WORKSPACE"
& cargo install wasm-tools wit-bindgen-cli
if ($LASTEXITCODE -ne 0) {
Write-Host "cargo install exited with code $LASTEXITCODE (ignored)."
$global:LASTEXITCODE = 0
}
- name: configure
run: |
Set-Location "$env:SHORT_WORKSPACE"
& cmake --preset ${{ matrix.config }}
- name: build
run: |
Set-Location "$env:SHORT_WORKSPACE"
& cmake --build --preset ${{ matrix.build }}
- name: test
working-directory: build
run: |
Set-Location "$env:SHORT_WORKSPACE/build"
& ctest -C Debug -VV
- name: Remove short workspace mapping
if: always()
run: |
cmd /c "subst T: /D" 2>$null
- name: Upload error logs
if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-logs
path: ./**/*.log