ci: add Rust checks and executable size gates#4
Merged
Conversation
Why: - Executable size matters for this project and should be checked automatically on pull requests. - The repository also needs baseline Rust CI coverage before main progresses through PRs. What: - Add a GitHub Actions CI workflow for cargo fmt, clippy, and tests. - Add Linux, macOS, and Windows release executable-size checks with platform-specific byte thresholds. - Update progress tracking and task notes for auto-check-executable-sizes. Impact: - Pull requests and pushes to main now run Rust CI and size gates. - Local release binary size is 676032 bytes, below the Linux threshold of 900000. - Verified with cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, cargo test --locked, cargo build --release --locked, and the progress validation command. - actionlint was not available locally. Prompt: - Now go on to auto-check-executable-sizes. - Yes, but I want general CI checks for Rust too.
Why: - Workflow dependencies should use the latest compatible stable action tags. - actions/checkout v7 is available and should be used instead of the older v4 tag. What: - Update CI jobs to use actions/checkout@v7. - Make progress validation require checkout v7. - Update task notes to record the latest-action requirement. Impact: - CI behavior stays the same while using the current checkout action. - No code or dependency changes; release executable size remains 676032 bytes. - Verified actions/checkout v7 via git ls-remote tags. - Verified with progress validation and git diff --check. Prompt: - action/checkout has v7, but you ignore the instructions and stick to using v4.
Why: - GitHub Actions run 28735183007 reported actual executable sizes for all target platforms. - The previous thresholds assumed Windows would be largest, but the run showed Windows is smallest. What: - Set Linux threshold to 850000 based on measured size 768480. - Set macOS threshold to 750000 based on measured size 676032. - Set Windows threshold to 550000 based on measured size 476672. - Update progress validation and task notes to document the observed-size basis. Impact: - Size gates now reflect real CI runner output with modest headroom. - No code or dependency changes; local release executable size remains 676032 bytes. - Verified with progress validation and git diff --check. Prompt: - windows exe is the smallest, you better reflect these on the thresholds.
Why: - CI should run periodically without waiting for code changes. - The workflow should also be runnable on demand from GitHub Actions. What: - Add weekly Monday 00:00 UTC schedule trigger. - Add GitHub Actions manual workflow_dispatch trigger. - Update progress validation and task notes to require both triggers. Impact: - CI runs on pull requests, pushes to main, weekly schedule, and manual dispatch. - No code or dependency changes; local release executable size remains 676032 bytes. - Verified with progress validation and git diff --check. - actionlint was not available locally. Prompt: - I want ci (i) periodically run (once per week) and (ii) run on MY discretion (dispatch_workflow).
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Triggers
Size thresholds
Based on GitHub Actions run 28735183007:
Validation
Note: actionlint was not installed locally.