Skip to content
This repository was archived by the owner on Oct 24, 2025. It is now read-only.
Dorien Grönwald edited this page Mar 4, 2025 · 6 revisions

CI/CD & GitHub Actions

CI/CD (Continuous Integration & Continuous Deployment/Delivery) is a software development approach that uses automation to quickly and reliably deliver code changes to production.

  • Continuous Integration (CI) ensures that code changes are automatically tested and integrated as soon as they are pushed to the repository.
  • Continuous Deployment/Delivery (CD) automates the release of tested code to testing or production environments.

GitHub Actions is an automation platform within GitHub that enables CI/CD workflows. It allows developers to manage build, test, and deployment processes directly in their repositories.

In this section provides an overview of specific GitHub Actions workflows that are used in this project. Below you will find details on the specific workflows:

Used Workflows

build-and-push-develop.yaml

  • Use: Automates the build and push process for the develop branch
  • Trigger: Activated with every push into the develop branch
  • Tasks:
    • Builds the project
    • Pushes the successfully built artefact to the GitHub artefact repository

build-and-push-prod.yaml

  • Use: Automates the build and push process for production releases.
  • Trigger: Activated when a pull request from a release or hotfix branch is merged into main
  • Tasks:
    • Extracts the version from the branch name
    • Creates a GitHub release
    • Merges main into develop
    • Builds and pushes the Docker image to GitHub Container Registry (GHCR)
    • Notifies the management repository to update submodules

build-and-push-stage.yaml

  • Use: Automates the build and push process for the staging environment.
  • Trigger: Activated on push to release or hotfix branches, or manually via workflow dispatch.
  • Tasks:
    • Extracts the version from the branch name
    • Builds and pushes the Docker image to GitHub Container Registry (GHCR)
    • Notifies the management repository to update submodules

build-and-test-on-pr.yaml

  • Use: Ensures that pull requests (PRs) are built and tested before they are merged into the main branch
  • Trigger: Activated when a new pull request is created against the develop branch
  • Tasks:
    • Builds the state of the PR
    • Executes all defined tests to ensure the integrity of the code

create-pr-on-backend-api-change.yaml

  • Use: Automates the creation of pull requests when changes are made to the backend or the API
  • Trigger: Activated by changes in the API definition from the backend, is triggered by the backend workflow
  • Tasks:
    • Automatically creates a new pull request with the changes made
    • Ensures that changes to the API in the backend are compatible with the frontend

notify-on-new-issue.yaml

  • Use: Sends notifications in Discord when a new issue is created
  • Trigger: Activated when a new issue is created.
  • Tasks:
    • Sends a notification in Discord to a channel to inform about the new issue

notify-on-reviewer-needed.yaml

  • Use: Sends notifications in Discord when a pull request requires a reviewer. Is triggered when the need-reviewer tag is set in the PR.
  • Trigger: Activated when a pull request is created and the need-reviewer tag is set.
  • Tasks:
    • Sends a notification in Discord to a channel to inform about the review

Clone this wiki locally