Skip to content

Conversation

@jserv
Copy link
Contributor

@jserv jserv commented Nov 19, 2025

This improves CI pipeline with toolchain caching, parallel builds, and error handling. It separates lint job to avoid duplication across matrix builds, adding concurrency control, job timeouts, and least-privilege permissions.


Summary by cubic

Refined CI to run faster and fail safer with separate linting, cached toolchains, and parallel matrix builds. Adds cancel-in-progress, strict timeouts, and least-privilege permissions, plus more robust test summarization.

  • Refactors
    • Split out a fast lint job (clang-format/shfmt only) that gates matrix tests.
    • Cache the riscv toolchain per toolchain type; run GNU with full tests and LLVM as build-only.
    • Add workflow concurrency to cancel duplicate runs and set job timeouts.
    • Use least-privilege permissions and actions/checkout@v5.
    • Speed up builds with make -j and stricter error handling (set -euo pipefail).
    • Harden test summary: guard upload/comment if generated, clearer final status, and standardize semaphore results to "Overall: PASS" with criteria line (semaphore:overall=skipped).

Written for commit 26465ce. Summary will update automatically on new commits.

cubic-dev-ai[bot]

This comment was marked as resolved.

@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 20, 2025
@jserv jserv force-pushed the ci-refine branch 2 times, most recently from c81c156 to 67b9bc2 Compare November 20, 2025 03:16
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 20, 2025
This improves CI pipeline with toolchain caching, parallel builds, and
error handling. It separates lint job to avoid duplication across matrix
builds, adding concurrency control, job timeouts, and least-privilege
permissions.

Not to have confusing duplicate semaphore test entries, it consolidates
CI/CD to consistent "Overall: PASS" format.
@github-actions
Copy link

Linmo CI Test Results

Overall Status: ✅ passed
Timestamp: 2025-11-20T03:26:46+00:00

Toolchain Results

Toolchain Build Crash Test Functional
GNU ✅ passed ✅ passed ✅ passed
LLVM ✅ passed ⏭️ skipped ⏭️ skipped

Application Tests

App GNU LLVM
cond ✅ passed ⏭️ skipped
coop ✅ passed ⏭️ skipped
cpubench ✅ passed ⏭️ skipped
echo ✅ passed ⏭️ skipped
hello ✅ passed ⏭️ skipped
mqueues ✅ passed ⏭️ skipped
mutex ✅ passed ⏭️ skipped
pipes ✅ passed ⏭️ skipped
pipes_small ✅ passed ⏭️ skipped
pipes_struct ✅ passed ⏭️ skipped
prodcons ✅ passed ⏭️ skipped
progress ✅ passed ⏭️ skipped
rtsched ✅ passed ⏭️ skipped
semaphore ✅ passed ⏭️ skipped
suspend ✅ passed ⏭️ skipped
test64 ✅ passed ⏭️ skipped
test_libc ✅ passed ⏭️ skipped
timer ✅ passed ⏭️ skipped
timer_kill ✅ passed ⏭️ skipped

Functional Test Details

Test GNU LLVM
mutex:data_consistency ✅ passed ⏭️ skipped
mutex:fairness ✅ passed ⏭️ skipped
mutex:mutual_exclusion ✅ passed ⏭️ skipped
mutex:overall ✅ passed ⏭️ skipped
semaphore:overall ✅ passed ⏭️ skipped

Report generated from test-summary.toml

@jserv jserv merged commit bb01758 into main Nov 20, 2025
4 checks passed
@jserv jserv deleted the ci-refine branch November 20, 2025 03:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants