Skip to content

feat: add PyPI dev bootstrap release mode#202

Open
sipercai wants to merge 1 commit into
mainfrom
liuyu/feat/pypi-dev-bootstrap
Open

feat: add PyPI dev bootstrap release mode#202
sipercai wants to merge 1 commit into
mainfrom
liuyu/feat/pypi-dev-bootstrap

Conversation

@sipercai
Copy link
Copy Markdown
Collaborator

Description

Add a manual dev-bootstrap-new-projects mode to the LoongSuite release workflow.

This mode is intended for newly merged LoongSuite distributions whose PyPI project names do not exist yet. It:

  • builds LoongSuite PyPI wheels with a unique PEP 440 dev version derived from the requested base version and GitHub run metadata;
  • queries PyPI JSON for each LoongSuite distribution from the release manifest;
  • keeps only wheels whose PyPI project does not already exist;
  • supports the default dry_run=true preview mode;
  • publishes kept wheels with PYPI_API_TOKEN through the existing pypi environment only when dry_run=false;
  • skips release branch creation, GitHub Release creation, and post-release PR creation.

Operational note: this workflow uses PyPI API token publishing. The token must have permission to upload and create new PyPI projects. Pending Publishers are only required if the workflow is switched to OIDC Trusted Publishing. If manual approval is required before upload, configure required reviewers on the GitHub pypi environment.

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • python3 -m py_compile scripts/loongsuite/select_new_pypi_projects.py
  • uvx ruff@0.14.1 format --check scripts/loongsuite/select_new_pypi_projects.py
  • uvx ruff@0.14.1 check scripts/loongsuite/select_new_pypi_projects.py
  • Parsed .github/workflows/loongsuite-release.yml with yaml.BaseLoader
  • Simulated a missing-project prune locally: an existing wheel was removed and a missing-project wheel was kept
  • python3 <loongsuite-github-pipeline>/scripts/check_loongsuite_pr_readiness.py --repo .
  • tox -e precommit

Does This PR Require a Core Repo Change?

  • Yes. - Link to PR:
  • No.

Checklist:

See contributing.md for styleguide, changelog guidelines, and more.

  • Followed the style guidelines of this project
  • Changelogs have been updated
    • Not applicable: this changes release automation and release documentation only.
  • Unit tests have been added
    • Not applicable: this mode is a manually dispatched release workflow; focused local smoke checks and tox -e precommit were run.
  • Documentation has been updated

@sipercai sipercai marked this pull request as ready for review May 26, 2026 10:57
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