GitHub Actions: Reusable Workflows

Copy-pasting YAML between repos is a maintenance nightmare. Reusable Workflows solve this.

Creating a Shared Workflow

In a central repo (e.g., `my-org/.github`), create:

# .github/workflows/dotnet-build.yml
name: .NET Build
on:
  workflow_call:
    inputs:
      dotnet-version:
        required: true
        type: string
        
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-dotnet@v3
      with:
        dotnet-version: ${{ inputs.dotnet-version }}
    - run: dotnet build

Consuming It

jobs:
  call-build:
    uses: my-org/.github/.github/workflows/dotnet-build.yml@main
    with:
      dotnet-version: '7.0'

Discover more from C4: Container, Code, Cloud & Context

Subscribe to get the latest posts sent to your email.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.