Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.54 KiB
image: docker-registry.schukai.com:443/nixos-ci-devenv:latest

#services:
#  - docker:dind


variables:
  # The repo name as used in
  # https://github.com/nix-community/NUR/blob/master/repos.json
  NIXOS_VERSION: "23.05"
  NIXPKGS_ALLOW_UNFREE: "1"
  NIXPKGS_ALLOW_INSECURE: "1"
#  DOCKER_DRIVER: overlay2
  GIT_DEPTH: 10


stages:
  - build
  - deploy

before_script:
#  - nix shell nixpkgs#coreutils-full -c mkdir -p /certs/client/
#  - nix shell nixpkgs#coreutils-full -c ln -fs /etc/ssl/certs/ca-bundle.crt /certs/client/ca.pem
  - echo > .env-gitlab-ci
  - variables=("HOME=$HOME" "CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME" "CI_REPOSITORY_URL=$CI_REPOSITORY_URL" "GITLAB_TOKEN=$GITLAB_TOKEN" "CI_JOB_TOKEN=$CI_JOB_TOKEN" "GITLAB_USER_EMAIL=$GITLAB_USER_EMAIL" "GITLAB_USER_NAME=\"$GITLAB_USER_NAME\"" "CI_REGISTRY_USER=$CI_REGISTRY_USER" "CI_PROJECT_ID=$CI_PROJECT_ID" "CI_PROJECT_DIR=$CI_PROJECT_DIR" "CI_API_V4_URL=$CI_API_V4_URL" "CI_PROJECT_NAME=$CI_PROJECT_NAME" "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA"); for var in "${variables[@]}"; do echo "$var" >> .env-gitlab-ci; done
  - cat .env-gitlab-ci

after_script:
  - if [ -f .env-gitlab-ci ]; then rm .env-gitlab-ci; fi

build:
  stage: build
  tags:
    - nixos
  script:
    - devenv shell build-app

  cache:
    - key: nixos
      paths:
        - /nix/store
  
  artifacts:
    paths:
      - dist

deploy:
  stage: deploy
  tags:
    - nixos
  script:
    - devenv shell -c deploy-app

  when: on_success

  cache:
    - key: nixos
      paths:
        - /nix/store


  artifacts:
    paths:
      - dist