Skip to content

ci: broaden Singularity job rules, refactor user_spack_environment script, tighten .sif artifact retention#361

Open
wdconinc with Copilot wants to merge 4 commits into
masterfrom
copilot/update-gitlab-ci-config
Open

ci: broaden Singularity job rules, refactor user_spack_environment script, tighten .sif artifact retention#361
wdconinc with Copilot wants to merge 4 commits into
masterfrom
copilot/update-gitlab-ci-config

Conversation

Copilot AI commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Singularity jobs previously only ran on master (non-trigger). This widens coverage to stable branches, release tags, and MR pipelines, while keeping external-repository triggers (e.g. EICrecon) excluded. Also extracts the user_spack_environment script into a reusable base template, and reduces .sif artifact retention to limit disk pressure from the increased run frequency.

.singularity rules — broadened

Replaces the single master && not trigger guard with an explicit exclusion-first rule set that now also fires on stable branches, version tags, and MR events:

rules:
  - if: '$CI_PIPELINE_SOURCE == "trigger" && $GITHUB_REPOSITORY != "eic/containers"'
    when: never
  - if: '$CI_COMMIT_BRANCH == "master"'
    when: on_success
  - if: '$CI_COMMIT_BRANCH =~ /^v[0-9]+\.[0-9]+-(alpha|beta|stable)/'
    when: on_success
  # ... stable branch variant, version tags, MR events
  - when: never

This also aligns the implementation with the existing plan comments (stable branches/tags were listed but never matched).

user_spack_environment — script extracted to base template

Script steps moved into .user_spack_environment; the concrete job now extends it. No behavioral change.

.sif artifact retention — tightened for disk space

.sif files are several GB each. Running on every MR would accumulate significant storage without this change:

Job expire_in Reason
.singularity template 2 hours Sufficient for CI verification on MR/default runs
eic_xl:singularity:nightly 1 days Consumed externally by eic-shell/install.py

Copilot AI changed the title [WIP] Update GitLab CI configuration for Singularity jobs and refactor user_spack_environment ci: broaden Singularity job rules, refactor user_spack_environment script, tighten .sif artifact retention Jul 18, 2026
Copilot AI requested a review from wdconinc July 18, 2026 16:01
@wdconinc
wdconinc marked this pull request as ready for review July 18, 2026 16:19
Copilot AI review requested due to automatic review settings July 18, 2026 16:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the GitLab CI configuration to run Singularity image jobs more broadly (stable branches, version tags, and merge request pipelines) while still excluding external-repository trigger pipelines, refactors the user_spack_environment job script into a reusable hidden template, and reduces .sif artifact retention to mitigate disk pressure from the increased run frequency.

Changes:

  • Broaden .singularity job rules: to include stable branches, version tags, and MR pipelines, with an exclusion-first guard for external trigger pipelines.
  • Extract the user_spack_environment script into a reusable .user_spack_environment template and have the concrete job extends it.
  • Tighten default .sif artifact retention to 2 hours, with a nightly override to 1 days for downstream consumption.

Copilot AI review requested due to automatic review settings July 18, 2026 16:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because there is no eligible user to bill. To allow Copilot reviews on bot-authored pull requests, enable direct organization billing in your organization's Copilot settings.

@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

Capybara summary for PR 361

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