blob: 1e595d892291ae97ead718d7be50831d8d51c2d6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/bin/bash
# vim: ai:ts=8:sw=8:noet
set -EeufCo pipefail
export SHELLOPTS # propagate set to children by default
IFS=$'\t\n'
# check required commands are in place
command -v docker >/dev/null 2>&1 || { echo 'please install docker-client'; exit 1; }
# shellcheck disable=SC2001
REGISTRY=$(echo "${GITHUB_SERVER_URL}" | sed -e 's|^[^/]*//||')
TAG="${GITHUB_RUN_ID}"
IMAGE_NAME="${REGISTRY}/${GITHUB_REPOSITORY,,}:${TAG}"
function cleanup() {
docker stop "$(docker ps -aq --filter "ancestor=${IMAGE_NAME}")" >/dev/null 2>&1 || true
docker rm "$(docker ps -aq --filter "ancestor=${IMAGE_NAME}")" >/dev/null 2>&1 || true
docker buildx rm builder >/dev/null 2>&1 || true
}
trap cleanup EXIT
>&2 echo "Logging to ${REGISTRY}"
mkdir -p ~/.docker
auth=$(printf '%s:%s' "$GITEA_REGISTRY_USER" "$GITEA_REGISTRY_TOKEN" | base64 -w0)
cat > ~/.docker/config.json <<EOF
{"auths":{"${REGISTRY}":{"auth":"${auth}"}}}
EOF
cat > /tmp/buildkitd.toml <<EOF
[registry."${REGISTRY}"]
http = true
EOF
docker buildx create --name builder \
--use --bootstrap \
--config /tmp/buildkitd.toml
docker buildx build \
--platform linux/amd64,linux/arm64 \
--tag "${IMAGE_NAME}" \
--build-arg VERSION="${LT_VERSION}" \
--push \
.
|