diff options
Diffstat (limited to 'gitlab-ci.yml')
-rw-r--r-- | gitlab-ci.yml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gitlab-ci.yml b/gitlab-ci.yml new file mode 100644 index 0000000..889c3db --- /dev/null +++ b/gitlab-ci.yml @@ -0,0 +1,39 @@ +default: + image: nixpkgs/nix-flakes + before_script: + - . <(nix print-dev-env .#ci) + - export GOPATH=~/go + +check: + script: + - nix flake check . --print-build-logs + +build: + needs: + - check + variables: + CI_REGISTRY_IMAGE: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG + FLY_REGISTRY_IMAGE: registry.fly.io/alanpearce-eu + script: + - IMAGE_TAG="$(date --utc +%Y%m%d%H%M%S)-${CI_COMMIT_SHA}" + - nix build --max-jobs auto .\#server + - mkdir -p "/etc/containers/" + - echo '{"default":[{"type":"insecureAcceptAnything"}]}' > /etc/containers/policy.json + - image-fly + # - skopeo login --username "$CI_REGISTRY_USER" --password "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" + - skopeo --tmpdir=$TMPDIR inspect docker-archive://$(readlink -f result) + # - skopeo --tmpdir=$TMPDIR copy --dest-precompute-digests docker-archive://$(readlink -f result) docker://$CI_REGISTRY_IMAGE:${IMAGE_TAG} + - fly auth docker + - skopeo --tmpdir=$TMPDIR copy --dest-precompute-digests docker-archive://$(readlink -f result) docker://${FLY_REGISTRY_IMAGE}:${IMAGE_TAG} + - echo "FLY_REGISTRY_IMAGE_TAG=${FLY_REGISTRY_IMAGE}:${IMAGE_TAG}" >> build.env + artifacts: + reports: + dotenv: build.env + +deploy: + needs: + - build + script: + - fly deploy --image $FLY_REGISTRY_IMAGE_TAG + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH |