mirror of
https://github.com/containerd/containerd.git
synced 2026-11-06 05:17:02 +00:00
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>
81 lines
2.3 KiB
YAML
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"
|