diff --git a/.github/scripts/run-branch-build.sh b/.github/scripts/run-branch-build.sh new file mode 100644 index 00000000..0da4872f --- /dev/null +++ b/.github/scripts/run-branch-build.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e # Fail if any command fails + +CARGO_PROJECT_FILES=( agb-*/Cargo.toml agb/Cargo.toml examples/*/Cargo.toml book/games/*/Cargo.toml ) + +for CARGO_PROJECT_FILE in "${CARGO_PROJECT_FILES[@]}"; do + PROJECT_DIR=$(dirname "$CARGO_PROJECT_FILE") + + echo "Checking project $PROJECT_DIR" + (cd "$PROJECT_DIR" && cargo build) + + if echo "$PROJECT_DIR" | grep -qE '^agb'; then + echo "Running clippy on $PROJECT_DIR" + (cd "$PROJECT_DIR" && cargo clippy) + + echo "Testing $PROJECT_DIR in debug mode" + (cd "$PROJECT_DIR" && cargo test) + + echo "Testing $PROJECT_DIR and release mode" + (cd "$PROJECT_DIR" && cargo test --release) + fi +done \ No newline at end of file