Skip to content

Commit

Permalink
feat: add flux-containers workflow
Browse files Browse the repository at this point in the history
Signed-off-by: Devin Buhl <[email protected]>
  • Loading branch information
onedr0p committed Dec 23, 2023
1 parent 114d3f1 commit 76f27f6
Showing 1 changed file with 105 additions and 0 deletions.
105 changes: 105 additions & 0 deletions .github/workflows/flux-containers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: "Flux Containers"

on:
pull_request:
branches: ["main"]
paths: ["kubernetes/**"]

concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true

jobs:
changed-files:
name: Get Changed Files
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.changed-files.outputs.all_changed_and_modified_files }}
steps:
- name: Generate Token
uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: "${{ secrets.BOT_APP_ID }}"
private-key: "${{ secrets.BOT_APP_PRIVATE_KEY }}"

- name: Checkout
uses: actions/checkout@v4
with:
token: "${{ steps.app-token.outputs.token }}"
fetch-depth: 0

- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v41
with:
files: kubernetes/**
dir_names_max_depth: 2
dir_names: true
escape_json: false
json: true
quotepath: false
safe_output: false

- name: List all changed files
run: echo "${{ steps.changed-files.outputs.all_changed_and_modified_files }}"

flux-containers:
name: Flux Containers
runs-on: ubuntu-latest
needs: ["changed-files"]
permissions:
pull-requests: write
strategy:
matrix:
paths: ${{ fromJSON(needs.changed-files.outputs.matrix) }}
max-parallel: 4
fail-fast: false
steps:
- name: Generate Token
uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: "${{ secrets.BOT_APP_ID }}"
private-key: "${{ secrets.BOT_APP_PRIVATE_KEY }}"

- name: Setup System Tools
shell: bash
run: sudo apt-get -qq update && sudo apt-get -qq install --no-install-recommends -y curl git

- name: Checkout Live Branch
uses: actions/checkout@v4
with:
token: "${{ steps.app-token.outputs.token }}"
ref: main
path: default

- name: Checkout PR branch
uses: actions/checkout@v4
with:
token: "${{ steps.app-token.outputs.token }}"
path: pull

- name: Gather images in default branch
uses: docker://ghcr.io/allenporter/flux-local:main
with:
args: >-
--log-level DEBUG
get cluster
--path /github/workspace/default/${{ matrix.paths }}
--enable-images
--output json
--output-file default.json
- name: Gather images in pull request branch
uses: docker://ghcr.io/allenporter/flux-local:main
with:
args: >-
--log-level DEBUG
get cluster
--path /github/workspace/pull/${{ matrix.paths }}
--enable-images
--output json
--output-file pull.json

0 comments on commit 76f27f6

Please sign in to comment.