Visibility Layers #1325
Workflow file for this run
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: Rust | |
on: | |
pull_request: | |
merge_group: | |
push: # Run CI on the main branch after every merge. This is important to fill the GitHub Actions cache in a way that pull requests can see it | |
branches: | |
- main | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
valence-fmt: | |
strategy: | |
fail-fast: true | |
matrix: | |
platform: [ubuntu-latest] | |
style: [default] | |
rust: | |
- nightly-2023-06-20 | |
include: | |
- style: default | |
flags: "" | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain and cache | |
uses: actions-rust-lang/[email protected] | |
with: | |
toolchain: "nightly-2023-06-20" | |
components: "rustfmt" | |
- name: "Copy playground" | |
run: cp tools/playground/src/playground.template.rs tools/playground/src/playground.rs | |
- name: cargo fmt | |
run: cargo fmt --all -- --check | |
valence-clippy: | |
strategy: | |
fail-fast: true | |
matrix: | |
platform: [windows-latest, macos-latest, ubuntu-latest] | |
style: [default] | |
rust: | |
- stable | |
include: | |
- style: default | |
flags: "" | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain and cache | |
uses: actions-rust-lang/[email protected] | |
with: | |
toolchain: "stable" | |
components: "clippy" | |
- name: "Copy playground" | |
run: cp tools/playground/src/playground.template.rs tools/playground/src/playground.rs | |
- name: Install Dependencies (Linux) | |
run: sudo apt-get update && sudo apt-get install -y libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libclang-dev libgtk-3-dev | |
if: matrix.platform == 'ubuntu-latest' | |
- name: Clippy | |
run: cargo clippy --workspace ${{ matrix.flags }}--no-deps --all-features --all-targets -- -D warnings | |
valence-tests: | |
strategy: | |
fail-fast: true | |
matrix: | |
platform: [windows-latest, macos-latest, ubuntu-latest] | |
style: [default] | |
rust: | |
- stable | |
include: | |
- style: default | |
flags: "" | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain and cache | |
uses: actions-rust-lang/[email protected] | |
- name: "Copy playground" | |
run: cp tools/playground/src/playground.template.rs tools/playground/src/playground.rs | |
- name: Install Dependencies (Linux) | |
run: sudo apt-get update && sudo apt-get install -y libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libclang-dev libgtk-3-dev | |
if: matrix.platform == 'ubuntu-latest' | |
- name: Run tests | |
run: cargo test --workspace ${{ matrix.flags }}--all-features --all-targets | |
- name: Run doctests | |
run: cargo test --workspace ${{ matrix.flags }}--all-features --doc | |
- name: Run valence_nbt tests without preserve_order feature | |
run: cargo test -p valence_nbt --all-targets | |
extractor-tests: | |
strategy: | |
fail-fast: true | |
matrix: | |
platform: [windows-latest, macos-latest, ubuntu-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v2 | |
with: | |
distribution: "zulu" | |
java-version: "17" | |
- name: Test Build | |
run: ./gradlew build | |
working-directory: extractor | |
valence-docs: | |
strategy: | |
fail-fast: true | |
matrix: | |
platform: [windows-latest, macos-latest, ubuntu-latest] | |
style: [default] | |
rust: | |
- stable | |
include: | |
- style: default | |
flags: "" | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain and cache | |
uses: actions-rust-lang/[email protected] | |
- name: "Copy playground" | |
run: cp tools/playground/src/playground.template.rs tools/playground/src/playground.rs | |
- name: Install Dependencies (Linux) | |
run: sudo apt-get update && sudo apt-get install -y libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libclang-dev libgtk-3-dev | |
if: matrix.platform == 'ubuntu-latest' | |
- name: Validate documentation | |
run: cargo doc --workspace ${{ matrix.flags }}--no-deps --all-features --document-private-items |