Use this action to setup environment of skopeo, and use skopeo to sync images across the registries. 🚀
- Basic knowledge of Docker images and skopeo which is a container tool to sync images across the registries.
- This action runs using Node 20. If you are using self-hosted GitHub Actions runners, you must use a runner version that supports this version or newer.
jobs:
job_id:
steps:
- name: 'Set up skopeo'
uses: warjiang/setup-skopeo@main
with:
version: latest
- name: 'Sync images'
run: |
skopeo --version
skopeo copy --dest-creds \
${{ secrets.DEST_REGISTRY_USER }}:${{ secrets.DEST_REGISTRY_PASSWORD }} \
docker://alpine:3.19 \
docker://${{ secrets.DEST_REGISTRY }}/alpine:3.19- version: (Optional) Set the version of skopeo. Default: latest. More information about supported versions can be found in the skopeo-binary version manifest.
- skopeo-binary: generate the skopeo binary file, it fetches all the tags of official skopeo repository and generate the binary file for each tag by a cronjob.
- actions/toolkit: some toolkits that are very useful for GitHub Actions.
- actions/typescript-action: which is a template for creating a TypeScript action.