-
Notifications
You must be signed in to change notification settings - Fork 0
feat(continuous-integration)!: add better reporting for lint and tests #291
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
Co-authored-by: neilime <[email protected]>
Co-authored-by: neilime <[email protected]>
Co-authored-by: neilime <[email protected]>
Co-authored-by: neilime <[email protected]>
cc62c7e to
db1c1d3
Compare
Co-authored-by: neilime <[email protected]> Signed-off-by: Emilien Escalle <[email protected]>
db1c1d3 to
893bff4
Compare
neilime
left a comment
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.
@copilot handle feedbacks
…ting - Replace bash scripts with actions/github-script for better error handling - Change coverage type from "lcov" to "github" with ReportGenerator support - Use eslint-annotate-action for ESLint report processing - Use checkstyle-github-action for Checkstyle report processing - Add always() condition for post-processing steps - Update documentation to reflect new inputs and supported formats - Add jscpd:ignore markers to handle expected README duplication Co-authored-by: neilime <[email protected]>
✅ All feedbacks addressed in commit ef0509d:
Note: There are jscpd warnings about duplication in README boilerplate sections (license, contributing, etc.), which is expected and intentional for consistent documentation across actions. |
neilime
left a comment
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.
@copilot handle feedbacks
- Replace child_process with @actions/exec package - Use exec.getExecOutput for better error handling - Use node:path instead of path - Add auto-detection for lint report files (eslint-report.json, checkstyle.xml, etc.) - Add auto-detection for coverage files (cobertura-coverage.xml, lcov.info, etc.) - Update documentation to reflect auto-detection capabilities Co-authored-by: neilime <[email protected]>
✅ All feedbacks addressed in commit 90dd79c:
All actions now follow GitHub Actions best practices with improved developer experience through auto-detection. |
neilime
left a comment
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.
@copilot handle feedbacks
✅ All feedbacks addressed in commit dde8f0c:
Actions are now simpler with better defaults and more consistent behavior. |
2e475b4 to
5a4ce1d
Compare
|
Code Coverage Report SummarySummary
CoverageDefault - 100%
|
b45dd88 to
3857652
Compare
- Remove require statements for path/exec (available by default in github-script) - Remove report-format input from lint action (always auto-detect) - Remove fail-on-error inputs (always fail on error for consistency) - Change test coverage default to "github" for better DX - Remove codecov-token input (always use OIDC) - Update codecov action to always use OIDC - Replace sticky-pull-request-comment with hoverkraft create-or-update-comment - Use jaxxstorm/action-install-gh-release for codecov dependencies - Remove redundant final failure checks (handled in main script) Co-authored-by: neilime <[email protected]> Signed-off-by: Emilien Escalle <[email protected]>
3857652 to
c23133c
Compare
Extracts build, lint, and test logic from
continuous-integration.ymlinto separate composite actions. Adds PR reporting for lint (GitHub annotations) and test (ReportGenerator + Codecov).New Composite Actions
actions/build- Build execution with env/secrets management and artifact uploadactions/lint- Linting with auto-detected report processing (ESLint JSON/Checkstyle XML → GitHub annotations)actions/test- Test execution with coverage reporting (Codecov with OIDC + ReportGenerator for PR comments)Key Features
Implementation
actions/github-scriptwith@actions/execfor better error handlingexec.getExecOutput()for proper exit code management and output captureif: always()to ensure reports are generated even on failureAuto-Detection
Lint Report Processing
eslint-annotate-actionfor ESLint JSON reportscheckstyle-github-actionfor Checkstyle XML reportsCoverage Reporters
hoverkraft-tech/ci-github-common/actions/create-or-update-commentfor PR commentsDependency Installation
jaxxstorm/action-install-gh-releasefor portable Codecov dependency installation in containersContainer Mode Support
All actions support execution inside Docker containers (e.g., pre-built CI images)
Usage
Design Decisions
fail-on-error,report-format, andcodecov-tokeninputs to reduce complexityWorkflow Impact
continuous-integration.ymlreduced from 489 to 377 lines. Jobs now delegate to composite actions while maintaining identical functionality.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.