diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fba8992..6da4c99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,6 +51,34 @@ jobs: - run: cargo fmt --check - run: cargo clippy --all-targets -- -D warnings + integrity: + name: Workspace Integrity + # Catches workspace structure / feature-gate drift early. + # Canonical artifact: ~/lightarchitects/soul/helix/user/standards/workspace-integrity-ci.yml + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + + - name: Configure SOUL git credentials + if: env.NEEDS_SOUL == 'true' + env: + SOUL_TOKEN: ${{ secrets.SOUL_GIT_TOKEN }} + run: | + git config --global credential.helper store + echo "https://gitlab-ci-token:${SOUL_TOKEN}@gitlab.com" > ~/.git-credentials + + - name: cargo metadata (workspace declaration parseable) + run: cargo metadata --format-version 1 --no-deps > /dev/null + + - name: cargo build --workspace --no-default-features + run: cargo build --workspace --no-default-features + + - name: cargo build --workspace --all-features + run: cargo build --workspace --all-features + test: name: Tests runs-on: macos-latest