CI #1507
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: | |
pull_request: | |
schedule: | |
- cron: '30 5 * * *' | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macOS-latest ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build | |
run: cargo build | |
- name: Build (release) | |
run: cargo build --release | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install xvfb and dependencies | |
run: sudo apt-get --yes install xvfb libxkbcommon-x11-0 | |
- name: Start X server and run tests | |
run: xvfb-run --auto-servernum cargo test | |
- name: Start X server and run tests in release mode | |
run: xvfb-run --auto-servernum cargo test --release | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Clippy | |
run: cargo clippy | |
fmt: | |
name: Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install nightly toolchain | |
run: rustup toolchain install nightly --component rustfmt --allow-downgrade | |
- name: Formatting | |
run: cargo +nightly fmt -- --check | |
doc: | |
name: Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Documentation | |
run: cargo doc --no-deps | |
build_wasm32: | |
name: Build (wasm32) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup wasm32 toolchain | |
run: rustup target add wasm32-unknown-unknown | |
- name: Build | |
run: cargo build --target=wasm32-unknown-unknown | |
- name: Build (no features) | |
run: cargo build --target=wasm32-unknown-unknown --no-default-features | |
- name: Build (no features, release) | |
run: cargo build --target=wasm32-unknown-unknown --no-default-features --release | |
- name: Clippy | |
run: cargo clippy --target=wasm32-unknown-unknown | |
- name: Install utilities | |
run: cargo install just wasm-bindgen-cli | |
- name: Build WebGL example | |
run: just build-example-webgl | |
build_features_disabled: | |
name: Build (features disabled) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macOS-latest ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build (no features) | |
run: cargo build --no-default-features | |
- name: Build (no features, release) | |
run: cargo build --no-default-features --release | |
test_features_disabled: | |
name: Test (features disabled) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install xvfb and dependencies | |
run: sudo apt-get --yes install xvfb libxkbcommon-x11-0 | |
- name: Start X server and run tests | |
run: xvfb-run --auto-servernum cargo test --no-default-features --lib --examples --tests | |
- name: Start X server and run tests (release) | |
run: xvfb-run --auto-servernum cargo test --release --no-default-features --lib --examples --tests |