Skip to content

Break up "omnibus docs test" #3213

@samsrabin

Description

@samsrabin

Right now doc/testing.sh is scheduled to run in its entirety whenever the docs are updated, via docs-omnibus.yml. This should be broken up for clarity and to minimize the number of GitHub workflow runs that need to happen.

As a first step, each part of the script itself should be broken up into component scripts. This will enable us to keep testing.sh around (it's useful for local testing) while also breaking it up into different workflow jobs.

Second, we should exclude changes to testing.sh from triggering docs-related workflows.

Third, the "Build all docs using container" test should be added to docs.yml. It should run regardless of whether the existing build-docs job passes, because theoretically it's possible for either to pass while the other fails.

Finally, docs-omnibus.yml should be broken up into two workflows with the following tests from testing.sh:

  1. docs-updated-doc-builder.yml
  2. docs-updated_ctsm_pylib.yml

These would run only when their respective parts are changed. Both would contain these three parts, which constitute one test (job):

  • "Build all docs using container"
  • "Build all docs using ctsm_pylib"
  • "Make sure container version is identical to no-container version"

They would also both contain a job for "Check that Makefile method works," since it depends on both docs-builder and ctsm_pylib.

docs-updated-doc-builder.yml would additionally contain the "Check that -r -v works" test. The "Check that -b works" test would be excluded from new GitHub workflows as it's already part of docs.yml.

Metadata

Metadata

Assignees

Labels

devopsDevelopment Operations to improve development throughput, E.g., adding GitHub Workflowsdocs-loc:infrastructureRelates to documentation infrastructuredocs:infrastructureNew features or bug fixes in the documentation infrastructuredocumentationadditions or edits to user-facing documentation or its infrastructure

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions