-
Notifications
You must be signed in to change notification settings - Fork 59
ci: Add GitHub Actions workflows for CI and Release #1208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Add CI workflow with: - cargo check - cargo clippy (with -D warnings) - rustfmt check - tests (on Ubuntu, macOS, Windows) - cargo build --release Add Release workflow with: - Automatic release creation on version tags - Cross-platform binary uploads (9 targets) - Supports Linux, macOS, and Windows
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds GitHub Actions workflows to automate continuous integration and release processes for the rust-code-analysis project. The CI workflow enforces code quality through automated checks on every push and pull request, while the release workflow streamlines the creation of multi-platform binary releases.
Changes:
- Added comprehensive CI workflow with format checking, linting, testing, and build verification across Ubuntu, macOS, and Windows
- Added automated release workflow that builds and publishes binaries for 9 platform targets on version tag pushes
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.github/workflows/ci.yml |
Implements automated quality gates including cargo check, clippy linting with warnings as errors, formatting validation, multi-platform testing, and release build verification |
.github/workflows/release.yml |
Automates GitHub release creation and multi-platform binary distribution for Linux, macOS, and Windows targets using cross-compilation toolchains |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few minor changes for this PR from my side.
@marco-c do you have any opinions? Can we remove the old CI?
| name: Check | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use the latest checkout version. Please checks that all the other GitHub Actions versions are updated too. If we do not want to do that manually in the future, we can add to this PR a dependabot file that updates actions and crates.io dependencies for us
|
Ok, no problem, I will close this one. It is not necessary to merge with upstream. |
|
This PR is failing CI due to 18 pre-existing clippy warnings in the upstream codebase (e.g., These warnings are not introduced by this PR - they exist in the current Dependency: This PR requires #1211 to be merged first for CI to pass. What this PR actually changes:
Once #1211 is merged, this PR's CI should pass. |
Summary
Add GitHub Actions workflows for continuous integration and automated releases.
CI Workflow (
.github/workflows/ci.yml)Runs on push/PR to master/main branches:
cargo check --all-featurescargo clippy -- -D warningscargo fmt --checkRelease Workflow (
.github/workflows/release.yml)Triggers on version tags (
v*) or manual dispatch:Benefits
This PR is part of splitting #1206 into separate focused PRs as requested.