Skip to content

Update lockfile

Update lockfile #69

Workflow file for this run

name: CI full
on:
push:
branches: [main]
paths-ignore: ["docs/**"]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: public-ci-full-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
linux-full:
runs-on: ubuntu-latest
# Once "Full workspace" (below) is fully green, later steps in this
# job (Daemon E2E, Wire integration, DST lanes, installer
# build-health) will actually run for real for the first time --
# give real headroom for that, matching platform-e2e's own bump.
timeout-minutes: 90
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ github.token }}
- uses: dtolnay/rust-toolchain@2c7215f132e9ebf062739d9130488b56d53c060c # master @ 2026-06-30
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
key: linux-full
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Full workspace
# Daemon integration tests own real watcher/SQLite/network runtimes and
# run in the single-threaded lane below. Running them here as well makes
# several independent multi-daemon scenarios contend in parallel.
#
# --no-fail-fast: surface every failing crate's tests in one run
# rather than stopping at the first one, so a fix doesn't have to
# be discovered and landed one crate at a time across repeated CI
# round-trips.
run: cargo test --no-fail-fast --workspace --exclude yadorilink-daemon --exclude yadorilink-desktop-app
- name: Daemon E2E
# The two monkey-chaos cases are private seed/soak coverage. They run
# in private beta-heat, while every ordinary daemon integration test
# remains in this public, serial correctness lane.
#
# Deliberately WITHOUT --no-fail-fast: this is 90 separate test
# binaries that has never actually run to completion in public CI --
# a private-side baseline run found 37 pre-existing failures across
# many unrelated subsystems and took 111 minutes. Running the full
# suite unconditionally here would make every push spend 90+ minutes
# re-discovering the same known-broken tail instead of catching a
# real new regression quickly. Full-suite triage is tracked as its
# own separate effort, not something every CI run should pay for.
run: >-
cargo test -p yadorilink-daemon --tests --
--test-threads=1
--skip random_concurrent_operations_converge_to_an_identical_file_set
--skip replay_known_failing_seeds
- name: Wire integration
run: |
cargo test --no-fail-fast -p yadorilink-peer-session --test peer_session --test crash_recovery --test dag_two_device_wire_convergence -- --test-threads=1
cargo test --no-fail-fast -p yadorilink-daemon --test watcher_decompose_conformance -- --test-threads=1
- name: DST lanes 0 and 1
run: |
cargo run -p xtask -- dst-lane0
cargo run -p xtask -- dst-lane1
- name: Unsigned Linux installer build-health
run: ./installer/linux/build-deb.sh
platform-e2e:
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0
with:
repo-token: ${{ github.token }}
- uses: dtolnay/rust-toolchain@2c7215f132e9ebf062739d9130488b56d53c060c # master @ 2026-06-30
with:
toolchain: stable
- name: Daemon E2E
# Deliberately WITHOUT --no-fail-fast: see linux-full's own Daemon
# E2E step for why -- this is the same 90-binary suite, never run
# to completion before, with a large known-broken tail. Full-suite
# triage is tracked as its own separate effort.
run: >-
cargo test -p yadorilink-daemon --tests --
--test-threads=1
--skip random_concurrent_operations_converge_to_an_identical_file_set
--skip replay_known_failing_seeds
supply-chain:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@2c7215f132e9ebf062739d9130488b56d53c060c # master @ 2026-06-30
with:
toolchain: stable
- run: cargo install --locked cargo-audit cargo-deny
- run: cargo audit
- run: cargo deny check