docker-buildx/.github/workflows/ci.yml
2020-09-08 15:39:32 -07:00

211 lines
4.4 KiB
YAML

name: ci
on:
push:
branches:
- master
- releases/v*
paths-ignore:
- "**.md"
pull_request:
branches:
- master
- releases/v*
paths-ignore:
- "**.md"
jobs:
main:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
buildx-version:
- latest
- v0.2.2
- ""
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Set up Docker Buildx
id: buildx
uses: ./
with:
version: ${{ matrix.buildx-version }}
-
name: Builder instance name
run: echo ${{ steps.buildx.outputs.name }}
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
-
name: Dump context
uses: crazy-max/ghaction-dump-context@v1
multi:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Set up Docker Buildx 1
id: buildx1
uses: ./
-
name: Builder 1 instance name
run: echo ${{ steps.buildx1.outputs.name }}
-
name: Set up Docker Buildx 2
id: buildx2
uses: ./
-
name: Builder 2 instance name
run: echo ${{ steps.buildx2.outputs.name }}
install:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Set up Docker Buildx
uses: ./
with:
install: true
-
name: Check cmd
run: |
docker build --help
use:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
use:
- true
- false
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Set up Docker Buildx
uses: ./
with:
use: ${{ matrix.use }}
-
name: List builder instances
run: docker buildx ls
driver:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
driver-opts:
- image=moby/buildkit:latest
- |
image=moby/buildkit:master
network=host
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Set up Docker Buildx
uses: ./
with:
driver: docker-container
driver-opts: ${{ matrix.driver-opts }}
docker-driver:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Set up Docker Buildx
uses: ./
id: builder
with:
driver: docker
-
name: Verify
run: |
[[ "${{ steps.builder.outputs.name }}" = "default" ]]
docker buildx inspect
docker buildx inspect | grep Driver | grep docker
docker buildx inspect | grep Status | grep running
endpoint:
runs-on: ubuntu-latest
services:
dind:
image: docker:dind
options: >-
--privileged
--health-cmd "docker info"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
DOCKER_TLS_CERTDIR: ""
ports:
- 2375:2375
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Create context
run: |
docker context create mycontext --docker host=tcp://127.0.0.1:2375
-
name: Check context
run: |
docker --context mycontext info
-
name: Set up Docker Buildx
uses: ./
with:
endpoint: mycontext
with-qemu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
buildx-version:
- latest
- v0.2.2
- ""
qemu-platforms:
- all
- arm64,riscv64,arm
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
platforms: ${{ matrix.qemu-platforms }}
-
name: Set up Docker Buildx
id: buildx
uses: ./
with:
version: ${{ matrix.buildx-version }}
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
-
name: Builder instance name
run: echo ${{ steps.buildx.outputs.name }}