mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
74a7e96409
* ci: add integration containers for duo and haproxy This change utilises specific integration containers for the DuoPush and HAProxy suites. In the case of DuoPush suite specifically in dev mode the container will be built on suite startup. * ci: factorize pre-command hook and unset async on trigger steps
67 lines
2.5 KiB
Bash
Executable File
67 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set +u
|
|
|
|
INTEGRATION() {
|
|
if [[ "${BUILDKITE_BRANCH}" =~ ^renovate/ ]]; then
|
|
sed -i "s/${CONTAINER}/${CONTAINER}:renovate/" "${FILE}"
|
|
elif [[ "${BUILDKITE_BRANCH}" != "master" ]] && [[ ! "${BUILDKITE_BRANCH}" =~ .*:.* ]]; then
|
|
sed -i "s/${CONTAINER}/${CONTAINER}:${BUILDKITE_BRANCH}/" "${FILE}"
|
|
elif [[ "${BUILDKITE_BRANCH}" != "master" ]] && [[ "${BUILDKITE_BRANCH}" =~ .*:.* ]]; then
|
|
sed -i "s/${CONTAINER}/${CONTAINER}:PR${BUILDKITE_PULL_REQUEST}/" "${FILE}"
|
|
fi
|
|
}
|
|
|
|
if [[ "${BUILDKITE_LABEL}" == ":service_dog: Linting" ]]; then
|
|
cd web && pnpm install && cd ../
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_LABEL}" == ":docker: Build Image [coverage]" ]]; then
|
|
cp -R /buildkite/.pnpm-store .
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_STEP_KEY}" =~ build-deb-package-(arm64|armhf) && "${BUILDKITE_AGENT_NAME}" =~ sauron* ]]; then
|
|
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_LABEL}" =~ ":debian: Build Package" ]]; then
|
|
buildkite-agent artifact download "authelia-linux-${ARCH}.tar.gz" .
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_LABEL}" =~ ":selenium:" ]]; then
|
|
DEFAULT_ARCH=coverage
|
|
echo "--- :docker: Extract, load and tag build container"
|
|
buildkite-agent artifact download "authelia-image-${DEFAULT_ARCH}*" .
|
|
zstdcat "authelia-image-${DEFAULT_ARCH}.tar.zst" | docker load
|
|
docker tag authelia/authelia authelia:dist
|
|
|
|
if [[ "${BUILD_DUO}" == "true" ]] && [[ "${SUITE}" == "DuoPush" ]]; then
|
|
CONTAINER="integration-duo"
|
|
FILE="internal/suites/example/compose/duo-api/docker-compose.dist.yml"
|
|
INTEGRATION
|
|
elif [[ "${BUILD_HAPROXY}" == "true" ]] && [[ "${SUITE}" == "HAProxy" ]]; then
|
|
CONTAINER="integration-haproxy"
|
|
FILE="internal/suites/example/compose/haproxy/docker-compose.yml"
|
|
INTEGRATION
|
|
fi
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_LABEL}" == ":docker: Build and Deploy" ]]; then
|
|
echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_LABEL}" == ":docker: Deploy Manifest" ]]; then
|
|
echo "--- :go: :react: :swagger: Extract pre-built binary"
|
|
buildkite-agent artifact download "authelia-linux-*-musl.tar.gz" .
|
|
for archive in authelia-linux-*-musl.tar.gz; do tar xzf ${archive} --wildcards "authelia-linux-*"; done
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_LABEL}" == ":github: Deploy Artifacts" ]]; then
|
|
buildkite-agent artifact download "authelia-*.tar.gz*" .
|
|
buildkite-agent artifact download "authelia_*.deb*" .
|
|
fi
|
|
|
|
if [[ "${BUILDKITE_LABEL}" == ":debian: :fedora: :ubuntu: Deploy APT" ]]; then
|
|
buildkite-agent artifact download "authelia_*.deb" .
|
|
fi
|