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"] image: nixpkgs/nix-flakes:latest before_script: - nix profile install nixpkgs#skopeo - export PATH="$PATH:$HOME/.nix-profile/bin" 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:${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