--- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: "Flux Diff" on: pull_request: branches: ["main"] paths: ["kubernetes/**"] concurrency: group: ${{ github.workflow }}-${{ github.event.number || github.ref }} cancel-in-progress: true jobs: flux-diff: name: Flux Diff runs-on: ubuntu-latest permissions: contents: read pull-requests: write strategy: matrix: paths: ["kubernetes"] resources: ["helmrelease", "kustomization"] steps: - name: Checkout uses: actions/checkout@v4 with: path: pull - name: Checkout Default Branch uses: actions/checkout@v4 with: ref: "${{ github.event.repository.default_branch }}" path: default - name: Diff Resources uses: docker://ghcr.io/allenporter/flux-local:v6.0.0 with: args: >- diff ${{ matrix.resources }} --unified 6 --path /github/workspace/pull/${{ matrix.paths }}/flux --path-orig /github/workspace/default/${{ matrix.paths }}/flux --strip-attrs "helm.sh/chart,checksum/config,app.kubernetes.io/version,chart" --limit-bytes 10000 --all-namespaces --sources "home-kubernetes" --output-file diff.patch - name: Generate Diff id: diff run: | cat diff.patch echo "diff<> $GITHUB_OUTPUT cat diff.patch >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT - if: ${{ steps.diff.outputs.diff != '' }} name: Add comment uses: mshick/add-pr-comment@v2 with: message-id: "${{ github.event.pull_request.number }}/${{ matrix.paths }}/${{ matrix.resources }}" message-failure: Diff was not successful message: | ```diff ${{ steps.diff.outputs.diff }} ```