Skip to content

Cross-repo CI/CD standardization — reusable workflows #7

@kristopherjturner

Description

@kristopherjturner

Summary

Create reusable GitHub Actions workflows that all solution repos can reference, reducing duplication and ensuring consistency.

Current State

Each repo has its own deploy-docs.yml workflow. They are nearly identical (Python 3.12, mkdocs-material, mkdocs-drawio, Vale). Changes to the standard require updating 4 files in 4 repos.

Proposal

Reusable Workflow (in .github or azurelocal.github.io repo)

  • deploy-mkdocs.yml — Reusable workflow for MkDocs Material site deployment
  • vale-lint.yml — Reusable workflow for Vale linting
  • powershell-lint.yml — Reusable workflow for PSScriptAnalyzer (for SOFS, AVD, vm-conversion)

Per-Repo Caller

Each repo would have a thin caller workflow:

jobs:
  docs:
    uses: AzureLocal/.github/.github/workflows/deploy-mkdocs.yml@main
    with:
      python-version: '3.12'

Benefits

  • Single source of truth for CI standards
  • Version-controlled workflow updates
  • Easier to add new capabilities (e.g., link checking, spell checking)

Prerequisites

  • Create AzureLocal/.github repo (GitHub's special org-level repo)
  • Or use azurelocal.github.io as the workflow source

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions