Files
containerd/.github/workflows/images.yml
T
dependabot[bot] 4fa23707c8 build(deps): bump actions/checkout from 7.0.0 to 7.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 23:24:34 +00:00

81 lines
2.3 KiB
YAML

name: "Mirror Test Image"
on:
workflow_dispatch:
inputs:
upstream:
description: "Upstream image to mirror"
required: true
default: "docker.io/library/busybox:1.32"
image:
description: "Target image name (override)"
permissions: # added using https://github.com/step-security/secure-workflows
contents: read
jobs:
mirror:
name: "Mirror Image"
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
packages: write
defaults:
run:
working-directory: src/github.com/containerd/containerd
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
path: src/github.com/containerd/containerd
persist-credentials: false
- uses: ./src/github.com/containerd/containerd/.github/actions/install-go
- name: Set env
shell: bash
run: |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
- name: Install containerd dependencies
env:
GOFLAGS: -modcacherw
run: |
sudo apt-get install -y gperf
sudo -E PATH=$PATH script/setup/install-seccomp
- name: Install containerd
env:
CGO_ENABLED: 1
run: |
make binaries GO_BUILD_FLAGS="-mod=vendor" GO_BUILDTAGS="no_btrfs"
sudo -E PATH=$PATH make install
- name: Pull and push image
shell: bash
env:
UPSTREAM_IMAGE: ${{ github.event.inputs.upstream }}
TARGET_IMAGE: ${{ github.event.inputs.image }}
run: |
sudo containerd -l debug > /tmp/containerd.out 2>&1 &
containerd_pid=$!
sleep 5
upstream="$UPSTREAM_IMAGE"
target="$TARGET_IMAGE"
if [[ "$target" == "" ]]; then
mirror="ghcr.io/containerd/${upstream##*/}"
else
mirror="ghcr.io/containerd/${target}"
fi
echo "Mirroring $upstream to $mirror"
sudo ctr content fetch --all-platforms "${upstream}"
sudo ctr images ls
sudo ctr --debug images push -u "${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}" "${mirror}" "${upstream}"
sudo kill "$containerd_pid"