aboutsummaryrefslogtreecommitdiff
path: root/.scripts.d/20-build.sh
blob: a78c16bf14f68e9c489710696a569c891ed91e9c (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
#!/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

echo "${GITEA_REGISTRY_TOKEN}" |
    docker login "${REGISTRY}" -u "${GITEA_REGISTRY_USER}" --password-stdin

docker buildx create --name builder --use --bootstrap
docker buildx build \
       --platform linux/amd64,linux/arm64 \
       --tag "${IMAGE_NAME}" \
       --build-arg VERSION="${LT_VERSION}" \
       --push \
       .