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 - tag - release tag-it: stage: tag script: - git config user.email "''${GITLAB_USER_EMAIL}" - git config user.name "''${GITLAB_USER_NAME:-"Gitlab CI"}" - git config credential.helper '!f() { echo "username=gitlab-ci-token"; echo "password=''${CI_JOB_TOKEN}"; }; f' - git config pull.rebase true - git config http.sslVerify "false" - git remote set-url origin https://pad:''${GITLAB_TOKEN}@''${CI_REPOSITORY_URL#*@} - git fetch --all --tags --unshallow - git reset --hard origin/master - git checkout $CI_COMMIT_REF_NAME - git pull origin $CI_COMMIT_REF_NAME - version auto exit-code-if-no-bump - git push origin $CI_COMMIT_REF_NAME only: ## regex to x.y branches and master - master except: - tags release: stage: release image: name: goreleaser/goreleaser entrypoint: [''] only: - tags variables: # Disable shallow cloning so that goreleaser can diff between tags to GIT_DEPTH: 0 script: - goreleaser release --clean #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