feat(github-release): update flux group ( v2.3.0 → v2.4.0 ) (minor) #825
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# 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: | |
changed-clusters: | |
name: Changed Clusters | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: read | |
outputs: | |
matrix: "${{ steps.changed-clusters.outputs.all_changed_and_modified_files }}" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get Changed Clusters | |
id: changed-clusters | |
uses: tj-actions/changed-files@v45 | |
with: | |
files: kubernetes/** | |
dir_names: true | |
dir_names_max_depth: 2 | |
matrix: true | |
- name: List All Changed Clusters | |
run: echo "${{ steps.changed-clusters.outputs.all_changed_and_modified_files }}" | |
flux-diff: | |
name: Flux Diff | |
runs-on: ubuntu-latest | |
needs: ["changed-clusters"] | |
permissions: | |
contents: read | |
pull-requests: write | |
strategy: | |
matrix: | |
paths: "${{ fromJSON(needs.changed-clusters.outputs.matrix) }}" | |
resources: ["helmrelease", "kustomization"] | |
max-parallel: 4 | |
fail-fast: false | |
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:v5.5.1 | |
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-ops" | |
--output-file diff.patch | |
- name: Generate Diff | |
id: diff | |
run: | | |
echo "diff<<EOF" >> $GITHUB_OUTPUT | |
cat diff.patch >> $GITHUB_OUTPUT | |
echo "EOF" >> $GITHUB_OUTPUT | |
echo "### Diff" >> $GITHUB_STEP_SUMMARY | |
echo '```diff' >> $GITHUB_STEP_SUMMARY | |
cat diff.patch >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
- 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 }} | |
``` | |
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7 | |
flux-diff-success: | |
if: ${{ always() }} | |
needs: ["flux-diff"] | |
name: Flux Diff Successful | |
runs-on: ubuntu-latest | |
steps: | |
- if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} | |
name: Check matrix status | |
run: exit 1 |