Skip to content

Commit 9d4d393

Browse files
committed
feat(ci): analyze api changes
1 parent bcbe08e commit 9d4d393

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

.github/workflows/apidiff.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Analyze API Changes
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
changed-modules:
11+
name: Determine Changed Modules
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: read
15+
pull-requests: read
16+
outputs:
17+
modules-json: ${{ steps.changed-modules.outputs.modules-json }}
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v6
21+
with:
22+
fetch-depth: 0
23+
24+
- name: Changed modules
25+
id: changed-modules
26+
uses: smartcontractkit/.github/actions/changed-modules-go@changed-modules-go/v1
27+
with:
28+
file-patterns: |
29+
**/*.go
30+
**/go.mod
31+
**/go.sum
32+
module-patterns: |
33+
**
34+
35+
analyze-api-changes:
36+
if: ${{ needs.changed-modules.outputs.modules-json != '[]' }}
37+
name: Analyze (${{ matrix.module }})
38+
runs-on: ubuntu-latest
39+
needs: changed-modules
40+
permissions:
41+
pull-requests: write
42+
contents: read
43+
strategy:
44+
fail-fast: false
45+
matrix:
46+
module: ${{ fromJson(needs.changed-modules.outputs.modules-json) }}
47+
steps:
48+
- name: Checkout the repository
49+
uses: actions/checkout@v6
50+
with:
51+
fetch-depth: 0
52+
53+
- name: Set up Go
54+
uses: actions/setup-go@v5
55+
with:
56+
go-version-file: ${{ matrix.module }}/go.mod
57+
cache: false
58+
59+
- uses: smartcontractkit/.github/actions/apidiff-go@apidiff-go/v2
60+
env:
61+
GITHUB_TOKEN: ${{ github.token }}
62+
with:
63+
module-directory: ${{ matrix.module }}
64+
enforce-compatible: false
65+
post-comment: true

0 commit comments

Comments
 (0)