Fix nightly rename of finial directory path#4716
Merged
DavidHuber-NOAA merged 20 commits intoNOAA-EMC:developfrom Mar 31, 2026
Merged
Fix nightly rename of finial directory path#4716DavidHuber-NOAA merged 20 commits intoNOAA-EMC:developfrom
DavidHuber-NOAA merged 20 commits intoNOAA-EMC:developfrom
Conversation
Remove WORKSPACE_DATE and DATE variables from the CI pipeline. The post-hoc rename of WORKSPACE_ID to WORKSPACE_DATE during finalize caused path issues since GIT_CLONE_PATH is set at YAML level before any shell runs. Now the stable symlink points directly to WORKSPACE_ID, eliminating the rename step while preserving the latest-nightly pointer. Resolves #368
Remove CI/CD documentation files that came from the gitlab_documentation branch. These will be handled separately. Reverted files: - docs/source/index.rst (restored to develop) - docs/source/ci_cd_pipeline.rst (removed) - docs/source/_static/ci_cd_architecture.svg (removed)
Remove CI/CD documentation files that came from the gitlab_documentation branch. These will be handled separately. Reverted files: - docs/source/index.rst (restored to develop) - docs/source/ci_cd_pipeline.rst (removed) - docs/source/_static/ci_cd_architecture.svg (removed)
…nness-NOAA/global-workflow into fix_nightly_rename
Contributor
There was a problem hiding this comment.
Pull request overview
Removes the nightly “post-hoc workspace rename” behavior in GitLab CI to keep workspace paths stable across all pipeline stages, preventing Rocoto XML path breakage (issue #4715).
Changes:
- Eliminated
DATE/WORKSPACE_DATEcomputation and logging from.gitlab-ci.yml. - Simplified nightly finalize logic to update
stableto point directly atWORKSPACE_ID(nomvrename). - Cleaned up a stale
${DATE}reference in the run-experiments logging.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.gitlab-ci.yml |
Removes date-based workspace naming (WORKSPACE_DATE) so the pipeline uses WORKSPACE_ID consistently. |
dev/ci/gitlab-ci-cases.yml |
Updates nightly finalize to only refresh the stable symlink and removes outdated ${DATE} logging. |
DavidHuber-NOAA
approved these changes
Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR: Remove Nightly Workspace Directory Rename
Description
The GitLab CI pipeline uses
WORKSPACE_ID(containingCI_PIPELINE_ID) as theworkspace directory name throughout all stages — build, setup, run, and finalize.
For nightly scheduled pipelines, the finalize stage renames this directory from
the
WORKSPACE_IDformat to aWORKSPACE_DATEformat using a bashdatecall:This post-hoc rename causes path issues in the true paths that are in the Rocoto XML files.
Resolves #4715
Solution
Remove the
WORKSPACE_DATEconcept entirely and useWORKSPACE_IDas thesingle, stable directory name throughout the pipeline lifecycle. The
stablesymlink (already in use) provides the "latest successful nightly" pointer that
downstream consumers need.
Changes
.gitlab-ci.yml(before_script):DATEandWORKSPACE_DATEvariable computationdev/ci/gitlab-ci-cases.yml(finalize_success_template):mv WORKSPACE_ID → WORKSPACE_DATE) with a directsymlink:
ln -sf WORKSPACE_ID stable${DATE}reference from run_experiments_template echoBefore (finalize for nightly)
After (finalize for nightly)
ln -sf "${WORKSPACE_ID}" stableDirectory Layout
After a successful nightly run:
Impact
stablesymlink behavior is preserved for downstream accessCI_PIPELINE_IDCI_PIPELINE_CREATED_ATif needed-->
Type of change