ci: deb v-strip + rpm spec + homebrew/scoop main-checkout #36
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUSTFLAGS: "-D warnings" | |
| jobs: | |
| build: | |
| name: Build + Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@1.88 | |
| with: | |
| components: clippy, rustfmt | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: npm install (ts-node binding for cross-language tests) | |
| run: npm install --no-audit --no-fund | |
| working-directory: crates/ts-node | |
| - name: Format check | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: Build | |
| run: cargo build --workspace --all-targets | |
| - name: Unit + bin tests (integration tests under tests/ run on internal CI) | |
| # Workspace integration tests im tests/-Verzeichnis (DCPS | |
| # Self-Match, cross-language conformance, etc.) erwarten ein | |
| # multicast-faehiges DDS-host-network-Setup — auf dem GH-Action | |
| # default runner nicht garantiert. Internal CI (gitlab.sk.eu) | |
| # laeuft sie auf einem PVE-Multicast-Host. Hier nur lib + bin. | |
| # | |
| # `--test-threads=1`: env-var-basierte Tests | |
| # (chaos-clock-skew, factory-singleton DCPS) brauchen | |
| # serielle Ausfuehrung damit env-State nicht ueberlappt. | |
| run: cargo test --workspace --lib --bins -- --test-threads=1 | |
| - name: Doc build (non-blocking) | |
| # Rustdoc-strict-mode bleibt der internen CI vorbehalten; | |
| # public CI prueft hier nur dass der Doc-Generator durchlaeuft. | |
| run: cargo doc --workspace --no-deps | |
| continue-on-error: true | |
| no_std: | |
| name: no_std build (foundation + cdr + qos) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@1.88 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: foundation no_std | |
| run: cargo build -p zerodds-foundation --no-default-features | |
| - name: foundation alloc-only | |
| run: cargo build -p zerodds-foundation --no-default-features --features alloc | |
| - name: cdr no_std | |
| run: cargo build -p zerodds-cdr --no-default-features | |
| - name: cdr alloc-only | |
| run: cargo build -p zerodds-cdr --no-default-features --features alloc | |
| - name: qos no_std | |
| run: cargo build -p zerodds-qos --no-default-features | |
| - name: qos alloc-only | |
| run: cargo build -p zerodds-qos --no-default-features --features alloc | |
| - name: time-service no_std | |
| run: cargo build -p zerodds-time-service --no-default-features | |
| - name: time-service alloc-only | |
| run: cargo build -p zerodds-time-service --no-default-features --features alloc | |
| - name: types no_std | |
| run: cargo build -p zerodds-types --no-default-features | |
| - name: types alloc-only | |
| run: cargo build -p zerodds-types --no-default-features --features alloc |