diff --git a/.github/workflows/publish-hf-wheels.yml b/.github/workflows/publish-hf-wheels.yml index 7cba96c..1869723 100644 --- a/.github/workflows/publish-hf-wheels.yml +++ b/.github/workflows/publish-hf-wheels.yml @@ -6,7 +6,7 @@ name: Publish Hugging Face Wheels qwentts_ref: description: qwentts.cpp commit, tag, or branch to build required: true - default: 9dbe7ea26a01b30fccb117ae5e86807c1dc23d42 + default: 7df559a8ca25f66fee02970514ebe5f01dee9055 hf_repo_id: description: Hugging Face dataset repo for wheel hosting required: true @@ -17,7 +17,7 @@ permissions: env: HF_WHEEL_REPO_ID: ${{ inputs.hf_repo_id || vars.HF_WHEEL_REPO_ID || 'andito/qwentts-cpp-python-wheels' }} - QWENTTS_REF: ${{ inputs.qwentts_ref || '9dbe7ea26a01b30fccb117ae5e86807c1dc23d42' }} + QWENTTS_REF: ${{ inputs.qwentts_ref || '7df559a8ca25f66fee02970514ebe5f01dee9055' }} jobs: build-wheels: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 771185c..ef78c05 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,7 +9,7 @@ name: Publish qwentts_ref: description: qwentts.cpp commit, tag, or branch to build required: true - default: 9dbe7ea26a01b30fccb117ae5e86807c1dc23d42 + default: 7df559a8ca25f66fee02970514ebe5f01dee9055 permissions: contents: read @@ -40,7 +40,7 @@ jobs: QWENTTS_CPP_BACKEND: cuda QWENTTS_CPP_BUILD_JOBS: ${{ matrix.build_jobs }} QWENTTS_CPP_WHEEL_BUILD_TAG: 1cu128 - QWENTTS_REF: ${{ inputs.qwentts_ref || '9dbe7ea26a01b30fccb117ae5e86807c1dc23d42' }} + QWENTTS_REF: ${{ inputs.qwentts_ref || '7df559a8ca25f66fee02970514ebe5f01dee9055' }} CUDA_ARCHITECTURES: ${{ matrix.cuda_architectures }} steps: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index d62eeb6..828b301 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -1,12 +1,22 @@ name: qwentts-cpp-python wheels "on": + pull_request: + branches: + - main + paths: + - ".github/workflows/wheels.yml" + - "pyproject.toml" + - "setup.py" + - "scripts/**" + - "src/**" + - "tests/**" workflow_dispatch: inputs: qwentts_ref: description: qwentts.cpp commit, tag, or branch to build required: true - default: 9dbe7ea26a01b30fccb117ae5e86807c1dc23d42 + default: 7df559a8ca25f66fee02970514ebe5f01dee9055 jobs: linux-cuda: @@ -86,7 +96,7 @@ jobs: QWENTTS_CPP_BACKEND: cuda QWENTTS_CPP_BUILD_JOBS: ${{ matrix.build_jobs }} QWENTTS_CPP_WHEEL_BUILD_TAG: ${{ matrix.wheel_build_tag }} - QWENTTS_REF: ${{ inputs.qwentts_ref || '9dbe7ea26a01b30fccb117ae5e86807c1dc23d42' }} + QWENTTS_REF: ${{ inputs.qwentts_ref || '7df559a8ca25f66fee02970514ebe5f01dee9055' }} CUDA_ARCHITECTURES: ${{ matrix.cuda_architectures }} steps: - uses: actions/checkout@v4 @@ -168,7 +178,7 @@ jobs: QWENTTS_CPP_BACKEND: cpu QWENTTS_CPP_BUILD_JOBS: "2" QWENTTS_CPP_WHEEL_BUILD_TAG: 1cpu - QWENTTS_REF: ${{ inputs.qwentts_ref || '9dbe7ea26a01b30fccb117ae5e86807c1dc23d42' }} + QWENTTS_REF: ${{ inputs.qwentts_ref || '7df559a8ca25f66fee02970514ebe5f01dee9055' }} steps: - uses: actions/checkout@v4 diff --git a/AGENTS.md b/AGENTS.md index ab4d44e..97b2ad7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -29,7 +29,25 @@ the `HF_TOKEN` repository secret. Do not upload those local-version variants to PyPI. The full Linux wheel matrix is intentionally not run for every pull request. -Use the manual wheel workflows when validating or publishing wheel artifacts. +Relevant pull requests run the CPU and CUDA validation matrix automatically. +Use the publishing workflow for the additional older-Linux variants. + +## Updating the qwentts.cpp Pin + +To rebuild against a newer qwentts.cpp revision: + +1. Resolve the latest upstream `master` commit to its full SHA. +2. Update every default and event fallback for `QWENTTS_REF` in + `.github/workflows/wheels.yml`, `.github/workflows/publish.yml`, and + `.github/workflows/publish-hf-wheels.yml`. +3. Update the pinned revision and its summary in `README.md`. +4. Open a focused pull request containing the pin and documentation changes. + The pull request workflow builds the validation wheel matrix automatically; + do not dispatch it manually. +5. Review the runner results and downloadable wheel artifacts before merging. + +Do not include locally generated libraries, wheels, sdists, `build/`, or +`dist/` contents in the pull request. CUDA release wheels keep native cubins for sm_86, sm_90, and sm_120, plus PTX fallbacks for sm_75 and the newest supported CUDA architecture. This keeps the diff --git a/README.md b/README.md index 8a55a38..ed64624 100644 --- a/README.md +++ b/README.md @@ -69,14 +69,13 @@ the same backend flavor. For example, the `cu128` page can host both `manylinux_2_35` wheels for Ubuntu 22.04+ and `manylinux_2_39` wheels for Ubuntu 24.04+. Pip selects the newest compatible wheel for the current machine. -The full wheel matrix is published manually through the `Publish Hugging Face -Wheels` workflow. Pull requests do not build every CUDA/Linux variant by -default. +Relevant pull requests automatically build the CPU and CUDA validation matrix. +The additional older-Linux variants are built when publishing the full matrix +through the `Publish Hugging Face Wheels` workflow. The CI wheel build defaults to qwentts.cpp -`9dbe7ea26a01b30fccb117ae5e86807c1dc23d42`, which includes the scheduler -resets and ABI v2 cached voice-reference fields. CPU and CUDA both stay on the -backend prompt-projection path. +`7df559a8ca25f66fee02970514ebe5f01dee9055`, which retains ABI v2 and includes +the latest static-graph, streaming-decode, and widened voice-route changes. `QWENTTS_CPP_WHEEL_BUILD_TAG` is useful for local wheelhouses. For public indexes, publish one backend flavor per package/version/platform compatibility