Skip to content

feat: add CI/CD pipeline with GitHub Actions#98

Open
rhjcd wants to merge 1 commit intorh-aiservices-bu:devfrom
rhjcd:feature/ci-cd-pipeline
Open

feat: add CI/CD pipeline with GitHub Actions#98
rhjcd wants to merge 1 commit intorh-aiservices-bu:devfrom
rhjcd:feature/ci-cd-pipeline

Conversation

@rhjcd
Copy link
Copy Markdown

@rhjcd rhjcd commented Feb 20, 2026

Summary

  • CI workflow (ci.yml): Runs lint, typecheck, backend tests (unit/integration/security with PostgreSQL service), frontend tests, and container image builds on every PR and push to main/dev. Jobs run in parallel with a final build gate.
  • Release workflow (release.yml): Triggered on version tags (v*). Runs tests, builds and pushes backend/frontend images to quay.io/rh-aiservices-bu with version + latest tags, and creates a GitHub Release with auto-generated notes.
  • Helm lint workflow (helm-lint.yml): Validates the Helm chart on changes to deployment/helm/. Tests template rendering with default values, OpenShift routes enabled, and existing secrets configurations. Warns if default changeme passwords leak into templates.

Why

The project has comprehensive test infrastructure (Vitest unit tests, integration tests, security tests, ESLint, TypeScript checking) but zero automated CI/CD. All builds, tests, and deployments are manual. This is the highest-priority DevOps gap identified during a full-stack review.

Setup Required

For the release workflow to push images, the following repository secrets must be configured:

  • QUAY_USERNAME — Quay.io robot account username
  • QUAY_PASSWORD — Quay.io robot account token

Test plan

  • CI workflow triggers on PR to main — verify lint, typecheck, and test jobs pass
  • Helm lint job validates chart templates without errors
  • Release workflow triggers on v* tag push (test with a pre-release tag)
  • Container images are pushed to Quay.io with correct version and latest tags
  • GitHub Release is created with auto-generated notes

Adds three workflow files that automate the build, test, and release
pipeline — previously all builds, tests, and deployments were manual.

- ci.yml: lint, typecheck, unit/integration/security tests, and
  container image builds on PR/push to main/dev
- release.yml: build and push images to Quay.io on version tags,
  with automatic GitHub Release creation
- helm-lint.yml: validate Helm chart on changes to deployment/helm/
@rhjcd rhjcd changed the base branch from main to dev February 20, 2026 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant