From a2a7f7c4eddd03a2582892ab66b258f913fdbe0e Mon Sep 17 00:00:00 2001 From: technofab Date: Fri, 13 Sep 2024 17:54:24 +0200 Subject: [PATCH] chore(CI): build image on tag & tag images with short sha instead of date --- .gitlab-ci.yml | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a00bed5..8ffc5b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,15 +1,13 @@ include: - component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/nix-gitlab-ci@$CI_COMMIT_SHA - stages: - build - trigger - build:image: stage: build parallel: matrix: - - VARIANT: [ "", "-cachix", "-attic" ] + - VARIANT: ["", "-cachix", "-attic"] image: nixpkgs/nix-flakes:latest before_script: - nix profile install nixpkgs#skopeo @@ -17,9 +15,18 @@ build:image: script: - nix build .#image${VARIANT} - export NORMALIZED_BRANCH=${CI_COMMIT_BRANCH/\//-} - - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" --tmpdir /tmp - "docker-archive:result" - "docker://$CI_REGISTRY_IMAGE/nix-ci:${NORMALIZED_BRANCH/main/latest}${VARIANT}" - - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" --tmpdir /tmp - "docker-archive:result" - "docker://$CI_REGISTRY_IMAGE/nix-ci:$(date +"%m-%d-%y")${VARIANT}" + - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" --tmpdir /tmp "docker-archive:result" "docker://$CI_REGISTRY_IMAGE/nix-ci:${CI_COMMIT_SHORT_SHA}${VARIANT}" + # branches + - | + if [ -z "$CI_COMMIT_TAG" ]; then + skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" --tmpdir /tmp \ + "docker-archive:result" \ + "docker://$CI_REGISTRY_IMAGE/nix-ci:${NORMALIZED_BRANCH/main/latest}${VARIANT}"; + fi + # tags + - | + if [ -n "$CI_COMMIT_TAG" ]; then + skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" --tmpdir /tmp \ + "docker-archive:result" \ + "docker://$CI_REGISTRY_IMAGE/nix-ci:${CI_COMMIT_TAG}${VARIANT}"; + fi