depot/.gitlab-ci.yml

106 lines
2.4 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
marukuru:
extends: .deploy
#resource_group: marukuru
script: './hack/deploy.sh "marukuru" "-p 20022"'
clouvider-fra01:
extends: .deploy
#resource_group: clouvider-fra01
script: './hack/deploy.sh "clouvider-fra01" ""'
kusakabe:
extends: .deploy
#resource_group: kusakabe
script: './hack/deploy.sh "kusakabe" ""'
clouvider-lon01:
extends: .deploy
script: './hack/deploy.sh "clouvider-lon01" ""'
totoro:
extends: .deploy
script: './hack/deploy.sh "totoro" ""'
swann:
extends: .deploy
script: './hack/deploy.sh "swann" ""'
etheroute-lon01:
extends: .deploy
script: './hack/deploy.sh "etheroute-lon01" ""'
blade-janeway:
extends: .deploy
script: './hack/deploy.sh "blade-janeway" ""'
# chakotay and kim are not autodeployed because they're usually off.
#blade-chakotay:
# extends: .deploy
# script: './hack/deploy.sh "blade-chakotay" ""'
#
#blade-kim:
# extends: .deploy
# script: './hack/deploy.sh "blade-kim" ""'
# paris and tuvok are not autodeployed because they are the routers, and I don't trust myself
#blade-paris:
# extends: .deploy
# script: './hack/deploy.sh "blade-paris" ""'
#
#blade-tuvok:
# extends: .deploy
# script: './hack/deploy.sh "blade-tuvok" ""'
blade-torres:
extends: .deploy
script: './hack/deploy.sh "blade-torres" ""'
las01-frantech:
extends: .deploy
script: './hack/deploy.sh "las01-frantech" ""'
lux01-frantech:
extends: .deploy
script: './hack/deploy.sh "lux01-frantech" ""'
nyc01-frantech:
extends: .deploy
script: './hack/deploy.sh "nyc01-frantech" ""'
docker-push:
stage: deploy
tags:
# We run this on cacher instead, because disk space.
- cacher
script: './hack/dockerpush.sh'