Skip to content

frontend fixes

frontend fixes #1

Workflow file for this run

name: CI
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
workflow_dispatch:
jobs:
format_client:
name: Format client
runs-on: ubuntu-latest
defaults:
run:
working-directory: client
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: "yarn"
cache-dependency-path: "client/yarn.lock"
# Always install the version specified in yarn.lock
- name: Install prettier
run: |
prettier_version=$(awk "/^prettier/{getline; print}" yarn.lock | cut -d "\"" -f 2)
npm i -g prettier@$prettier_version
- name: Check format
run: yarn check-format
format_server:
runs-on: ubuntu-latest
name: Format server
defaults:
run:
working-directory: server
steps:
- uses: actions/checkout@v3
- name: Check format
run: cargo fmt --check
format_wasm:
runs-on: ubuntu-latest
name: Format WASM
defaults:
run:
working-directory: wasm
steps:
- uses: actions/checkout@v3
- name: Check format
run: cargo fmt --check
clippy_server:
runs-on: ubuntu-latest
name: Clippy Server
defaults:
run:
working-directory: server
steps:
- uses: actions/checkout@v3
- name: Add clippy
run: rustup component add clippy
- name: Check clippy warnings
run: cargo clippy --all-targets -- -D warnings
clippy_wasm:
runs-on: ubuntu-latest
name: Clippy WASM
defaults:
run:
working-directory: wasm
steps:
- uses: actions/checkout@v3
- name: Add clippy
run: rustup component add clippy
- name: Check clippy warnings
run: cargo clippy --all-targets -- -D warnings
build:
name: Build
runs-on: ubuntu-latest
needs:
[format_client, format_server, format_wasm, clippy_server, clippy_wasm]
defaults:
run:
working-directory: client
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: "yarn"
cache-dependency-path: "client/yarn.lock"
- name: Sync rust-toolchain
run: rustc --version
- uses: Swatinem/rust-cache@v2
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Setup
run: yarn setup
# This confirms that there are no changes after setup script runs
- name: Check git status
run: git status --porcelain | wc -l | grep -q -w "0"
- name: Build
run: yarn build