depot/.gitlab-ci.yml
Luke Granger-Brown ca02dda602 gitlab-ci: update for newer GitLab
We now have resource_groups, and environment.name. We don't yet have
environment.deployment_tier, though, but that can live in the base template and
be enabled once Heptapod is at GitLab 13.10.
2021-03-28 01:31:35 +00:00

160 lines
3.6 KiB
YAML

# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
#
# SPDX-License-Identifier: Apache-2.0
stages:
- build
- deploy
nixCache:
stage: build
image: "nixos/nix:latest"
script:
- "nix run -f ./ third_party.nixpkgs.bash -c ./hack/populate_secrets.sh"
- "nix build -v -f ./ci-root.nix --substituters \"https://cache.nixos.org/ s3://lukegb-nix-cache?endpoint=storage.googleapis.com&trusted=1\""
- "nix copy -v --to 's3://lukegb-nix-cache?endpoint=storage.googleapis.com' ./result"
- "cat ./result/other-systemPathJSON > systems.json"
artifacts:
paths:
- systems.json
expire_in: '30 days'
tags:
- cacher
.deploy:
stage: deploy
needs:
- job: nixCache
artifacts: true
tags:
- deployer
# environment:
# deployment_tier: production
marukuru:
extends: .deploy
resource_group: marukuru
script: './hack/deploy.sh "marukuru" "-p 20022"'
environment:
name: marukuru
clouvider-fra01:
extends: .deploy
resource_group: clouvider-fra01
script: './hack/deploy.sh "clouvider-fra01" ""'
environment:
name: clouvider-fra01
kusakabe:
extends: .deploy
resource_group: kusakabe
script: './hack/deploy.sh "kusakabe" ""'
environment:
name: kusakabe
clouvider-lon01:
extends: .deploy
resource_group: clouvider-lon01
script: './hack/deploy.sh "clouvider-lon01" ""'
environment:
name: clouvider-lon01
totoro:
extends: .deploy
resource_group: totoro
script: './hack/deploy.sh "totoro" ""'
environment:
name: totoro
swann:
extends: .deploy
resource_group: swann
script: './hack/deploy.sh "swann" ""'
environment:
name: swann
etheroute-lon01:
extends: .deploy
resource_group: etheroute-lon01
script: './hack/deploy.sh "etheroute-lon01" ""'
environment:
name: etheroute-lon01
blade-janeway:
extends: .deploy
resource_group: blade-janeway
script: './hack/deploy.sh "blade-janeway" ""'
environment:
name: blade-janeway
# chakotay and kim are not autodeployed because they're usually off.
#blade-chakotay:
# extends: .deploy
# resource_group: blade-chakotay
# script: './hack/deploy.sh "blade-chakotay" ""'
# environment:
# name: blade-chakotay
#
#blade-kim:
# extends: .deploy
# resource_group: blade-kim
# script: './hack/deploy.sh "blade-kim" ""'
# environment:
# name: blade-kim
# paris and tuvok are not autodeployed because they are the routers, and I don't trust myself
#blade-paris:
# extends: .deploy
# resource_group: blade-paris
# script: './hack/deploy.sh "blade-paris" ""'
# environment:
# name: blade-paris
#
#blade-tuvok:
# extends: .deploy
# resource_group: blade-tuvok
# script: './hack/deploy.sh "blade-tuvok" ""'
# environment:
# name: blade-tuvok
blade-torres:
extends: .deploy
resource_group: blade-torres
script: './hack/deploy.sh "blade-torres" ""'
environment:
name: blade-torres
bvm-nixosmgmt:
extends: .deploy
resource_group: bvm-nixosmgmt
script: './hack/deploy.sh "bvm-nixosmgmt" ""'
environment:
name: bvm-nixosmgmt
frantech-las01:
extends: .deploy
resource_group: frantech-las01
script: './hack/deploy.sh "frantech-las01" ""'
environment:
name: frantech-las01
frantech-lux01:
extends: .deploy
resource_group: frantech-lux01
script: './hack/deploy.sh "frantech-lux01" ""'
environment:
name: frantech-lux01
frantech-nyc01:
extends: .deploy
resource_group: frantech-nyc01
script: './hack/deploy.sh "frantech-nyc01" ""'
environment:
name: frantech-nyc01
docker-push:
stage: deploy
tags:
# We run this on cacher instead, because disk space.
- cacher
script: './hack/dockerpush.sh'