Skip to content

CI/CD Pipeline

ERP Plus uses GitHub Actions, GitHub Branch Protection Rules, and Taiga as its integrated delivery workflow.


Purpose

The CI/CD pipeline guarantees:

  • code quality
  • automated testing
  • security validation
  • architectural compliance
  • deployment readiness
  • traceability between Taiga and GitHub

Core Principle

Every change must originate from a tracked work item.

Work items are managed in Taiga and implemented through GitHub.

The CI/CD pipeline acts as the validation layer between development and deployment.


Workflow Overview

Epic (optional)
        User Story (Taiga)
        Task (Taiga)
        Branch
        Commits
        Pull Request  develop
        CI Validation
        Review
        Merge into develop
        Ready for Test
        Pull Request  main
        Release Validation
        Merge into main
        Done
        Deploy

Relationship Between Taiga and GitHub

Planning Layer

Taiga manages:

  • Epics
  • User Stories
  • Tasks
  • Issues
  • Sprints

GitHub manages:

  • Source code
  • Pull Requests
  • CI/CD
  • Releases

Branch Strategy

Internal contributors create branches linked to a Taiga User Story.

Example:

feature/TG-123-user-invitations

Documentation examples:

docs/TG-33-localizacion-onboarding

Community contributors may use:

feature/user-invitations
docs/update-installation-guide

Commit Traceability

All commits related to a Taiga User Story should reference its identifier.

Example:

feat(users): add invitation workflow TG-123

docs(workflow): update branch strategy TG-33

Pull Request Lifecycle

Pull Request to develop

Purpose:

  • integration
  • validation
  • QA readiness

Flow:

Branch
   ↓
PR → develop
   ↓
CI
   ↓
Review
   ↓
Merge

After merge:

  • User Story is moved manually to:
Ready for Test

inside Taiga.


Pull Request to main

Purpose:

  • release
  • production delivery

Flow:

develop
   ↓
PR → main
   ↓
Release Validation
   ↓
Merge

After merge:

  • User Story is moved manually to:
Done

inside Taiga.


CI Validation Stages

Every Pull Request must pass:

Rubocop

Checks:

  • style consistency
  • linting rules

RSpec

Checks:

  • unit tests
  • integration tests
  • feature tests

Brakeman

Checks:

  • Rails security issues
  • common vulnerabilities

Build Validation

Ensures:

  • application boots correctly
  • dependencies are valid
  • deployment artifacts can be generated

Branch Behavior

develop

Purpose:

Integration Branch

Characteristics:

  • accepts feature merges
  • CI validation required
  • no production deployments

main

Purpose:

Production Branch

Characteristics:

  • release source
  • protected branch
  • production deployments originate here

Product Integration

CI/CD validates work that has already been planned and approved through the ERP Plus product workflow.

See:

Product & Delivery Management


Governance Rule

No production change may bypass:

Taiga
→ GitHub PR
→ CI
→ Review
→ main

Summary

The ERP Plus delivery pipeline is built around:

Taiga → GitHub → CI → Review → Release → Deploy

This provides:

  • traceability
  • predictable releases
  • controlled system evolution
  • auditability across the platform