diff --git a/.github/workflows/matrix.yaml b/.github/workflows/matrix.yaml new file mode 100644 index 0000000000..a375bbf0b1 --- /dev/null +++ b/.github/workflows/matrix.yaml @@ -0,0 +1,38 @@ +name: Compatibility Matrix + +on: + release: + types: [created] + pull_request: + types: [opened, synchronize, reopened, edited] + branches: + - main + paths: + - "**.go" + - "!**_test.go" # exclude test files to ignore unit test changes + - "test/**" # include test files in e2e again + - "!**.md" + - "Dockerfile.release" + - ".github/workflows/e2e.yaml" + - "charts/**" + - "manifests/**" + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + check-if-matrix-is-up-to-date: + - name: Checkout PR + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: gh pr checkout ${{ github.event.pull_request.number }} + - name: run matrix-gen + run: go run hack/compat-matrix/main.go + - name: commit change if needed + run: git diff --quiet && git diff --staged --quiet || git commit -am 'updated compatibility matrix' + - name: Push changes + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TO:KEN }} + run: git push +