Skip to content

GitHub Actions

Integrate archlint into your GitHub workflow to prevent architectural regressions in every Pull Request with beautiful comments and annotations.

The archlint Action

The easiest way to use archlint on GitHub is via our official GitHub Action.

Features

  • PR Comments: Automatically posts a detailed report in your PR.
  • Inline Annotations: Shows architectural regressions directly on the lines of code that caused them.
  • Automatic Summary: Adds a summary report to the job execution page.

Example Workflow

Create .github/workflows/architecture.yml:

yaml
name: Architecture

on: [pull_request]

jobs:
  archlint:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write # Required for PR comments
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0 # Important for git diff analysis

      - name: archlint
        uses: archlinter/action@v1
        with:
          baseline: origin/${{ github.base_ref }}
          fail-on: medium
          github-token: ${{ github.token }}

Inputs

InputDescriptionDefault
baselineGit ref or snapshot file to compare againstorigin/main
fail-onMinimum severity to fail (low, medium, high, critical)medium
commentPost PR comment with architecture reporttrue
annotationsShow inline annotations for architectural smellstrue
working-directoryDirectory to analyze.
github-tokenGitHub token for posting comments${{ github.token }}

Manual CLI Usage

If you prefer to run the CLI manually, you can use npx @archlinter/cli:

yaml
- name: Check for architectural regressions
  run: npx @archlinter/cli diff origin/${{ github.base_ref }} --fail-on medium --explain

CLI CI Flags

  • --fail-on <severity>: Exit with 1 if regressions of this level or higher are found.
  • --explain: Detailed advice on why a smell is bad and how to fix it.
  • --json: Output result as JSON for custom processing.

Released under the MIT License.