188 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: ci
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - master
 | 
						|
      - v2-working-branch # remove when merged to master
 | 
						|
  pull_request:
 | 
						|
    branches:
 | 
						|
      - master
 | 
						|
      - v2-working-branch # remove when merged to master
 | 
						|
 | 
						|
jobs:
 | 
						|
  main:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    strategy:
 | 
						|
      fail-fast: false
 | 
						|
      matrix:
 | 
						|
        dockerfile:
 | 
						|
          - multi
 | 
						|
          - multi-sudo
 | 
						|
    steps:
 | 
						|
      -
 | 
						|
        name: Run local registry
 | 
						|
        run: |
 | 
						|
          docker run -d -p 5000:5000 registry:2
 | 
						|
      -
 | 
						|
        name: Checkout
 | 
						|
        uses: actions/checkout@v2.3.1
 | 
						|
      -
 | 
						|
        name: Set up QEMU
 | 
						|
        uses: ./setup-qemu/ # change to docker/setup-qemu-action@master
 | 
						|
        with:
 | 
						|
          platforms: all
 | 
						|
      -
 | 
						|
        name: Set up Docker Buildx
 | 
						|
        id: buildx
 | 
						|
        uses: ./setup-buildx/ # change to docker/setup-buildx-action@master
 | 
						|
#        with:
 | 
						|
#          driver-opt: network=host
 | 
						|
      -
 | 
						|
        name: Build and push
 | 
						|
        uses: ./
 | 
						|
        with:
 | 
						|
          context: ./test
 | 
						|
          file: ./test/Dockerfile-${{ matrix.dockerfile }}
 | 
						|
          builder: ${{ steps.buildx.outputs.name }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
          #allow: network.host,security.insecure
 | 
						|
          #push: true
 | 
						|
          tags: |
 | 
						|
            localhost:5000/name/app:latest
 | 
						|
            localhost:5000/name/app:1.0.0
 | 
						|
      -
 | 
						|
        name: Dump context
 | 
						|
        if: always()
 | 
						|
        uses: crazy-max/ghaction-dump-context@v1
 | 
						|
 | 
						|
  git-context:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      -
 | 
						|
        name: Run local registry
 | 
						|
        run: |
 | 
						|
          docker run -d -p 5000:5000 registry:2
 | 
						|
      -
 | 
						|
        name: Checkout
 | 
						|
        uses: actions/checkout@v2.3.1
 | 
						|
      -
 | 
						|
        name: Set up QEMU
 | 
						|
        uses: ./setup-qemu/ # change to docker/setup-qemu-action@master
 | 
						|
        with:
 | 
						|
          platforms: all
 | 
						|
      -
 | 
						|
        name: Set up Docker Buildx
 | 
						|
        id: buildx
 | 
						|
        uses: ./setup-buildx/ # change to docker/setup-buildx-action@master
 | 
						|
        with:
 | 
						|
          version: latest
 | 
						|
          #driver-opt: network=host
 | 
						|
      -
 | 
						|
        name: Build and push
 | 
						|
        uses: ./
 | 
						|
        env:
 | 
						|
          GIT_AUTH_TOKEN: ${{ github.token }}
 | 
						|
          GIT_REF: ${{ github.ref }}
 | 
						|
        with:
 | 
						|
          context: ${{ github.repositoryUrl }}
 | 
						|
          file: ./test/Dockerfile
 | 
						|
          builder: ${{ steps.buildx.outputs.name }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
          #allow: network.host,security.insecure
 | 
						|
          #push: true
 | 
						|
          tags: |
 | 
						|
            localhost:5000/name/app:latest
 | 
						|
            localhost:5000/name/app:1.0.0
 | 
						|
      -
 | 
						|
        name: Dump context
 | 
						|
        if: always()
 | 
						|
        uses: crazy-max/ghaction-dump-context@v1
 | 
						|
 | 
						|
  bake:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    strategy:
 | 
						|
      fail-fast: false
 | 
						|
      matrix:
 | 
						|
        target:
 | 
						|
          - default
 | 
						|
          - release
 | 
						|
    steps:
 | 
						|
      -
 | 
						|
        name: Run local registry
 | 
						|
        run: |
 | 
						|
          docker run -d -p 5000:5000 registry:2
 | 
						|
      -
 | 
						|
        name: Checkout
 | 
						|
        uses: actions/checkout@v2.3.1
 | 
						|
      -
 | 
						|
        name: Set up QEMU
 | 
						|
        uses: ./setup-qemu/ # change to docker/setup-qemu-action@master
 | 
						|
        with:
 | 
						|
          platforms: all
 | 
						|
      -
 | 
						|
        name: Set up Docker Buildx
 | 
						|
        id: buildx
 | 
						|
        uses: ./setup-buildx/ # change to docker/setup-buildx-action@master
 | 
						|
#        with:
 | 
						|
#          driver-opt: network=host
 | 
						|
      -
 | 
						|
        name: Build and push
 | 
						|
        uses: ./
 | 
						|
        with:
 | 
						|
          builder: ${{ steps.buildx.outputs.name }}
 | 
						|
          bake: true
 | 
						|
          #push: true
 | 
						|
          bake-files: |
 | 
						|
            ./test/config.hcl
 | 
						|
          bake-targets: |
 | 
						|
            ${{ matrix.target }}
 | 
						|
      -
 | 
						|
        name: Dump context
 | 
						|
        if: always()
 | 
						|
        uses: crazy-max/ghaction-dump-context@v1
 | 
						|
 | 
						|
  github-cache:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      -
 | 
						|
        name: Checkout
 | 
						|
        uses: actions/checkout@v2.3.1
 | 
						|
      -
 | 
						|
        name: Set up QEMU
 | 
						|
        uses: ./setup-qemu/ # change to docker/setup-qemu-action@master
 | 
						|
        with:
 | 
						|
          platforms: all
 | 
						|
      -
 | 
						|
        name: Set up Docker Buildx
 | 
						|
        id: buildx
 | 
						|
        uses: ./setup-buildx/ # change to docker/setup-buildx-action@master
 | 
						|
      -
 | 
						|
        name: Build 1
 | 
						|
        uses: ./
 | 
						|
        with:
 | 
						|
          context: ./test
 | 
						|
          file: ./test/Dockerfile-multi-golang
 | 
						|
          builder: ${{ steps.buildx.outputs.name }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
          cache-github: true
 | 
						|
          tags: |
 | 
						|
            localhost:5000/name/app:latest
 | 
						|
            localhost:5000/name/app:1.0.0
 | 
						|
      -
 | 
						|
        name: Build 2
 | 
						|
        uses: ./
 | 
						|
        with:
 | 
						|
          context: ./test
 | 
						|
          file: ./test/Dockerfile-multi-golang
 | 
						|
          builder: ${{ steps.buildx.outputs.name }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
          cache-github: true
 | 
						|
          tags: |
 | 
						|
            localhost:5000/name/app2:latest
 | 
						|
            localhost:5000/name/app2:1.0.0
 | 
						|
      -
 | 
						|
        name: Dump context
 | 
						|
        if: always()
 | 
						|
        uses: crazy-max/ghaction-dump-context@v1
 |