Files
zot/.github/workflows/sync-3rdparty-images.yaml
T
2026-05-10 08:23:06 +03:00

83 lines
2.9 KiB
YAML

name: 'Sync images and artifacts to ghcr'
on:
schedule:
- cron: '30 1 * * *'
push:
branches:
- main
workflow_dispatch:
permissions: read-all
jobs:
sync-golang:
name: 'golang'
permissions:
contents: read
packages: write
strategy:
matrix:
golang_version:
- "1.25"
- "1.26"
runs-on: ubuntu-latest
steps:
- name: Log in to GitHub Docker Registry
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Tag and push golang to ghcr
run: |
docker pull golang:${{ matrix.golang_version }}
docker tag golang:${{ matrix.golang_version }} ghcr.io/${{ github.repository_owner }}/golang:${{ matrix.golang_version }}
docker push ghcr.io/${{ github.repository_owner }}/golang:${{ matrix.golang_version }}
sync-trivy:
name: 'trivy-db'
permissions:
contents: read
packages: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
sparse-checkout: |
Makefile
sparse-checkout-cone-mode: false
persist-credentials: false
- name: Copy trivy-db using oras cli
env:
GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# setup oras
make $PWD/hack/tools/bin/oras
export PATH=$PATH:$PWD/hack/tools/bin
test -n "${GHCR_TOKEN}" || { echo "Missing GHCR token"; exit 1; }
echo "${GHCR_TOKEN}" | oras login -u "${GITHUB_ACTOR}" --password-stdin ghcr.io
oras copy ghcr.io/aquasecurity/trivy-db:2 ghcr.io/${{ github.repository_owner }}/trivy-db:2
oras copy ghcr.io/aquasecurity/trivy-db:latest ghcr.io/${{ github.repository_owner }}/trivy-db:latest
oras copy ghcr.io/aquasecurity/trivy-java-db:1 ghcr.io/${{ github.repository_owner }}/trivy-java-db:1
sync-localstack:
name: 'localstack'
permissions:
contents: read
packages: write
strategy:
matrix:
localstack_version:
- "3.3.0"
runs-on: ubuntu-latest
steps:
- name: Log in to GitHub Docker Registry
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Tag and push localstack to ghcr
run: |
docker pull localstack/localstack:${{ matrix.localstack_version }}
docker tag localstack/localstack:${{ matrix.localstack_version }} ghcr.io/${{ github.repository_owner }}/ci-images/localstack:${{ matrix.localstack_version }}
docker push ghcr.io/${{ github.repository_owner }}/ci-images/localstack:${{ matrix.localstack_version }}