Skip to content

fix(release): build and publish the sdist, harden publish workflow#71

Merged
wbarnha merged 1 commit into
masterfrom
claude/faust-mode-open-prs-ur3hqs
Jul 17, 2026
Merged

fix(release): build and publish the sdist, harden publish workflow#71
wbarnha merged 1 commit into
masterfrom
claude/faust-mode-open-prs-ur3hqs

Conversation

@wbarnha

@wbarnha wbarnha commented Jul 17, 2026

Copy link
Copy Markdown
Member

Description

Releases 0.4.0 and 0.4.1 shipped to PyPI with no source distribution — only the universal wheel (verify: https://pypi.org/pypi/mode-streaming/0.4.1/json lists a single bdist_wheel). The cause is scripts/build.sh running python3 -m build . --wheel, which never builds an sdist.

Changes:

  • scripts/build.sh: drop --wheel so python -m build produces both the sdist and the wheel. Verified locally: both artifacts build and pass twine check.
  • .github/workflows/publish.yml hardening:
    • explicit artifact name (dist-packages) on upload/download instead of the implicit default
    • if-no-files-found: error so an empty dist/ fails the build instead of silently publishing nothing
    • skip-existing: true on the PyPI publish step so re-runs are idempotent
    • workflow_dispatch trigger (publish gate widened accordingly) so the workflow can be run manually from a tag to backfill files missing from an already-published version

After this merges, running the workflow manually from tags 0.4.0 / 0.4.1 will backfill their missing sdists (skip-existing keeps the wheels already on the index), and future releases ship complete from the start.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HgnKFtXZbCjXNoVNWa5JLd


Generated by Claude Code

Releases 0.4.0 and 0.4.1 shipped to PyPI with no source distribution
because scripts/build.sh only ran 'python3 -m build . --wheel'. Build
the sdist too, and apply release-workflow hardening:

- name the build artifact explicitly and fail if dist/ is empty
- skip-existing on PyPI publish so re-runs are idempotent
- workflow_dispatch trigger so a run from a tag can backfill files
  missing from an already-published version

Assisted-by: Claude
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HgnKFtXZbCjXNoVNWa5JLd
@wbarnha
wbarnha merged commit b26fbce into master Jul 17, 2026
14 checks passed
@wbarnha
wbarnha deleted the claude/faust-mode-open-prs-ur3hqs branch July 17, 2026 04:12
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.

2 participants