frontend fixes #1
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
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 |