Skip to content

CI: Support repository variable override for ZTS OS selection#18342

Merged
behlendorf merged 1 commit intoopenzfs:masterfrom
ixhamza:ci-zts-os-override
Mar 19, 2026
Merged

CI: Support repository variable override for ZTS OS selection#18342
behlendorf merged 1 commit intoopenzfs:masterfrom
ixhamza:ci-zts-os-override

Conversation

@ixhamza
Copy link
Copy Markdown
Member

@ixhamza ixhamza commented Mar 17, 2026

Motivation and Context

Running the full ZTS OS matrix on every push/PR consumes significant shared runner resources. Forks that only need a subset of OS targets currently have no way to restrict this without modifying the workflow file directly, which creates merge conflicts with upstream.

Description

Add support for a ZTS_OS_OVERRIDE repository variable that, when set (e.g. ["debian13"]), overrides the default OS selection for ZTS runs. If the variable is unset or not a valid JSON array, the existing ci_type-based selection is used unchanged. The specific_os workflow_dispatch input still takes precedence for manual runs.

How Has This Been Tested?

Set ZTS_OS_OVERRIDE to ["debian13"] in my fork's repository variables and validated that only the Debian 13 runner was triggered: https://github.com/ixhamza/zfs/actions/runs/23203448780.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Quality assurance (non-breaking change which makes the code more robust against bugs)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

@ixhamza ixhamza requested a review from amotin March 17, 2026 16:10
Allow restricting ZTS OS targets by setting the vars.ZTS_OS_OVERRIDE
repository variable (e.g. '["debian13"]') to reduce shared runner
contention when running the full OS matrix is unnecessary. When unset,
the existing ci_type-based OS selection is used unchanged.

Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
@behlendorf behlendorf added the Status: Accepted Ready to integrate (reviewed, tested) label Mar 18, 2026
@behlendorf behlendorf merged commit 4627c57 into openzfs:master Mar 19, 2026
25 of 27 checks passed
@ixhamza ixhamza deleted the ci-zts-os-override branch March 19, 2026 19:59
ixhamza added a commit to truenas/zfs that referenced this pull request Mar 19, 2026
Allow restricting ZTS OS targets by setting the vars.ZTS_OS_OVERRIDE
repository variable (e.g. '["debian13"]') to reduce shared runner
contention when running the full OS matrix is unnecessary. When unset,
the existing ci_type-based OS selection is used unchanged.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes openzfs#18342
bugclerk pushed a commit to truenas/zfs that referenced this pull request Mar 23, 2026
Allow restricting ZTS OS targets by setting the vars.ZTS_OS_OVERRIDE
repository variable (e.g. '["debian13"]') to reduce shared runner
contention when running the full OS matrix is unnecessary. When unset,
the existing ci_type-based OS selection is used unchanged.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes openzfs#18342
(cherry picked from commit 9bed6dd)
pcd1193182 pushed a commit to KlaraSystems/zfs that referenced this pull request Apr 8, 2026
Allow restricting ZTS OS targets by setting the vars.ZTS_OS_OVERRIDE
repository variable (e.g. '["debian13"]') to reduce shared runner
contention when running the full OS matrix is unnecessary. When unset,
the existing ci_type-based OS selection is used unchanged.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes openzfs#18342
pcd1193182 pushed a commit to KlaraSystems/zfs that referenced this pull request Apr 8, 2026
Allow restricting ZTS OS targets by setting the vars.ZTS_OS_OVERRIDE
repository variable (e.g. '["debian13"]') to reduce shared runner
contention when running the full OS matrix is unnecessary. When unset,
the existing ci_type-based OS selection is used unchanged.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes openzfs#18342
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Status: Accepted Ready to integrate (reviewed, tested)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants