tailscalesd/.gitlab-ci.yml
2023-11-06 12:44:00 +01:00

43 lines
1.2 KiB
YAML

image: python:3.11
stages:
- test
- build
test:
stage: test
variables:
TAILSCALESD_API_KEY: tskey-dummy
TAILSCALESD_TAILNET: example.com
script:
- apt-get update
- apt-get install -y make python3-poetry
- poetry install
- make check
docker-build:
image: docker:latest
stage: build
services:
- docker:dind
variables:
GIT_SUBMODULE_STRATEGY: recursive
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
# Default branch leaves tag empty (= latest tag)
# All other branches are tagged with the escaped branch name (commit ref slug)
script:
- |
if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
tag=""
echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'"
else
tag=":$CI_COMMIT_REF_SLUG"
echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag"
fi
- docker build --build-arg=APP_VERSION=$CI_COMMIT_REF_SLUG -f docker/Dockerfile --pull -t "$CI_REGISTRY_IMAGE${tag}" .
- docker push "$CI_REGISTRY_IMAGE${tag}"
# Run this job in a branch where a Dockerfile exists
rules:
- if: $CI_COMMIT_BRANCH
exists:
- docker/Dockerfile