236 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			236 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			YAML
		
	
	
| name: ci
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - master
 | |
|   pull_request:
 | |
|     branches:
 | |
|       - master
 | |
| 
 | |
| jobs:
 | |
|   git-context:
 | |
|     runs-on: ubuntu-latest
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         buildx-version:
 | |
|           - latest
 | |
|     services:
 | |
|       registry:
 | |
|         image: registry:2
 | |
|         ports:
 | |
|           - 5000:5000
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v2.3.2
 | |
|       -
 | |
|         name: Set up QEMU
 | |
|         uses: docker/setup-qemu-action@v1
 | |
|         with:
 | |
|           platforms: all
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         id: buildx
 | |
|         uses: docker/setup-buildx-action@v1
 | |
|         with:
 | |
|           version: ${{ matrix.buildx-version }}
 | |
|           driver-opts: network=host
 | |
|       -
 | |
|         name: Build and push
 | |
|         id: docker_build
 | |
|         uses: ./
 | |
|         with:
 | |
|           file: ./test/Dockerfile
 | |
|           builder: ${{ steps.buildx.outputs.name }}
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: true
 | |
|           tags: |
 | |
|             localhost:5000/name/app:latest
 | |
|             localhost:5000/name/app:1.0.0            
 | |
|           secrets: |
 | |
|             GIT_AUTH_TOKEN=${{ github.token }}            
 | |
|       -
 | |
|         name: Inspect
 | |
|         run: |
 | |
|           docker buildx imagetools inspect localhost:5000/name/app:1.0.0          
 | |
|       -
 | |
|         name: Image digest
 | |
|         run: echo ${{ steps.docker_build.outputs.digest }}
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v1
 | |
| 
 | |
|   path-context:
 | |
|     runs-on: ubuntu-latest
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         buildx-version:
 | |
|           - ""
 | |
|           - latest
 | |
|     services:
 | |
|       registry:
 | |
|         image: registry:2
 | |
|         ports:
 | |
|           - 5000:5000
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v2.3.2
 | |
|       -
 | |
|         name: Set up QEMU
 | |
|         uses: docker/setup-qemu-action@v1
 | |
|         with:
 | |
|           platforms: all
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         id: buildx
 | |
|         uses: docker/setup-buildx-action@v1
 | |
|         with:
 | |
|           version: ${{ matrix.buildx-version }}
 | |
|           driver-opts: network=host
 | |
|       -
 | |
|         name: Build and push
 | |
|         id: docker_build
 | |
|         uses: ./
 | |
|         with:
 | |
|           context: ./test
 | |
|           file: ./test/Dockerfile
 | |
|           builder: ${{ steps.buildx.outputs.name }}
 | |
|           push: true
 | |
|           tags: |
 | |
|             localhost:5000/name/app:latest
 | |
|             localhost:5000/name/app:1.0.0            
 | |
|       -
 | |
|         name: Inspect
 | |
|         run: |
 | |
|           docker buildx imagetools inspect localhost:5000/name/app:1.0.0          
 | |
|       -
 | |
|         name: Image digest
 | |
|         run: echo ${{ steps.docker_build.outputs.digest }}
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v1
 | |
| 
 | |
|   multi:
 | |
|     runs-on: ubuntu-latest
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         buildx-version:
 | |
|           - ""
 | |
|           - latest
 | |
|         dockerfile:
 | |
|           - multi
 | |
|           - multi-sudo
 | |
|     services:
 | |
|       registry:
 | |
|         image: registry:2
 | |
|         ports:
 | |
|           - 5000:5000
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v2.3.2
 | |
|       -
 | |
|         name: Set up QEMU
 | |
|         uses: docker/setup-qemu-action@v1
 | |
|         with:
 | |
|           platforms: all
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         id: buildx
 | |
|         uses: docker/setup-buildx-action@v1
 | |
|         with:
 | |
|           version: ${{ matrix.buildx-version }}
 | |
|           driver-opts: network=host
 | |
|       -
 | |
|         name: Build and push
 | |
|         id: docker_build
 | |
|         uses: ./
 | |
|         with:
 | |
|           context: ./test
 | |
|           file: ./test/Dockerfile-${{ matrix.dockerfile }}
 | |
|           builder: ${{ steps.buildx.outputs.name }}
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: true
 | |
|           tags: |
 | |
|             localhost:5000/name/app:latest
 | |
|             localhost:5000/name/app:1.0.0            
 | |
|       -
 | |
|         name: Inspect
 | |
|         run: |
 | |
|           docker buildx imagetools inspect localhost:5000/name/app:1.0.0          
 | |
|       -
 | |
|         name: Image digest
 | |
|         run: echo ${{ steps.docker_build.outputs.digest }}
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v1
 | |
| 
 | |
|   github-cache:
 | |
|     runs-on: ubuntu-latest
 | |
|     services:
 | |
|       registry:
 | |
|         image: registry:2
 | |
|         ports:
 | |
|           - 5000:5000
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v2.3.2
 | |
|       -
 | |
|         name: Set up QEMU
 | |
|         uses: docker/setup-qemu-action@v1
 | |
|         with:
 | |
|           platforms: all
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         id: buildx
 | |
|         uses: docker/setup-buildx-action@v1
 | |
|         with:
 | |
|           driver-opts: network=host
 | |
|       -
 | |
|         name: Cache Docker layers
 | |
|         uses: actions/cache@v2
 | |
|         id: cache
 | |
|         with:
 | |
|           path: /tmp/.buildx-cache
 | |
|           key: ${{ runner.os }}-buildx-${{ github.sha }}
 | |
|           restore-keys: |
 | |
|             ${{ runner.os }}-buildx-            
 | |
|       -
 | |
|         name: Build and push
 | |
|         id: docker_build
 | |
|         uses: ./
 | |
|         with:
 | |
|           context: ./test
 | |
|           file: ./test/Dockerfile-multi-golang
 | |
|           builder: ${{ steps.buildx.outputs.name }}
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: true
 | |
|           tags: |
 | |
|             localhost:5000/name/app:latest
 | |
|             localhost:5000/name/app:1.0.0            
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
|       -
 | |
|         name: Inspect
 | |
|         run: |
 | |
|           docker buildx imagetools inspect localhost:5000/name/app:1.0.0          
 | |
|       -
 | |
|         name: Image digest
 | |
|         run: echo ${{ steps.docker_build.outputs.digest }}
 | |
|       -
 | |
|         name: Cache hit
 | |
|         run: echo ${{ steps.cache.outputs.cache-hit }}
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v1
 |