Skip to content

ci: check built textures in module ci and template the art credits - #32

Merged
adamico merged 1 commit into
mainfrom
claude/triage-27-2d0ae9
Oct 16, 2026
Merged

adamico merged 1 commit into
mainfrom
claude/triage-27-2d0ae9

Conversation

@adamico

@adamico adamico commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Closes #27.

The five Modules that use Malcolm Riley's unused-textures art each set up the same plumbing by hand, and the copies have drifted apart. Craftworks and Voidworks have a build-textures.py --check that no CI runs. Fieldworks wraps it in a unittest, Gearworks has its own job, and Wireworks' build-textures.py runs nowhere either (its own job checks a second, placeholder script) and it has no NOTICE.

What changes

  • module-ci.yml gets a textures job. If the Module has scripts/build-textures.py, the job installs Pillow and runs python3 scripts/build-textures.py --check. If it doesn't, the job skips those steps, which includes libworks' own CI.
  • NOTICE: the preamble the existing NOTICEs share word for word, with no entries. REUSE.toml covers it as MIT, and fill-template.sh keeps it in new Modules.
  • REUSE.toml: a commented-out override example for third-party art, showing both forms: unmodified copies (including data/art/) and textures the script builds from them. It has to stay commented out: an active CC-BY-4.0 stanza needs LICENSES/CC-BY-4.0.txt, and reuse lint fails on that licence while no file uses it.
  • Docs: docs/plugin.md, README.md, and an Unreleased entry in CHANGELOG.md.

Modules call module-ci.yml at a plugin-v tag, so they get the job only with the next plugin release. Carrying the change out to the Modules (dropping Gearworks' and Fieldworks' own jobs, giving Wireworks a NOTICE) is for template-drift after that release.

Testing

  • A new test_fill_template case checks that a filled Module keeps NOTICE, with no entries, and covered in REUSE.toml. It failed before the change.
  • python3 -m unittest discover scripts/tests: 66 tests pass. reuse lint passes.
  • I ran the job's steps locally against Gearworks, and its texture check passed. Gearworks' CI already runs the same pip install pillow step successfully.

The change is CI config, licensing metadata and docs, which CLAUDE.md exempts from /code-review.

🤖 Generated with Claude Code

module-ci.yml runs scripts/build-textures.py --check, with Pillow, when a
Module has that script, so the Modules stop hand-copying the job. The
template ships NOTICE with the preamble the Modules share and a commented
REUSE.toml override stanza for third-party art.

Closes #27

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamico
adamico merged commit 5a32b21 into main Oct 16, 2026
8 checks passed
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.

Template the third-party art plumbing: NOTICE, REUSE override, build-textures.py --check in CI

1 participant