Skip to content

Fix startup failure: pass continue-on-error to the reusable workflow as an input - #209

Merged
jaraco merged 1 commit into
mainfrom
bugfix/continue-on-error-reusable-workflow
Jul 14, 2026
Merged

Fix startup failure: pass continue-on-error to the reusable workflow as an input#209
jaraco merged 1 commit into
mainfrom
bugfix/continue-on-error-reusable-workflow

Conversation

@jaraco

@jaraco jaraco commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Problem

Since #199 refactored main.yml to call the reusable test-suite.yml, the test job carries a job-level continue-on-error:

  test:
    uses: ./.github/workflows/test-suite.yml
    with: ...
    continue-on-error: ${{ matrix.python == '3.15' }}

continue-on-error is not a permitted key on a job that calls a reusable workflow. GitHub rejects the entire file at validation time:

Invalid workflow file: .github/workflows/main.yml
(Line: 47, Col: 5): Unexpected value 'continue-on-error'

The run fails at startup (0s, no jobs, no checks) before anything executes. This has taken CI dark on skeleton itself (red on every commit since #199) and on every downstream project that has merged the skeleton since 2026-07-12 — the PR shows no checks running at all.

Fix

Move the setting into the reusable workflow as a boolean continue-on-error input, applied to its run job, and pass it through from the caller via with:. This:

  • restores a valid workflow file (jobs start again),
  • preserves the "allow 3.15 (pre-release) to fail" behavior,
  • keeps the version-specific 3.15 logic in main.yml where the matrix lives, so test-suite.yml stays version-agnostic.

The collateral caller doesn't pass the input, so it defaults to false — no behavior change there.

🤖 Generated with Claude Code

A job that calls a reusable workflow may not set 'continue-on-error';
GitHub rejects the whole file at startup ("Unexpected value
'continue-on-error'") before creating any jobs. The reusable-workflow
refactor in #199 moved the 'test' job to a reusable-workflow call while
keeping the job-level 'continue-on-error', taking CI dark on skeleton
and every downstream project that has since merged.

Move the setting into test-suite.yml as a boolean 'continue-on-error'
input and pass it through from the caller, preserving the
allow-3.15-to-fail behavior while keeping the version-specific logic in
main.yml.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jaraco
jaraco merged commit 45e58e2 into main Jul 14, 2026
30 of 32 checks passed
@jaraco
jaraco deleted the bugfix/continue-on-error-reusable-workflow branch July 14, 2026 23:22
jaraco added a commit that referenced this pull request Jul 14, 2026
A job that calls a reusable workflow may not set 'continue-on-error';
GitHub rejects the whole file at startup ("Unexpected value
'continue-on-error'") before creating any jobs. The reusable-workflow
refactor in #199 moved the 'test' job to a reusable-workflow
call while keeping the job-level 'continue-on-error', taking CI dark on
skeleton and every downstream project that has since merged.

Set continue-on-error on the reusable workflow's run job instead, keyed
on the pre-release Python version already special-cased there. This
preserves the allow-3.15-to-fail behavior in a single file, without
threading an extra input through the caller.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant