Skip to content

docker_image_download #34

docker_image_download

docker_image_download #34

name: docker_image_download
on:
repository_dispatch:
workflow_dispatch:
inputs:
image:
description: "Docker image to download (e.g., nginx:latest)"
required: true
default: "nginx:latest"
cleanup:
description: "Whether to clean up disk space (true or false)"
required: true
default: "false"
jobs:
download:
runs-on: ubuntu-latest
steps:
- name: Free Disk Space (Ubuntu)
if: ${{ inputs.cleanup == 'true' }}
uses: jlumbroso/free-disk-space@v1.3.1
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: true
# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: pull image
run: |
docker pull ${{ inputs.image }}
- name: generate filename
id: filename
run: |
SAFE_NAME=$(echo "${{ inputs.image }}" | sed 's/[\/:]/_/g')
echo "SAFE_NAME=${SAFE_NAME}" >> $GITHUB_ENV
- name: save image
run: |
docker save ${{ inputs.image }} > ${{ runner.temp }}/${{ env.SAFE_NAME }}.tar
- name: upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.SAFE_NAME }}
path: ${{ runner.temp }}/${{ env.SAFE_NAME }}.tar