parent
7d312eaa0a
commit
6c704ac384
@ -0,0 +1,60 @@
|
||||
name: testing-builder
|
||||
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
builder:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
driver:
|
||||
- docker-container
|
||||
- kubernetes
|
||||
mode:
|
||||
- single-node
|
||||
- multiple-nodes
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup golang
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '1.16.x'
|
||||
|
||||
- name: Build buildx
|
||||
run: go build -o ~/.docker/cli-plugins/docker-buildx ./cmd/buildx
|
||||
|
||||
- name: Setup env
|
||||
run: |-
|
||||
case ${{ matrix.driver }} in
|
||||
kubernetes)
|
||||
curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" sh -s -;
|
||||
;;
|
||||
docker-container)
|
||||
docker run --rm --privileged tonistiigi/binfmt:latest --install all;
|
||||
;;
|
||||
esac
|
||||
|
||||
- name: Setup builder
|
||||
run: sh ./testings/builder/${{ matrix.driver }}/${{ matrix.mode }}.sh
|
||||
env:
|
||||
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
|
||||
|
||||
- name: Build single platform to local registry
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: ./testings/builder
|
||||
push: false
|
||||
platforms: linux/amd64
|
||||
tags: localhost/name/app:latest-amd64
|
||||
|
||||
- name: Build multiple platforms to local registry
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: ./testings/builder
|
||||
push: false
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: localhost/name/app:latest
|
@ -0,0 +1,6 @@
|
||||
FROM busybox
|
||||
|
||||
ARG BUILDPLATFORM
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
RUN echo "build ${TARGETPLATFORM} on ${BUILDPLATFORM} host"
|
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
BUILDER_NAME=${BUILDER_NAME:-builder}
|
||||
BUILDER_DRIVER=${BUILDER_DRIVER:-docker-container}
|
||||
|
||||
docker buildx create \
|
||||
--name="${BUILDER_NAME}" \
|
||||
--node="${BUILDER_NAME}-amd64" \
|
||||
--driver="${BUILDER_DRIVER}" \
|
||||
--platform=linux/amd64
|
||||
|
||||
docker buildx create --append \
|
||||
--name="${BUILDER_NAME}" \
|
||||
--node="${BUILDER_NAME}-arm64" \
|
||||
--driver="${BUILDER_DRIVER}" \
|
||||
--platform=linux/arm64
|
||||
|
||||
docker buildx inspect "${BUILDER_NAME}" --bootstrap
|
||||
docker buildx use "${BUILDER_NAME}"
|
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
BUILDER_NAME=${BUILDER_NAME:-builder}
|
||||
BUILDER_DRIVER=${BUILDER_DRIVER:-docker-container}
|
||||
|
||||
docker buildx create \
|
||||
--name="${BUILDER_NAME}" \
|
||||
--driver="${BUILDER_DRIVER}" \
|
||||
--platform=linux/amd64,linux/arm64
|
||||
|
||||
docker buildx inspect "${BUILDER_NAME}" --bootstrap
|
||||
docker buildx use "${BUILDER_NAME}"
|
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux;
|
||||
|
||||
export BUILDER_DRIVER=docker-container
|
||||
|
||||
sh ./testings/builder/create_multiple_nodes_builder.sh
|
||||
|
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux;
|
||||
|
||||
export BUILDER_DRIVER=docker-container
|
||||
|
||||
sh ./testings/builder/create_single_node_builder.sh
|
||||
|
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux;
|
||||
|
||||
export KUBECONFIG=${KUBECONFIG:-~/.kube/config}
|
||||
export BUILDER_DRIVER=kubernetes
|
||||
|
||||
sh ./testings/builder/create_multiple_nodes_builder.sh
|
||||
|
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux;
|
||||
|
||||
export BUILDER_DRIVER=kubernetes
|
||||
export KUBECONFIG=${KUBECONFIG:-~/.kube/config}
|
||||
|
||||
sh ./testings/builder/create_single_node_builder.sh
|
||||
|
Loading…
Reference in New Issue