72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# This workflow is provided just as an usage example and not for repo testing/verification
 | 
						|
name: example
 | 
						|
 | 
						|
on:
 | 
						|
  schedule:
 | 
						|
    - cron: '0 10 * * 0' # everyday sunday at 10am
 | 
						|
  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@v2
 | 
						|
      -
 | 
						|
        name: Docker meta
 | 
						|
        id: docker_meta
 | 
						|
        uses: crazy-max/ghaction-docker-meta@v1
 | 
						|
        with:
 | 
						|
          images: ${{ env.DOCKER_IMAGE }} # list of Docker images to use as base name for tags
 | 
						|
          tag-sha: true # add git short SHA as Docker tag
 | 
						|
      -
 | 
						|
        name: Set up Docker Buildx
 | 
						|
        uses: docker/setup-buildx-action@v1
 | 
						|
        with:
 | 
						|
          driver-opts: network=host
 | 
						|
      -
 | 
						|
        name: Build and export to Docker client
 | 
						|
        uses: ./
 | 
						|
        with:
 | 
						|
          context: ./test
 | 
						|
          file: ./test/Dockerfile
 | 
						|
          load: true
 | 
						|
          tags: ${{ steps.docker_meta.outputs.tags }}
 | 
						|
          labels: ${{ steps.docker_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.docker_meta.outputs.tags }}
 | 
						|
          labels: ${{ steps.docker_meta.outputs.labels }}
 | 
						|
      -
 | 
						|
        name: Inspect image
 | 
						|
        run: |
 | 
						|
          docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
 | 
						|
      -
 | 
						|
        name: Check manifest
 | 
						|
        if: github.event_name != 'pull_request'
 | 
						|
        run: |
 | 
						|
          docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
 | 
						|
      -
 | 
						|
        name: Dump context
 | 
						|
        if: always()
 | 
						|
        uses: crazy-max/ghaction-dump-context@v1
 |