Skip to content

build(ci): add extra checks to test workflow #266

build(ci): add extra checks to test workflow

build(ci): add extra checks to test workflow #266

Workflow file for this run

name: 'Tests on PR'
on: [pull_request]
jobs:
js-build-pretier:
name: Check build & Prettier
runs-on: ubuntu-latest
concurrency:
group: tests-${{ github.ref }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules-v1
with:
path: |
node_modules
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
- name: Yarn install
run: yarn --prefer-offline --frozen-lockfile --network-timeout 1000000 install
- name: Check JS build
run: yarn build
- name: Run prettier
run: |
yarn lint:prettier
test-tauri:
name: Test Tauri build
runs-on: windows-latest
concurrency:
group: tests-tauri-build-${{ github.ref }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules-v1
with:
path: |
node_modules
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
# - name: Update to Evergreen WebView2 Runtime
# shell: pwsh
# # See here: https://developer.microsoft.com/en-us/microsoft-edge/webview2/
# # https://github.com/actions/runner-images/issues/9538
# run: |
# Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/p/?LinkId=2124703' -OutFile 'setup.exe'
# Start-Process -FilePath setup.exe -Verb RunAs -Wait
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- name: Yarn install FE dependencies
run: yarn --prefer-offline --frozen-lockfile --network-timeout 1000000 install
- name: Build tauri App
uses: tauri-apps/tauri-action@v0
- name: Cargo Check
run: cargo check
working-directory: src-tauri
- name: Cargo Fmt
run: cargo fmt -- --check
working-directory: src-tauri
- name: Cargo Clippy
run: cargo clippy -- -D warnings
working-directory: src-tauri
- name: Run Rust tests
run: cargo test --package coh3-stats-desktop-app --lib
working-directory: src-tauri
- name: Install tauri-driver
run: |
cargo install tauri-driver
# - name: debug commands
# run: |
# dir src-tauri/target/release/
# If the test fails with invalid MS Edge browser it's highly possible a bug at GitHub
# https://github.com/actions/runner-images/issues/9538
- name: Run e2e tests
run: |
yarn test:e2e
- name: Upload Tauri app artifacts
uses: actions/upload-artifact@v4
with:
name: coh3-stats-desktop-app
path: src-tauri/target/release/bundle/*