mirror of
				https://github.moeyy.xyz/https://github.com/docker/setup-docker-action.git
				synced 2025-10-27 19:16:40 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			321 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			321 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: ci
 | |
| 
 | |
| concurrency:
 | |
|   group: ${{ github.workflow }}-${{ github.ref }}
 | |
|   cancel-in-progress: true
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|   schedule:
 | |
|     - cron: '0 10 * * *'
 | |
|   push:
 | |
|     branches:
 | |
|       - 'master'
 | |
|       - 'releases/v*'
 | |
|     tags:
 | |
|       - 'v*'
 | |
|   pull_request:
 | |
| 
 | |
| env:
 | |
|   DOCKER_VERSION: v24.0.9
 | |
| 
 | |
| jobs:
 | |
|   main:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           #- macos-14  # no virt: https://github.com/docker/actions-toolkit/issues/317
 | |
|           - macos-13
 | |
|           - windows-latest
 | |
|         version:
 | |
|           - pinned
 | |
|           - latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         # https://github.com/crazy-max/ghaction-setup-docker/issues/108
 | |
|         name: Set up QEMU
 | |
|         if: startsWith(matrix.os, 'macos')
 | |
|         uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
 | |
|       -
 | |
|         name: Set version
 | |
|         shell: bash
 | |
|         run: |
 | |
|           if [ "${{ matrix.version }}" != "pinned" ]; then
 | |
|             echo "DOCKER_VERSION=${{ matrix.version }}" >> $GITHUB_ENV
 | |
|           fi
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           version: ${{ env.DOCKER_VERSION }}
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | |
| 
 | |
|   channel:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           #- macos-14  # no virt: https://github.com/docker/actions-toolkit/issues/317
 | |
|           - macos-13
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         # https://github.com/crazy-max/ghaction-setup-docker/issues/108
 | |
|         name: Set up QEMU
 | |
|         if: startsWith(matrix.os, 'macos')
 | |
|         uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           version: v24.0.0-rc.4
 | |
|           channel: test
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | |
| 
 | |
|   daemon-config:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           #- macos-14  # no virt: https://github.com/docker/actions-toolkit/issues/317
 | |
|           - macos-13
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         # https://github.com/crazy-max/ghaction-setup-docker/issues/108
 | |
|         name: Set up QEMU
 | |
|         if: startsWith(matrix.os, 'macos')
 | |
|         uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           daemon-config: |
 | |
|             {
 | |
|               "debug": true,
 | |
|               "features": {
 | |
|                 "containerd-snapshotter": true
 | |
|               }
 | |
|             }
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | |
| 
 | |
|   context:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           #- macos-14  # no virt: https://github.com/docker/actions-toolkit/issues/317
 | |
|           - macos-13
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         # https://github.com/crazy-max/ghaction-setup-docker/issues/108
 | |
|         name: Set up QEMU
 | |
|         if: startsWith(matrix.os, 'macos')
 | |
|         uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           version: ${{ env.DOCKER_VERSION }}
 | |
|           context: foo
 | |
|       -
 | |
|         name: Check context
 | |
|         run: |
 | |
|           docker context inspect foo
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | |
| 
 | |
|   lima-start-args:
 | |
|     #runs-on: macos-14  # no virt: https://github.com/docker/actions-toolkit/issues/317
 | |
|     runs-on: macos-13
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         # https://github.com/crazy-max/ghaction-setup-docker/issues/108
 | |
|         name: Set up QEMU
 | |
|         uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         env:
 | |
|           LIMA_START_ARGS: --cpus 4 --memory 8
 | |
| 
 | |
|   build-linux:
 | |
|     runs-on: ubuntu-latest
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         containerd:
 | |
|           - containerd-system
 | |
|           - containerd-tarball
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Uninstall containerd
 | |
|         if: matrix.containerd == 'containerd-tarball'
 | |
|         run: |
 | |
|           sudo apt-get remove -y containerd.io
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           version: ${{ env.DOCKER_VERSION }}
 | |
|       -
 | |
|         name: Start registry
 | |
|         run: |
 | |
|           docker run -d -p 5000:5000 --restart=always --name registry registry:2
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         uses: docker/setup-buildx-action@v3
 | |
|         with:
 | |
|           driver: docker
 | |
|           driver-opts: network=host
 | |
|       -
 | |
|         name: Build and push
 | |
|         uses: docker/build-push-action@v6
 | |
|         with:
 | |
|           context: ./test
 | |
|           push: true
 | |
|           tags: |
 | |
|             localhost:5000/name/app:latest
 | |
|       -
 | |
|         name: Inspect
 | |
|         run: |
 | |
|           docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | |
| 
 | |
|   build-macos:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           #- macos-14  # no virt: https://github.com/docker/actions-toolkit/issues/317
 | |
|           - macos-13
 | |
|           - macos-12
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         # https://github.com/crazy-max/ghaction-setup-docker/issues/108
 | |
|         name: Set up QEMU
 | |
|         if: startsWith(matrix.os, 'macos')
 | |
|         uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           version: ${{ env.DOCKER_VERSION }}
 | |
|       -
 | |
|         name: Start registry
 | |
|         run: |
 | |
|           docker run -d -p 5000:5000 --restart=always --name registry registry:2
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         uses: docker/setup-buildx-action@v3
 | |
|         with:
 | |
|           driver: docker
 | |
|           driver-opts: network=host
 | |
|       -
 | |
|         name: Build and push
 | |
|         uses: docker/build-push-action@v6
 | |
|         with:
 | |
|           context: ./test
 | |
|           push: true
 | |
|           tags: |
 | |
|             localhost:5000/name/app:latest
 | |
|       -
 | |
|         name: Inspect
 | |
|         run: |
 | |
|           docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | |
| 
 | |
|   build-windows:
 | |
|     runs-on: windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           version: ${{ env.DOCKER_VERSION }}
 | |
|       -
 | |
|         name: Build
 | |
|         working-directory: ./test
 | |
|         run: |
 | |
|           docker build -f win.Dockerfile -t test .
 | |
|       -
 | |
|         name: Inspect
 | |
|         run: |
 | |
|           docker image inspect test
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | |
| 
 | |
|   set-host:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Set up Docker
 | |
|         uses: ./
 | |
|         with:
 | |
|           set-host: true
 | |
|       -
 | |
|         name: List contexts
 | |
|         run: |
 | |
|           docker context ls
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v2
 | 
