UNCLASSIFIED - NO CUI

#626 : Fix rules on scheduled bb-docs runs to correct behavior

General MR

Summary

When we introduced the new bb-docs monitoring job, we broke some of the logic around the other scheduled jobs. Specifically the on-schedule-latest and on-schedule-tag jobs. These jobs used to execute independently on their own schedules, but once the monitoring job was merged, they started executing simultaneously on each others' schedules. This lead to failures as both jobs were attempting to update the git repo at the same time. This is due to the fact that the only:variables condition used to manage their execution does not handle multiple variable conditions as AND, rather as OR. So the conditions evaluate to true any time either variable expression is true, resulting in them executing when they should not.

This changes the only:variables conditions to rules: blocks. According to the upstream docs, only: blocks are deprecated anyway and may be removed at some point in the future.

Relevant logs/screenshots

When the package-validation test is set to run the nightly latest schedule, only the nightly latest schedule runs:

include: # standard for the BB repo
  - project: 'big-bang/pipeline-templates/pipeline-templates'
    ref: "626_scheduled_rules_fix"
    file: '/pipelines/bigbang-docs.yaml'
variables:
  PIPELINE_REPO_BRANCH: "626_scheduled_rules_fix"
  CI_DEFAULT_BRANCH: "akesterson-bb-docs-compiler-main"
  CI_PIPELINE_SOURCE: schedule
  DEBUG: true
  LATEST: true

image

When the package-validation test is set to run the nightly tag schedule, only the nightly tag schedule runs:

include: # standard for the BB repo
  - project: 'big-bang/pipeline-templates/pipeline-templates'
    ref: "626_scheduled_rules_fix"
    file: '/pipelines/bigbang-docs.yaml'
variables:
  PIPELINE_REPO_BRANCH: "626_scheduled_rules_fix"
  CI_DEFAULT_BRANCH: "akesterson-bb-docs-compiler-main"
  CI_PIPELINE_SOURCE: schedule
  DEBUG: true
  TAG: true

image

When the package-validation test is set to run the monitor schedule, only the monitor schedule runs:

include: # standard for the BB repo
  - project: 'big-bang/pipeline-templates/pipeline-templates'
    ref: "626_scheduled_rules_fix"
    file: '/pipelines/bigbang-docs.yaml'
variables:
  PIPELINE_REPO_BRANCH: "626_scheduled_rules_fix"
  CI_DEFAULT_BRANCH: "akesterson-bb-docs-compiler-main"
  CI_PIPELINE_SOURCE: schedule
  DEBUG: true
  MONITOR: true

image

Linked Issue

Closes #626 (closed)

Upgrade Notices

N/A

Edited by Andrew Kesterson

Merge request reports

Loading