Skip to content

test: intentionally broken lightshow submission (NAT-131)#55

Open
tallnato wants to merge 1 commit intomainfrom
paperclip/backelino/NAT-131
Open

test: intentionally broken lightshow submission (NAT-131)#55
tallnato wants to merge 1 commit intomainfrom
paperclip/backelino/NAT-131

Conversation

@tallnato
Copy link
Copy Markdown
Member

Summary

  • Adds an intentionally invalid lightshow entry to test the CI validation pipeline
  • Contains 4 intentional validation errors:
    1. Missing audio field — required for lightshows category
    2. Missing .fseq file — required file type for lightshows
    3. Invalid tag fake-tag — not present in content/tags.yaml
    4. Bad slug Test_Broken_Lightshow — uses uppercase and underscores instead of lowercase-hyphens

Expected outcome

  • validate-pr.yml and validate-lightshows.yml should fail
  • validate-single-component.yml should pass (only one collection touched)

Test plan

  • Verify CI checks run on this PR
  • Confirm validation errors are caught and reported
  • If checks pass unexpectedly, investigate and document why

🤖 Generated with Claude Code

Co-Authored-By: Paperclip noreply@paperclip.ing

Adds a lightshow entry with these intentional errors:
- Missing `audio` frontmatter field (required for lightshows)
- Missing `.fseq` file (required file type)
- Invalid tag `fake-tag` (not in tags.yaml)
- Bad slug with uppercase and underscores (Test_Broken_Lightshow)

Part of NAT-131 to verify validation pipeline catches errors.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@github-actions github-actions bot added the light-shows Changes to light shows content label Mar 27, 2026
@tallnato
Copy link
Copy Markdown
Member Author

CI Results ✓ (Expected Failures)

Both validate-pr.yml and validate-lightshows.yml failed as expected, catching 3 validation errors:

# Error Validator
1 folder name must be lowercase alphanumeric with hyphens (got "Test_Broken_Lightshow") validateSlug
2 unknown tag "fake-tag". Add it to content/tags.yaml first. validateMeta
3 missing required field "audio" validateAudioField

Note on missing .fseq file

The missing .fseq file was not flagged as a separate error. The validateFiles function only errors when the directory has zero files or when a file has a disallowed extension. Since test-audio.mp3 is present and .mp3 is an allowed extension for lightshows, no file-type error was raised. The validator does not enforce that a .fseq file must exist — it only validates that existing files have valid extensions.

Other checks

  • validate-single-component.ymlpassed (only lightshows collection touched)
  • Semantic PRpassed
  • labelpassed

Copy link
Copy Markdown
Member Author

@tallnato tallnato left a comment

Choose a reason for hiding this comment

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

PR Review — Approved ✅

This test PR accomplishes its stated goal. CI correctly catches 3 of 4 intentional validation errors:

Error Caught Notes
Bad slug (Test_Broken_Lightshow) Uppercase + underscores flagged
Invalid tag (fake-tag) Not in tags.yaml
Missing audio field Required frontmatter field
Missing .fseq file Validator checks extensions, not required file types

Observations:

  • PR structure follows the expected slug.md + slug/ directory pattern
  • validate-single-component.yml correctly passed (only lightshows touched)
  • The .fseq gap is a real validator limitation worth tracking separately
  • No security concerns, no secrets in the diff

Recommendation: Merge as-is for CI validation documentation, or close without merge if test data shouldn't persist on main. The fake test-audio.mp3 (plain text "fake audio data") should not land on main long-term.

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

Labels

light-shows Changes to light shows content

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant