Complete rewrite of the NodeEngine
#163
Workflow file for this run
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
permissions: | |
contents: read | |
on: | |
push: | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
name: test | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.layer }} / ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest, windows-latest, ubuntu-latest] | |
layer: [client, server] | |
steps: | |
- name: Checkout codebase | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 21 | |
cache: "yarn" | |
- name: Setup Yarn | |
run: npm install --global yarn && yarn | |
- name: Setup .NET 8 | |
if: matrix.layer == 'server' | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.100 | |
- name: Install client dependencies | |
if: matrix.layer == 'client' | |
run: yarn | |
working-directory: ./src-client | |
- name: Install server dependencies | |
if: matrix.layer == 'server' | |
run: dotnet restore | |
working-directory: ./src-csharp | |
- name: Build client | |
if: matrix.layer == 'client' | |
run: yarn run build-client | |
- name: Build server | |
if: matrix.layer == 'server' | |
run: dotnet build --configuration Release | |
working-directory: ./src-csharp | |
- name: Test client | |
if: matrix.layer == 'client' | |
run: yarn run test-client | |
- name: Test server | |
if: matrix.layer == 'server' | |
run: yarn run test-server | |
coverage: | |
runs-on: ubuntu-latest | |
name: code coverage | |
steps: | |
- name: Checkout codebase | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 21 | |
cache: "yarn" | |
- name: Setup Yarn | |
run: npm install --global yarn && yarn | |
- name: Setup .NET 8 | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.100 | |
# - name: Setup Rust | |
# uses: dtolnay/rust-toolchain@stable | |
# with: | |
# components: llvm-tools-preview | |
# - name: Setup cargo-llvm-cov | |
# uses: taiki-e/install-action@cargo-llvm-cov | |
# - name: Generate Cargo.lock | |
# run: cargo generate-lockfile | |
# working-directory: ./src-tauri | |
# - name: Install system dependencies | |
# run: | | |
# chmod +x ./scripts/deps.sh | |
# ./scripts/deps.sh | |
- name: Install client dependencies | |
run: yarn | |
working-directory: ./src-client | |
- name: Install server dependencies | |
run: dotnet restore | |
working-directory: ./src-csharp | |
- name: Build client | |
run: yarn run build-client | |
- name: Build server | |
run: dotnet build --configuration Release | |
working-directory: ./src-csharp | |
- name: Test client | |
run: yarn run test-client | |
- name: Test server | |
run: yarn run test-server | |
# - name: Configure sidecar | |
# run: yarn run build-server | |
# - name: Test packager | |
# run: yarn run test-packager | |
- name: Upload coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} |