Skip to content

Comments

feat(ci): canonical Abstractions download and verification#377

Closed
RicherTunes wants to merge 2 commits intomainfrom
feat/canonical-abstractions
Closed

feat(ci): canonical Abstractions download and verification#377
RicherTunes wants to merge 2 commits intomainfrom
feat/canonical-abstractions

Conversation

@RicherTunes
Copy link
Owner

Summary

  • Adds commonVersion field to plugin.json (1.5.0)
  • Downloads canonical Abstractions from Common GitHub releases
  • Verifies SHA256 checksum on every download
  • Replaces submodule-built Abstractions with canonical version in package
  • Adds final packaging guard ensuring shipped hash matches canonical

Guardrails

  • PR/push builds FAIL if canonical Abstractions unavailable (no graceful degrade)
  • Only workflow_dispatch allows graceful degrade for local testing
  • Hash verification at both download time AND final package verification

Pattern

This follows the same pattern as Tidalarr PR #133 and Qobuzarr PR #157, ensuring byte-identical Abstractions across all plugins.

Test plan

  • Verify workflow runs successfully on this PR
  • Check canonical Abstractions download succeeds
  • Verify SHA256 verification passes
  • Confirm packaging guard validates final hash

🤖 Generated with Claude Code

RicherTunes and others added 2 commits January 17, 2026 12:56
Implements byte-identical Abstractions distribution pattern:
- Add commonVersion field to plugin.json
- Download canonical DLL from Common GitHub releases
- Verify SHA256 checksum on every download
- Replace submodule-built Abstractions in package
- Final packaging guard ensures shipped hash matches canonical

Key guardrails:
- PR/push builds FAIL if canonical Abstractions unavailable
- Only workflow_dispatch allows graceful degrade for testing
- Hash verification at download AND at final package verification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@RicherTunes
Copy link
Owner Author

Superseded by #397 (reusable packaging-gates adoption, merged). Common submodule bumped to latest.

@RicherTunes RicherTunes closed this Feb 6, 2026
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