#52 - add CI pipeline for pull requests (prettier, tsc, lint, unit tests, sonar) #53

Merged
GuillaumeHemmen merged 2 commits from 52-add-CI-pipeline-for-pull-requests into master 2026-04-10 11:26:13 +00:00

Description

Add a Forgejo Actions CI workflow (.forgejo/workflows/pr.yaml) that runs automatically on every pull request targeting master. The pipeline enforces code quality gates before merging by running Prettier formatting checks, TypeScript type-checking, ESLint linting, Jest unit tests, and SonarQube PR analysis in parallel (except Sonar, which depends on the unit-testing job to consume the coverage artifact).

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Refactoring (no functional changes)
  • CI/CD update

Fixes #52

Testing

  • Unit tests added/updated
  • Manual testing performed
  • Tested on iOS
  • Tested on Android

N/A — this PR adds a CI workflow file only. Validation will be confirmed when the pipeline triggers on the first PR after merge.

Breaking Changes

None.

Checklist

  • Code follows the project's code style (Prettier, ESLint)
  • TypeScript types are properly defined
  • Tests pass locally
  • Documentation updated (if needed)
  • CI checks pass (Prettier, TypeScript, Lint, Tests, Sonar)

Additional Notes

  • All quality jobs (prettier, tsc, lint, unit-testing) run in parallel on the git.van-hemmen.com/actions/sindri:ci-26.8.1 Docker image.
  • The sonar job runs after unit-testing and downloads the Jest artifact (test-report.xml + coverage/lcov.info) to feed into a PR-scoped SonarQube analysis using sonar.pullrequest.* parameters.
  • Companion workflows for dev and master branches already exist; this PR closes the gap for pull requests.
## Description Add a Forgejo Actions CI workflow (`.forgejo/workflows/pr.yaml`) that runs automatically on every pull request targeting `master`. The pipeline enforces code quality gates before merging by running Prettier formatting checks, TypeScript type-checking, ESLint linting, Jest unit tests, and SonarQube PR analysis in parallel (except Sonar, which depends on the unit-testing job to consume the coverage artifact). ## Type of Change - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update - [ ] Performance improvement - [ ] Refactoring (no functional changes) - [x] CI/CD update ## Related Issue Fixes #52 ## Testing - [ ] Unit tests added/updated - [ ] Manual testing performed - [ ] Tested on iOS - [ ] Tested on Android N/A — this PR adds a CI workflow file only. Validation will be confirmed when the pipeline triggers on the first PR after merge. ## Breaking Changes None. ## Checklist - [x] Code follows the project's code style (Prettier, ESLint) - [x] TypeScript types are properly defined - [x] Tests pass locally - [x] Documentation updated (if needed) - [x] CI checks pass (Prettier, TypeScript, Lint, Tests, Sonar) ## Additional Notes - All quality jobs (`prettier`, `tsc`, `lint`, `unit-testing`) run in parallel on the `git.van-hemmen.com/actions/sindri:ci-26.8.1` Docker image. - The `sonar` job runs after `unit-testing` and downloads the Jest artifact (`test-report.xml` + `coverage/lcov.info`) to feed into a PR-scoped SonarQube analysis using `sonar.pullrequest.*` parameters. - Companion workflows for `dev` and `master` branches already exist; this PR closes the gap for pull requests.
#52 - Remove redundant needs: install references from dev workflow
All checks were successful
/ tsc (push) Successful in 1m9s
/ pre-check (push) Successful in 11s
/ lint (push) Successful in 36s
/ unit-testing (push) Successful in 40s
/ sonar (push) Successful in 1m3s
/ prettier (push) Successful in 1m2s
d54e7b047f
GuillaumeHemmen changed title from #52 - Remove redundant needs: install references from dev workflow to #52 - add CI pipeline for pull requests (prettier, tsc, lint, unit tests, sonar) 2026-04-10 11:15:58 +00:00
#52 - Add CI workflow for pull requests with Prettier, TypeScript checks, linting, unit tests, and Sonar analysis
All checks were successful
/ prettier (pull_request) Successful in 32s
/ tsc (pull_request) Successful in 38s
/ lint (pull_request) Successful in 40s
/ unit-testing (pull_request) Successful in 37s
/ sonar (pull_request) Successful in 1m15s
/ unit-testing (push) Successful in 42s
/ sonar (push) Successful in 1m40s
/ pre-check (push) Successful in 13s
/ prettier (push) Successful in 29s
/ tsc (push) Successful in 31s
/ lint (push) Successful in 39s
4272aac551
GuillaumeHemmen deleted branch 52-add-CI-pipeline-for-pull-requests 2026-04-10 11:26:13 +00:00
Sign in to join this conversation.
No description provided.