From c8aab994324adea3030432723ff920b9f6501cd0 Mon Sep 17 00:00:00 2001 From: Erik Burton Date: Fri, 12 Dec 2025 15:37:08 -0800 Subject: [PATCH] feat(ci): apidiff-go v2 --- .github/workflows/api-diff.yml | 50 ++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/.github/workflows/api-diff.yml b/.github/workflows/api-diff.yml index 99a961b494..6d0d75c36f 100644 --- a/.github/workflows/api-diff.yml +++ b/.github/workflows/api-diff.yml @@ -1,30 +1,64 @@ name: Analyze API Changes on: + push: + branches: + - main pull_request: jobs: - root-module: - name: Root Module + changed-modules: + name: Determine Changed Modules + runs-on: ubuntu-latest permissions: - pull-requests: write contents: read + pull-requests: read + outputs: + modules-json: ${{ steps.changed-modules.outputs.modules-json }} + steps: + - name: Checkout repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Changed modules + id: changed-modules + uses: smartcontractkit/.github/actions/changed-modules-go@changed-modules-go/v1 + with: + file-patterns: | + **/*.go + **/go.mod + **/go.sum + module-patterns: | + ** + + analyze-api-changes: + name: Analyze (${{ matrix.module }}) runs-on: ubuntu-latest + needs: changed-modules + permissions: + pull-requests: write + contents: read + strategy: + fail-fast: false + matrix: + module: ${{ fromJson(needs.changed-modules.outputs.modules-json) }} steps: - name: Checkout the repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v5 with: - go-version-file: "go.mod" + go-version-file: ${{ matrix.module }}/go.mod cache: false - - uses: smartcontractkit/.github/actions/apidiff-go@apidiff-go/v1 + - uses: smartcontractkit/.github/actions/apidiff-go@apidiff-go/v2 env: GITHUB_TOKEN: ${{ github.token }} with: - go-mod-paths: "./" - enforce-compatible: "false" # dont fail on breaking changes + module-directory: ${{ matrix.module }} + enforce-compatible: false + post-comment: true