Files
nixos/.gitlab-ci.yml
T

85 lines
2.0 KiB
YAML

stages:
- eval
- build
- push
default:
tags:
- nix
"Evaluate for builds":
stage: eval
artifacts:
paths:
- gitlab-ci-continue.yml
script: nix run ".#gen-build" > gitlab-ci-continue.yml
"Trigger builds":
stage: build
trigger:
include:
- artifact: gitlab-ci-continue.yml
job: "Evaluate for builds"
variables:
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
"Build image":
stage: build
tags:
- kubernetes
image: "$CI_REGISTRY_IMAGE/img-builder:latest"
parallel: &parallel
matrix:
- IMG:
- img-bitwarden
- img-immich
- img-builder
script:
- nix build ".#${IMG}"
- >-
podman login
-u "$CI_REGISTRY_USER"
-p "$CI_REGISTRY_PASSWORD"
"$CI_REGISTRY"
- cp -r ~/.nix-profile/etc/containers /etc
- podman load -i result
- podman tag "localhost/${IMG}:latest" "$CI_CONTAINER_IMAGE/${IMG}:latest"
- podman push "$CI_REGISTRY_IMAGE/${IMG}:latest"
# "Build image":
# stage: build
# tags:
# - kubernetes
# image: "nixos/nix:latest"
# parallel: &parallel
# matrix:
# - IMG:
# - img-bitwarden
# - img-immich
# - img-builder
# script:
# - nix --extra-experimental-features "nix-command flakes" build ".#${IMG}"
# - cp -L result "${IMG}.tar.gz"
# - >-
# nix
# --extra-experimental-features "nix-command flakes"
# build "nixpkgs#podman"
# --out-link podman
# - >-
# ./podman/bin/podman login
# -u "$CI_REGISTRY_USER"
# -p "$CI_REGISTRY_PASSWORD"
# "$CI_REGISTRY"
# - mkdir -p /etc/containers/
# - |-
# cat << EOF > /etc/containers/policy.json
# {
# "default": [{"type": "insecureAcceptAnything"}]
# }
# EOF
# - ./podman/bin/podman load -i "${IMG}.tar.gz"
# - >-
# ./podman/bin/podman tag
# "localhost/${IMG}:latest"
# "$CI_REGISTRY/greg/nixos-config/${IMG}:latest"
# - ./podman/bin/podman push "$CI_REGISTRY/greg/nixos-config/${IMG}:latest"