Skip to content
Snippets Groups Projects

Draft: fix: append new *protected suffix to cache keys as Gitlab does

6 files
+ 70
57
Compare changes
  • Side-by-side
  • Inline
Files
6
---
loader: jobgraph.loader.transform:loader
transforms:
- jobgraph.transforms.job:transforms
job_defaults:
before_script:
- cd "${TF_ROOT}"
image: {in_tree: jobgraph}
optimization:
skip_unless_changed:
- gitlab-ci/schedules.yml
# We need to get access to $JOBGRAPH_BOT_GITLAB_TOKEN even for a `terraform plan`
run_on_git_branches:
- main
runner_alias: misc
variables:
TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/jobgraph
TF_ROOT: ${CI_PROJECT_DIR}/terraform
jobs:
plan:
artifacts:
name: plan
paths:
- ${CI_PROJECT_DIR}/plan.cache
reports:
terraform: ${CI_PROJECT_DIR}/plan.json
description: "Report what changes are going to be made to Gitlab CI schedules, based on the content of schedules.yml"
script:
- >-
gitlab-terraform plan
-var "GITLAB_PROJECT_ID=${CI_PROJECT_ID}"
-var "GITLAB_DEFAULT_BRANCH=${CI_DEFAULT_BRANCH}"
-var "JOBGRAPH_BOT_GITLAB_TOKEN=${JOBGRAPH_BOT_GITLAB_TOKEN}"
-var "SCHEDULES_YML_PATH=${CI_PROJECT_DIR}/gitlab-ci/schedules.yml"
- gitlab-terraform plan-json
- mv "${TF_ROOT}"/plan.* "${CI_PROJECT_DIR}"
apply:
description: "Change Gitlab CI schedules, based on the content of schedules.yml"
environment:
name: jobgraph
script:
- mv "${CI_PROJECT_DIR}/plan.cache" "${TF_ROOT}"
# No need to provide variable because it is going to reuse the existing cached plan.
- gitlab-terraform apply
upstream_dependencies: {jobgraph_schedules: "plan"}
Loading