CI #1016
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: [v/2.x.x] | |
pull_request: | |
branches: [v/2.x.x] | |
schedule: | |
- cron: "24 05 * * *" # Daily at 10:24 PM PDT, 9:24 PM PST. | |
workflow_dispatch: | |
# TODO: generate nightly releases | |
# inputs: | |
# should_bench: | |
# description: "Should Benchmark? (`true`)" | |
# required: true | |
# default: "false" | |
jobs: | |
pre_job: | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/[email protected] | |
with: | |
cancel_others: "true" | |
test: | |
name: Check & Test | |
needs: pre_job | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install Node dependencies | |
run: npm ci --prefix riven/srcgen | |
- name: Run codegen | |
run: node riven/srcgen | |
- name: Install Rust nightly toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
toolchain: stable | |
command: check | |
args: --all-targets --features __proxy | |
- uses: actions-rs/cargo@v1 | |
with: | |
toolchain: stable | |
command: check | |
args: --all-targets --features tracing,__proxy | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all-targets --features nightly,tracing,__proxy | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --all-targets --features nightly,deny-unknown,__proxy | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-fail-fast --features nightly,deny-unknown,__proxy | |
env: | |
RUST_BACKTRACE: 1 | |
RUSTLOG: riven=trace | |
RGAPI_KEY: ${{ secrets.RGAPI_KEY }} | |
- name: Install `wasm-pack` | |
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- working-directory: riven | |
run: wasm-pack test --node -- --features nightly,deny-unknown | |
env: | |
RGAPI_KEY: ${{ secrets.RGAPI_KEY }} | |
lints: | |
name: Lints | |
needs: pre_job | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install nightly toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: rustfmt, clippy | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings |