Skip to content

ci: deb v-strip + rpm spec + homebrew/scoop main-checkout #36

ci: deb v-strip + rpm spec + homebrew/scoop main-checkout

ci: deb v-strip + rpm spec + homebrew/scoop main-checkout #36

Workflow file for this run

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