Skip to content

feat: allow admin to manage clusters on ArgoCD and move from chezmoi-… #14

feat: allow admin to manage clusters on ArgoCD and move from chezmoi-…

feat: allow admin to manage clusters on ArgoCD and move from chezmoi-… #14

---
name: πŸ“¦ (re)Build all Kairos bundles
on:
push:
branches: [main]
paths:
- .github/workflows/push.kairos-bundles.yaml
- catalog/kairos-bundles/**
permissions:
contents: read
packages: write
jobs:
list_all_bundles:
name: πŸ“„ List all bundles
runs-on: ubuntu-latest
outputs:
all_bundles: ${{ steps.list_bundles.outputs.all }}
steps:
- name: ⬇️ Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: πŸ“„ List all bundles
id: list_bundles
run: |
(
echo -n 'all='
# shellcheck disable=SC2012
ls -1 catalog/kairos-bundles/ | sort --unique \
| grep -v README \
| jq --slurp --raw-input '. | split("\n") | map(select(. != ""))' --compact-output
) >> "${GITHUB_OUTPUT}"
build_bundle:
name: πŸ—οΈ Build bundle (${{ matrix.bundle }})
needs: list_all_bundles
runs-on: ubuntu-latest
strategy:
matrix:
bundle: ${{ fromJson(needs.list_all_bundles.outputs.all_bundles) }}
steps:
- name: ⬇️ Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: πŸ› οΈ Login to Github Container Registry
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: πŸ› οΈ Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: πŸ› οΈ Set up Docker Buildx
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
- name: πŸ—οΈ Build bundle (${{ matrix.bundle }})
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
annotations: |
org.opencontainers.image.title="${{ matrix.bundle }} (kairos bundle)"
org.opencontainers.image.source="https://${{ github.repository }}/blob/${{ github.sha }}/catalog/kairos-bundles/${{ matrix.bundle }}"
org.opencontainers.image.description="Kairos bundle for ${{ matrix.bundle }}"
context: catalog/kairos-bundles/${{ matrix.bundle }}
file: catalog/kairos-bundles/${{ matrix.bundle }}/Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
provenance: mode=max
push: true
sbom: true
tags: ghcr.io/${{ github.repository_owner }}/kairos-bundles:${{ matrix.bundle }}
env:
SOURCE_DATE_EPOCH: 0