puppetlabs / puppetlabs/puppetlabs-stdlib

CI acceptance matrix fails for fork PRs with --nightly

Open
#1,480 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bugfix
Dominant language
Ruby
Stars
349
Forks
573
Avg merge
3d 3h
Merged PRs (30d)
1

Description

Summary

Fork PR CI currently fails in the acceptance path because the unauthenticated dependency path selects an old Litmus version.

Example run: https://github.com/puppetlabs/puppetlabs-stdlib/actions/runs/29689427912/job/88199539690?pr=1479

What appears to be happening

.github/workflows/ci.yml passes flags: "--nightly" to the shared module_acceptance.yml workflow. That is still desirable for trusted CI because it requests nightly Puppetcore packages.

For fork PRs, secrets are not available, so PUPPET_FORGE_TOKEN is not set. The module Gemfile then selects puppet_litmus ~> 1.0:

gem "puppet_litmus", '~> 1.0', require: false if ENV['PUPPET_FORGE_TOKEN'].to_s.empty?

That old Litmus path does not have the newer public fallback behavior. It can reject --nightly during matrix setup, or generate nightly Puppet collections that are unavailable without credentials.

Suggested fix

Use puppet_litmus ~> 2.5 for system tests.

Litmus 2.5+ accepts --nightly and falls back to public Puppet collections when PUPPET_FORGE_TOKEN is unavailable. That keeps the workflow's nightly intent for trusted runs while allowing fork PRs to run without private package access.

Proposed PR: https://github.com/puppetlabs/puppetlabs-stdlib/pull/1481

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the puppet_litmus dependency selection in the module Gemfile and the flags passed from .github/workflows/ci.yml to module_acceptance.yml. Verify the acceptance matrix for a fork PR with --nightly, and consider the issue's proposed puppet_litmus version change done when that path completes without credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, ruby
Domain
ci-cd
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.