MATIH Platform is in active MVP development. Documentation reflects current implementation status.
18. CI/CD & Build System
GitHub Actions Overview

GitHub Actions Overview

The MATIH platform uses GitHub Actions for both continuous integration (CI) and continuous deployment (CD). Workflow files are located in .github/work-flows/ and cover code quality, builds, testing, and deployment across multiple environments.


Workflow Files

WorkflowFileTriggerPurpose
CI Pipelineci.ymlPush, Pull RequestLint, build, test
CD Pipelinecd.ymlPush to main, tags, manualDeploy to environments
Python CIpython-ci.ymlPush, Pull RequestPython-specific checks
Azure CIazure-ci.ymlPushAzure-specific integration tests
Azure CDazure-cd.ymlManualAzure deployment workflow
GitOps CDcd-gitops.ymlPushArgoCD sync trigger
Tenant Deploytenant-deploy.ymlManualPer-tenant deployment

Sub-Pages

PageDescription
CI PipelineContinuous integration workflow details
CD Deployment WorkflowContinuous deployment workflow details

Concurrency Control

All workflows use GitHub Actions concurrency groups to prevent overlapping runs:

concurrency:
  group: ci-${{ github.ref }}
  cancel-in-progress: true  # CI cancels previous runs

CD workflows use cancel-in-progress: false to ensure deployments complete.


Shared Configuration

SettingValue
Java version21 (Temurin distribution)
Maven cachingEnabled via actions/setup-java@v4
Container registryghcr.io/${{ github.repository_owner }}
Helm version3.13.0
kubectl version1.28.0