Bump the gha-deps group with 4 updates #2600
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: | |
- trunk | |
pull_request: | |
branches: | |
- trunk | |
schedule: | |
- cron: "0 0 * * TUE" | |
jobs: | |
build-rust: | |
name: Build Rust | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -D warnings | |
RUST_BACKTRACE: 1 | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
- name: Set toolchain versions | |
run: | | |
echo "emscripten=$(cat emscripten-toolchain)" >> $GITHUB_OUTPUT | |
id: toolchain_versions | |
- name: Install Rust toolchain | |
uses: artichoke/setup-rust/build-and-test@v1.12.1 | |
with: | |
toolchain: "1.72.1" | |
target: "wasm32-unknown-emscripten" | |
- name: Compile | |
run: cargo build --workspace --verbose | |
- name: Compile tests | |
run: cargo test --workspace --no-run | |
- name: Test | |
run: cargo test --workspace | |
build-webapp: | |
name: Build Webapp | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -D warnings | |
RUST_BACKTRACE: 1 | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
- name: Set toolchain versions | |
run: | | |
echo "emscripten=$(cat emscripten-toolchain)" >> $GITHUB_OUTPUT | |
id: toolchain_versions | |
- name: Install Node.js toolchain | |
uses: actions/setup-node@v4.1.0 | |
with: | |
node-version: "lts/*" | |
# Must install deps before setting up emscripten toolchain since emsdk | |
# includes its own older node which does not support lockfileversion 3 | |
# in package-lock.json. | |
- name: Install Node.js dependencies | |
run: npm ci | |
- name: Install Rust toolchain | |
uses: artichoke/setup-rust/build-and-test@v1.12.1 | |
with: | |
toolchain: "1.72.1" | |
target: "wasm32-unknown-emscripten" | |
- name: Install Ruby toolchain | |
uses: ruby/setup-ruby@7d3497fd78c07c0d84ebafa58d8dac60cd1f0763 # v1.199.0 | |
with: | |
ruby-version: ".ruby-version" | |
bundler-cache: true | |
- name: Install Emscripten toolchain | |
uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 | |
with: | |
version: ${{ steps.toolchain_versions.outputs.emscripten }} | |
no-cache: true | |
- name: Verify emcc version | |
run: emcc -v | |
- name: Compile Wasm | |
run: ruby scripts/build-wasm.rb --release --verbose | |
- name: Build Webapp | |
run: npm run build | |
rust: | |
name: Lint and format Rust | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -D warnings | |
RUST_BACKTRACE: 1 | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
- name: Set toolchain versions | |
run: | | |
echo "emscripten=$(cat emscripten-toolchain)" >> $GITHUB_OUTPUT | |
id: toolchain_versions | |
- name: Install Rust toolchain | |
uses: artichoke/setup-rust/lint-and-format@v1.12.1 | |
with: | |
toolchain: "1.72.1" | |
- name: Install emscripten target | |
run: rustup target add wasm32-unknown-emscripten | |
- name: Install Emscripten toolchain | |
uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 | |
with: | |
version: ${{ steps.toolchain_versions.outputs.emscripten }} | |
- name: Verify emcc version | |
run: emcc -v | |
- name: Check formatting | |
run: cargo fmt --check | |
- name: Lint with Clippy | |
run: cargo clippy --workspace --all-features --all-targets | |
- name: Lint with Clippy on emscripten target | |
run: cargo clippy --workspace --all-features --all-targets --target wasm32-unknown-emscripten | |
ruby: | |
name: Lint and format Ruby | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
- name: Install Ruby toolchain | |
uses: ruby/setup-ruby@7d3497fd78c07c0d84ebafa58d8dac60cd1f0763 # v1.199.0 | |
with: | |
ruby-version: ".ruby-version" | |
bundler-cache: true | |
- name: Lint and check formatting with Rubocop | |
run: bundle exec rubocop --format github | |
js-ts: | |
name: Lint and format JavaScript and TypeScript | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
- name: Install Node.js toolchain | |
uses: actions/setup-node@v4.1.0 | |
with: | |
node-version: "lts/*" | |
- name: Install Nodejs toolchain | |
run: npm ci | |
- name: Create stubs for Wasm Sources | |
run: | | |
touch src/wasm/playground.js | |
touch src/wasm/playground.wasm | |
- name: Compile with TypeScript | |
run: npx tsc --extendedDiagnostics --listFiles --listEmittedFiles | |
- name: Lint with eslint | |
run: npm run lint | |
text: | |
name: Lint and format text | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4.2.2 | |
- name: Install Node.js toolchain | |
uses: actions/setup-node@v4.1.0 | |
with: | |
node-version: "lts/*" | |
- name: Install Nodejs toolchain | |
run: npm ci | |
- name: Lint and check formatting with prettier | |
run: npx prettier --check '**/*' | |
- name: Lint YAML sources with yamllint | |
run: | | |
yamllint --version | |
echo "Linting YAML sources with yamllint ..." | |
yamllint --strict --format github . | |
echo "OK" |