79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # This workflow is provided just as an example and not for repo testing/verification
 | |
| name: example
 | |
| 
 | |
| on:
 | |
|   schedule:
 | |
|     - cron: '0 10 * * 0'
 | |
|   push:
 | |
|     branches:
 | |
|       - '**'
 | |
|     tags:
 | |
|       - 'v*.*.*'
 | |
|   pull_request:
 | |
| 
 | |
| env:
 | |
|   DOCKER_IMAGE: localhost:5000/name/app
 | |
| 
 | |
| jobs:
 | |
|   docker:
 | |
|     runs-on: ubuntu-latest
 | |
|     services:
 | |
|       registry:
 | |
|         image: registry:2
 | |
|         ports:
 | |
|           - 5000:5000
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v3
 | |
|       -
 | |
|         name: Docker meta
 | |
|         id: meta
 | |
|         uses: docker/metadata-action@v4
 | |
|         with:
 | |
|           images: ${{ env.DOCKER_IMAGE }}
 | |
|           tags: |
 | |
|             type=schedule
 | |
|             type=ref,event=branch
 | |
|             type=ref,event=pr
 | |
|             type=semver,pattern={{version}}
 | |
|             type=semver,pattern={{major}}.{{minor}}
 | |
|             type=semver,pattern={{major}}
 | |
|             type=sha
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         uses: docker/setup-buildx-action@v2
 | |
|         with:
 | |
|           driver-opts: network=host
 | |
|       -
 | |
|         name: Build and export to Docker client
 | |
|         uses: ./
 | |
|         with:
 | |
|           context: ./test
 | |
|           file: ./test/Dockerfile
 | |
|           load: true
 | |
|           tags: ${{ steps.meta.outputs.tags }}
 | |
|           labels: ${{ steps.meta.outputs.labels }}
 | |
|       -
 | |
|         name: Build and push to local registry
 | |
|         uses: ./
 | |
|         with:
 | |
|           context: ./test
 | |
|           file: ./test/Dockerfile
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta.outputs.tags }}
 | |
|           labels: ${{ steps.meta.outputs.labels }}
 | |
|       -
 | |
|         name: Inspect image
 | |
|         run: |
 | |
|           docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }}
 | |
|       -
 | |
|         name: Check manifest
 | |
|         if: github.event_name != 'pull_request'
 | |
|         run: |
 | |
|           docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }}
 | |
|       -
 | |
|         name: Dump context
 | |
|         if: always()
 | |
|         uses: crazy-max/ghaction-dump-context@v1
 | 
