From 269501eaa0c22bdc402e689b0d061325fb6ddbce Mon Sep 17 00:00:00 2001 From: Sean OMeara Date: Thu, 3 Feb 2022 14:18:36 +0100 Subject: [PATCH] adding drone config --- .drone.yml | 135 ++++++++++++++++++++++++++++++++++++++++++++ ci/Dockerfile.sid | 7 +++ ci/scripts/build.sh | 28 +++++++++ 3 files changed, 170 insertions(+) create mode 100644 .drone.yml create mode 100644 ci/Dockerfile.sid create mode 100755 ci/scripts/build.sh diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 000000000..8c0e0e9b0 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,135 @@ +--- +kind: pipeline +type: docker +name: build 386 + +clone: + depth: 1 + +steps: + - name: build 386 + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux 386 $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson + +--- +kind: pipeline +type: docker +name: build amd64 + +clone: + depth: 1 + +steps: + - name: build amd64 + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux amd64 $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson + +--- +kind: pipeline +type: docker +name: build arm64 + +clone: + depth: 1 + +steps: + - name: build arm64 + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux arm64 $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson + +--- +kind: pipeline +type: docker +name: build armv7 + +clone: + depth: 1 + +steps: + - name: build armv7 + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux armv7 $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson + +--- +kind: pipeline +type: docker +name: build riscv64 + +clone: + depth: 1 + +steps: + - name: build riscv64 + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux riscv64 $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson + +--- +kind: pipeline +type: docker +name: build mips64le + +clone: + depth: 1 + +steps: + - name: build mips64le + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux mips64le $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson + +--- +kind: pipeline +type: docker +name: build ppc64le + +clone: + depth: 1 + +steps: + - name: build ppc64le + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux ppc64le $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson + +--- +kind: pipeline +type: docker +name: build s390x + +clone: + depth: 1 + +steps: + - name: build s390x + image: registry.sean.farm/honda-builder + commands: + - ./ci/scripts/build.sh linux s390x $${DRONE_COMMIT_SHA} + +image_pull_secrets: + - dockerconfigjson diff --git a/ci/Dockerfile.sid b/ci/Dockerfile.sid new file mode 100644 index 000000000..4af604aac --- /dev/null +++ b/ci/Dockerfile.sid @@ -0,0 +1,7 @@ +FROM registry.sean.farm/sid-builder as stage +COPY . . +RUN /usr/bin/make -j 8 + +FROM scratch AS export +COPY --from=stage /zerotier-one . +COPY --from=stage /zerotier-cli . diff --git a/ci/scripts/build.sh b/ci/scripts/build.sh new file mode 100755 index 000000000..e0b6ce6b7 --- /dev/null +++ b/ci/scripts/build.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +export GOOS=$1 +export GOARCH=$2 +export VERSION=$3 +export DOCKER_BUILDKIT=1 + +echo "nproc: $(nproc)" + +case $GOARCH in + armv5) + export ARCH=arm/v5 + ;; + armv7) + export ARCH=arm/v7 + ;; + arm64) + export ARCH=arm64/v8 + ;; + *) + export ARCH=$GOARCH + ;; +esac + +docker run --privileged --rm tonistiigi/binfmt --install all +docker buildx build --platform ${GOOS}/${ARCH} -f ci/Dockerfile.sid --target export -t test . --output out/${GOOS}/${GOARCH}