[CI] Update CI to work with workspaces

This commit is contained in:
Douile 2023-10-17 13:05:02 +01:00
parent 7d4649b6f5
commit d34d615784
No known key found for this signature in database
GPG key ID: D94ABB9BCCB5A6EA
5 changed files with 23 additions and 18 deletions

7
.github/labeler.yml vendored
View file

@ -5,10 +5,13 @@ ci:
- .pre-commit-config.yaml - .pre-commit-config.yaml
protocol: protocol:
- src/protocols/** - crates/lib/src/protocols/**
game: game:
- src/games/** - crates/lib/src/games/**
cli:
- crates/cli/**
crate: crate:
- Cargo.toml - Cargo.toml

View file

@ -31,9 +31,9 @@ jobs:
shared-key: "cargo-deps" shared-key: "cargo-deps"
cache-targets: false cache-targets: false
- name: Run Build - name: Run Build
run: cargo build --verbose --bins --lib --examples --all-features run: cargo check --verbose --workspace --bins --lib --examples --all-features
- name: Run Tests - name: Run Tests
run: cargo test --verbose --bins --lib --examples --all-features run: cargo test --verbose --workspace --bins --lib --examples --all-features
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [ "build_first" ] needs: [ "build_first" ]
@ -61,9 +61,9 @@ jobs:
shared-key: "cargo-deps" shared-key: "cargo-deps"
cache-targets: false cache-targets: false
- name: Run Build - name: Run Build
run: cargo build --verbose --bins --lib ${{ matrix.build_type }} run: cargo check --workspace --verbose --bins --lib ${{ matrix.build_type }}
build_msrv: build_msrv:
name: "Build using MSRV" name: "Build using MSRV (lib only)"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@ -74,7 +74,7 @@ jobs:
toolchain: 1.65.0 toolchain: 1.65.0
override: true override: true
- name: Run MSRV - name: Run MSRV
run: cargo build run: cargo check -p gamedig
formatting: formatting:
name: "Check code formatting" name: "Check code formatting"
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -105,10 +105,10 @@ jobs:
uses: actions-rs/clippy-check@v1 uses: actions-rs/clippy-check@v1
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
args: --bins --lib --examples --all-features args: --workspace --bins --lib --examples --all-features
if: ${{ !env.ACT }} # skip during local actions testing if: ${{ !env.ACT }} # skip during local actions testing
- name: Run clippy (local) - name: Run clippy (local)
run: cargo clippy --verbose --bins --lib --examples --all-features run: cargo clippy --workspace --verbose --bins --lib --examples --all-features
if: ${{ env.ACT }} # only run during local actions testing if: ${{ env.ACT }} # only run during local actions testing
doc: doc:
name: "Check rustdoc" name: "Check rustdoc"
@ -121,6 +121,6 @@ jobs:
shared-key: "cargo-deps" shared-key: "cargo-deps"
cache-targets: false cache-targets: false
- name: "Run cargo doc" - name: "Run cargo doc"
run: cargo doc run: cargo doc --workspace
env: env:
RUSTDOCFLAGS: "-D warnings" RUSTDOCFLAGS: "-D warnings"

View file

@ -39,7 +39,7 @@ jobs:
# Calculate how many of those games we have definitions for # Calculate how many of those games we have definitions for
rust_games_count=0 rust_games_count=0
for game in $node_games; do for game in $node_games; do
if grep "\"$game\" *=>" ./src/games/definitions.rs; then if grep "\"$game\" *=>" ./crates/lib/src/games/definitions.rs; then
rust_games_count=$(( rust_games_count + 1 )) rust_games_count=$(( rust_games_count + 1 ))
fi fi
done done

View file

@ -8,25 +8,25 @@ repos:
language: system language: system
files: '[.]rs$' files: '[.]rs$'
pass_filenames: false pass_filenames: false
entry: rustup run --install nightly-2023-07-09 cargo-clippy -- -- -D warnings entry: rustup run --install nightly-2023-07-09 cargo-clippy -- --workspace --all-features -- -D warnings
- id: build-no-features - id: build-no-features
name: Check crate build with no features name: Check crate build with no features
language: system language: system
files: '[.]rs$' files: '[.]rs$'
pass_filenames: false pass_filenames: false
entry: cargo build --no-default-features entry: cargo check --workspace --no-default-features
- id: build-all-features - id: build-all-features
name: Check crate builds with all features name: Check crate builds with all features
language: system language: system
files: '[.]rs$' files: '[.]rs$'
pass_filenames: false pass_filenames: false
entry: cargo build --all-features --lib --bins --examples entry: cargo check --workspace --all-features --lib --bins --examples
- id: test - id: test
name: Check tests pass name: Check tests pass
language: system language: system
files: '[.]rs$' files: '[.]rs$'
pass_filenames: false pass_filenames: false
entry: cargo test --bins --lib --examples --all-features entry: cargo test --workspace --bins --lib --examples --all-features
- id: format - id: format
name: Check rustfmt name: Check rustfmt
language: system language: system
@ -34,11 +34,11 @@ repos:
pass_filenames: false pass_filenames: false
entry: rustup run --install nightly-2023-07-09 cargo-fmt --check entry: rustup run --install nightly-2023-07-09 cargo-fmt --check
- id: msrv - id: msrv
name: Check MSRV compiles name: Check MSRV compiles (lib only)
language: system language: system
files: '[.]rs$' files: '[.]rs$'
pass_filenames: false pass_filenames: false
entry: rustup run --install 1.65 cargo build entry: rustup run --install 1.65 cargo check -p gamedig
- id: docs - id: docs
name: Check rustdoc compiles name: Check rustdoc compiles
language: system language: system

View file

@ -3,4 +3,6 @@ name = "gamedig-workspace"
members = [ members = [
"crates/cli", "crates/cli",
"crates/lib", "crates/lib",
] ]
# Edition 2021, uses resolver = 2
resolver = "2"