dotCMS / dotCMS/core

Set up GitHub Actions CI/CD pipeline for analytics microservice

Open
#35,059 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dotCMS : Analytics Priority : 4 Low stale Team : Falcon Type : CI/CD
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Description

Create a CI/CD pipeline using GitHub Actions for the analytics microservice. The pipeline must validate code quality and ensure safe deployments through a staged flow that prevents broken or insecure code from reaching production.

Pipeline stages:

  • Build verification
  • Static analysis / bad-practice detection
  • Test execution (unit + integration)
  • Basic security checks
  • Artifact generation
  • Staged deployment flow (dev → staging → production gate)

Improvement plan: https://docs.google.com/document/d/1hVfIurPqAJJ1PN1EalmvrWXnGNt5sY21MI-409lrXpU/edit?tab=t.klqavlz4cis7#heading=h.8vek9yxw

Parent epic: #35048

Acceptance Criteria

  • GitHub Actions workflow file created for the analytics microservice
  • Build verification step: fails fast on compilation errors
  • Static analysis / bad-practice detection (e.g. Checkstyle, SpotBugs, or equivalent)
  • Test execution: unit tests and integration tests (Testcontainers) run on every PR
  • Basic security checks (e.g. dependency vulnerability scan via OWASP or similar)
  • Artifact generation: Docker image or JAR produced on successful build
  • Staged deployment flow: broken or insecure builds cannot reach production
  • Pipeline runs on PR open/update and on merge to main

Additional Context

  • Source task: Task 27 (Set up a Baseline CI/CD Pipeline with GitHub Actions) from the improvement plan
  • Blocked by: #35050 (ingest code refactor), #35053 (unit tests), #35054 (integration tests)
  • Related branch: issue-34849-Add-dotCMS-Analytics-Proxy-Endpoint-for-/v1/analytics/-to-dot-ca-event-manager

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No workflow file or test path is named. Start with the improvement plan and parent epic #35048, then inspect the analytics microservice and blocked issues #35050, #35053, and #35054. Done means a GitHub Actions workflow runs build, analysis, tests, security checks, artifact generation, and gated dev-to-production deployment on pull requests and merges to main.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, java
Domain
backend, ci-cd, devops, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.