Skip to content

CI CD Pipeline

Ian Ter Haar edited this page Jan 2, 2026 · 1 revision

This workflow provides the main CI/CD pipeline for the TAE Upload Service repository. It demonstrates how to call a reusable workflow and manage triggers for branches and pull requests.


Overview

The pipeline is triggered on:

  • Push events to branches: main, dev, feat/**
  • Pull requests targeting: main, dev

Its main purpose is to invoke the reusable .NET Build & Deploy workflow with the correct project parameters and permissions.


Workflow Trigger

on:
  push:
    branches:
      - main
      - dev
      - feat/**
  pull_request:
    branches:
      - main
      - dev
  • Push events ensure that every commit to important branches triggers the pipeline.
  • Pull request events validate changes before merging into main or dev.

Jobs

call-template

This is the single job in the pipeline. It calls the reusable .NET Build & Deploy workflow:

jobs:
  call-template:
    uses: ITH-Labs/.github/.github/workflows/dotnet-build-and-deploy.yml@main
    with:
      project_name: TAE.UploadService
      project_path: TAE.UploadService
      publish_branch: main
    permissions:
      contents: read
      packages: write

Inputs explained:

  • project_name: Name of the project for artifact identification.
  • project_path: Path to the project directory.
  • publish_branch: Branch considered as production for artifact publishing.

Permissions:

  • contents: read → Required to access repository contents.
  • packages: write → Required for pushing Docker images or artifacts to GHCR.

Key Points

  • This workflow does not directly perform builds or tests; it delegates those tasks to the reusable workflow.
  • It ensures standardized CI/CD execution for the repository.
  • Triggers and permissions are defined so that it works safely across multiple branches.
  • Ideal for projects where CI/CD logic is centralized in reusable workflows.

Usage

To use this pipeline for another project in the same organization:

jobs:
  call-template:
    uses: ITH-Labs/.github/.github/workflows/dotnet-build-and-deploy.yml@main
    with:
      project_name: MyProject
      project_path: MyProject
      publish_branch: main
  • Replace project_name and project_path with your project details.
  • Set publish_branch to your production reference branch.

Clone this wiki locally