add CI pipeline for pull requests (prettier, tsc, lint, unit tests, sonar) #52
Labels
No labels
bug
dependencies
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
openrn/react-native-logging-tools#52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Checklist
has not been requested before
exist
Feature Description
Add a Forgejo Actions CI workflow that runs automatically on every pull request
targeting the
masterbranch. The pipeline enforces code quality gates beforemerging by running formatting, type-checking, linting, unit tests, and static
analysis.
Problem Statement
Currently there is no automated quality gate on pull requests. This means
formatting regressions, TypeScript errors, lint violations, or failing tests can
be merged undetected.
Proposed Solution
Introduce
.forgejo/workflows/pr.yamlwith the following jobs (all running on aDocker runner using a shared Node/Yarn CI image):
prettieryarn qa:prettier:checktscyarn qa:tsc:version+yarn qa:tsclintyarn qa:lintunit-testingyarn qa:unit_test+ uploadtest-report.xml/coverage/lcov.infoas artifactsonarsonar.pullrequest.*parametersunit-testingThe SonarQube step consumes the Jest artifact (test report + lcov coverage) and
runs a PR-scoped analysis so results are decorated directly on the pull request.
Use Case
Any contributor opening a pull request against
mastergets immediate feedbackon:
Alternatives Considered
Running checks only on
masterpost-merge (current state viamaster.yaml)catches issues too late and forces remediation commits on the main branch.
Examples
Implementation Ideas
The workflow file is ready at
.forgejo/workflows/pr.yaml. The onlyprerequisite is that the
SONAR_TOKENsecret is configured in the repositorysettings.
Additional Context
git.van-hemmen.com/actions/sindri:ci-26.8.1git.van-hemmen.com/guillaumehemmen/sonar-scanner:latestdevandmasterbranches.feat: add CI pipeline for pull requests (prettier, tsc, lint, unit tests, sonar)to add CI pipeline for pull requests (prettier, tsc, lint, unit tests, sonar)GuillaumeHemmen referenced this issue2026-04-10 11:15:36 +00:00