mirror of
https://gitlab.com/TECHNOFAB/nix-gitlab-ci.git
synced 2025-12-12 18:20:07 +01:00
35 lines
1.3 KiB
YAML
35 lines
1.3 KiB
YAML
include:
|
|
- component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/nix-gitlab-ci@$CI_COMMIT_SHA
|
|
inputs:
|
|
image_tag: $CI_COMMIT_SHORT_SHA
|
|
stages:
|
|
- build-images
|
|
- build
|
|
- trigger
|
|
build:image:
|
|
stage: build-images
|
|
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
|