From bbda985b3aec721a7d972d76780ca981140f6f3c Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 21 Apr 2024 18:46:33 +0200 Subject: test gitlab ci --- gitlab-ci.yml | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/gitlab-ci.yml b/gitlab-ci.yml index 889c3db..c4af48d 100644 --- a/gitlab-ci.yml +++ b/gitlab-ci.yml @@ -1,39 +1,47 @@ -default: - image: nixpkgs/nix-flakes - before_script: - - . <(nix print-dev-env .#ci) - - export GOPATH=~/go +image: nixpkgs/nix-flakes + +stages: + - check + - build + - deploy check: + stage: check script: - nix flake check . --print-build-logs build: + stage: 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 + before_script: + - . <(nix print-dev-env .#ci) - 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 + - just docker-image-fly + script: + - export DOCKER_TAG="$(date --utc +%Y%m%d%H%M%S)-${CI_COMMIT_SHA}" + - just nix-build builder + - just docker-image-fly + - just docker-inspect result --tmpdir=$TMPDIR + - just print-docker-tag + - | + if fly auth whoami > /dev/null 2>&1 + then + fly auth docker + just push-to-registry --tmpdir=$TMPDIR --dest-precompute-digests + just print-docker-tag >> build.env + fi artifacts: reports: dotenv: build.env deploy: + stage: deploy needs: - build script: + - fly auth docker - fly deploy --image $FLY_REGISTRY_IMAGE_TAG rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH -- cgit 1.4.1