Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@adrienbernede
Copy link
Member

@adrienbernede adrienbernede commented Oct 31, 2025

This commit migrates the RAJA CI configuration from the template-based approach to GitLab CI Components (requires GitLab 17.0+). Components provide better versioning, type-safe inputs, and cleaner syntax.

Changes:

  • Update .gitlab-ci.yml to use components from radiuss-shared-ci:
    • base-pipeline component for core functionality and .machine-check template
    • utility-draft-pr-filter component for draft PR handling
    • Machine-specific pipeline components (dane, matrix, corona, tioga, tuolumne)
  • Split custom-jobs-and-variables.yml into separate files:
    • custom-jobs.yml: Job templates for child pipelines
    • custom-variables.yml: Machine-specific allocation variables
  • Consolidate machine pipeline definitions into main .gitlab-ci.yml
  • Remove .gitlab/subscribed-pipelines.yml (replaced by inline definitions)
  • Add RADIUSS_SHARED_CI_REF variable to specify component version
  • Update copyright year to 2025

The old custom-jobs-and-variables.yml file is retained for backward compatibility but is no longer referenced by the CI configuration.

TODO:

  • Complete the documentation update to reflect changes in CI (on-going)

adrienbernede and others added 7 commits October 31, 2025 21:21
This commit migrates the RAJA CI configuration from the template-based
approach to GitLab CI Components (requires GitLab 17.0+). Components
provide better versioning, type-safe inputs, and cleaner syntax.

Changes:
- Update .gitlab-ci.yml to use components from radiuss-shared-ci:
  - base-pipeline component for core functionality and .machine-check template
  - utility-draft-pr-filter component for draft PR handling
  - Machine-specific pipeline components (dane, matrix, corona, tioga, tuolumne)
- Split custom-jobs-and-variables.yml into separate files:
  - custom-jobs.yml: Job templates for child pipelines
  - custom-variables.yml: Machine-specific allocation variables
- Consolidate machine pipeline definitions into main .gitlab-ci.yml
- Remove .gitlab/subscribed-pipelines.yml (replaced by inline definitions)
- Add RADIUSS_SHARED_CI_REF variable to specify component version
- Update copyright year to 2025

The old custom-jobs-and-variables.yml file is retained for backward
compatibility but is no longer referenced by the CI configuration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
BUILD_ROOT was being set to ${CI_PROJECT_DIR} but this causes issues
when passed as a component input because CI_PROJECT_DIR doesn't exist
when inputs are resolved. The variable is not actually needed since
CI jobs run in the project directory by default.

Projects can define BUILD_ROOT locally if their build scripts need it,
but it shouldn't be passed to components as an input.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@adrienbernede adrienbernede changed the title Migrate CI to use GitLab Components from radiuss-shared-ci [WIP] Migrate CI to use GitLab Components from radiuss-shared-ci Nov 3, 2025
@adrienbernede adrienbernede force-pushed the woptim/rsci-migrate-to-components branch from 53c51c0 to bd52c25 Compare November 3, 2025 19:17
adrienbernede and others added 11 commits November 3, 2025 20:50
Update docs/sphinx/dev_guide/ci.rst to reflect the migration from
template-based CI to GitLab CI Components:

- Updated .gitlab-ci.yml description to mention it now uses GitLab CI
  Components (requires GitLab 17.0+)
- Replaced references to subscribed-pipelines.yml and
  custom-jobs-and-variables.yml with the new split files:
  - custom-jobs.yml - Job templates for child pipelines
  - custom-variables.yml - Machine-specific allocation variables
- Clarified that these files are created and customized by each project
  based on templates from RADIUSS Shared CI
- Updated pipeline launching section to explain component syntax and
  list available components (base-pipeline, utility-draft-pr-filter,
  machine-specific pipelines)
- Explained that machine pipelines are now defined inline in
  .gitlab-ci.yml using trigger syntax with component includes
…tion

Update docs/sphinx/dev_guide/ci_tasks.rst to reflect the migration from
template-based CI to GitLab CI Components:

- Updated run parameters section to reference custom-variables.yml and
  custom-jobs.yml instead of the old custom-jobs-and-variables.yml file
- Clarified that these files are created and customized by each project
  for its specific needs
- Updated RAJAPerf CI section to reflect the new file structure and
  mention that it uses GitLab CI Components from radiuss-shared-ci
- Removed references to subscribed-pipelines.yml which no longer exists
@adrienbernede adrienbernede changed the title [WIP] Migrate CI to use GitLab Components from radiuss-shared-ci Migrate CI to use GitLab Components from radiuss-shared-ci Dec 17, 2025
@adrienbernede
Copy link
Member Author

@rhornung67 This PR is now ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants