50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
name: sync images
|
|
on:
|
|
workflow_call:
|
|
|
|
jobs:
|
|
sync_images:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
component:
|
|
- calico
|
|
- ccm-openstack
|
|
- cilium
|
|
- cluster-autoscaler
|
|
- csi-cinder
|
|
- ingress-nginx
|
|
- kube-prometheus-stack
|
|
- kubernetes-dashboard
|
|
- loki-stack
|
|
- mellanox-network-operator
|
|
- metrics-server
|
|
- nfd
|
|
- nvidia-gpu-operator
|
|
steps:
|
|
- name: Check out the repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install skopeo
|
|
run: sudo apt-get -y update && sudo apt-get install -y skopeo
|
|
|
|
- name: Check component manifest for changes
|
|
uses: dorny/paths-filter@v2
|
|
id: changes
|
|
with:
|
|
filters: |
|
|
manifest:
|
|
- skopeo-manifests/${{ matrix.component }}.yml
|
|
|
|
- name: Sync component images
|
|
if: ${{ steps.changes.outputs.manifest == 'true' }}
|
|
run: |-
|
|
skopeo sync \
|
|
--src yaml \
|
|
--dest docker \
|
|
--dest-creds ${{ github.actor }}:${{ secrets.GITHUB_TOKEN }} \
|
|
--scoped \
|
|
--all \
|
|
skopeo-manifests/${{ matrix.component }}.yml \
|
|
ghcr.io/stackhpc/capi
|