atomicbeef 0907ec1d94
Use a SystemSet for system ordering (#5)
I ran into an issue when trying to add the transform propagation systems
to a schedule more than once. The app would panic because there was more
than one instance of `propagate_transforms::<P>` and
`recenter_transform_on_grid::<P>` in the system graph, so Bevy didn't
know how to actually resolve the dependencies. By using a `SystemSet`,
we can avoid this issue nicely.

Unfortunately, I couldn't come up with a good name for the set, so I
decided to stick the definition inside the `build()` method itself. That
way at least the poor naming won't be exposed 😛. It still feels a little
icky to me though.

---------

Co-authored-by: Aevyrie <aevyrie@gmail.com>
Co-authored-by: Pyxrs <simplycmd00@gmail.com>
2023-11-10 07:55:23 +00:00

72 lines
1.8 KiB
YAML

name: CI
on:
pull_request:
push:
branches:
- main
jobs:
setup:
runs-on: ubuntu-latest
steps:
- name: Update Packages
run: sudo apt-get update -yq
- name: Install dependencies
run: sudo apt-get install -yq --no-install-recommends libudev-dev libasound2-dev libxcb-composite0-dev
format:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: rustup component add rustfmt
- run: cargo fmt --all -- --check
check:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo check --all-features
check-no-defaults:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo check --no-default-features
clippy:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: rustup component add clippy
- run: cargo clippy --all-features -- -D warnings
doc:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo doc --all-features
env:
RUSTDOCFLAGS: -D warnings
test:
runs-on: ubuntu-latest
needs: [setup]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.0
- run: cargo test --all-features