cyx-6 opened a new pull request, #615:
URL: https://github.com/apache/tvm-ffi/pull/615

   ## Problem
   
   The **Publish OrcJIT wheel** workflow failed on its last manual run
   ([run 
27092992406](https://github.com/apache/tvm-ffi/actions/runs/27092992406),
   dispatched with `tag: v0.1.0`). All four build legs failed with:
   
   ```
   cibuildwheel: Could not find any of {setup.py, setup.cfg, pyproject.toml} at 
root of package
   ```
   
   ## Root cause
   
   `publish_orcjit_wheel.yml` was copy-pasted from the main-package
   `publish_wheel.yml` and inherited a `tag` `workflow_dispatch` input wired 
into the
   `build-orcjit-wheel` action's `checkout_ref`. The composite action then does 
an inner
   `actions/checkout { ref: <tag> }` that **replaces the working tree** with 
the repo
   state at that tag.
   
   But the OrcJIT addon (`apache-tvm_ffi_orcjit`) is a **standalone package**, 
versioned
   by its own `addons/tvm_ffi_orcjit/pyproject.toml` (currently `0.1.0`), 
independent of
   the tvm-ffi repo tags. The addon was added in #254 (2026-03-27) and first 
appears in
   tag `v0.1.10`. Dispatching with any older tag — `v0.1.0` here — checks out a 
tree with
   **no addon directory**, so cibuildwheel finds no `pyproject.toml`. (The 
overwrite also
   clobbers the action's own `action.yml`, producing the confusing secondary
   "Can't find 'action.yml'" post-step error.)
   
   The repo tag was never the addon's version source — only a (wrong) checkout 
source.
   
   ## Fix
   
   Single-file change to `publish_orcjit_wheel.yml`:
   
   - Remove the unused `tag` `workflow_dispatch` input.
   - Pin the build to `checkout_ref: main`, so publish always builds the 
current addon
     source. The wheel version comes from the addon's `pyproject.toml`.
   
   The `build-orcjit-wheel` action keeps its `checkout_ref` input unchanged, 
because the
   `orcjit` job in `ci_test.yml` still uses it (`checkout_ref: ${{ github.sha 
}}`) to build
   the addon at the PR head SHA. The action's inner `submodules: recursive` 
checkout is
   load-bearing: `CIBW_TEST_COMMAND` does `pip install --force-reinstall 
{project}`, which
   rebuilds the main `apache-tvm-ffi` from the repo root and needs 
`3rdparty/dlpack` +
   `libbacktrace`.
   
   ## Validation
   
   Dispatched on a fork with the patched workflow
   ([run 
27130310085](https://github.com/cyx-6/tvm-ffi/actions/runs/27130310085)): all 
four
   `build_wheels` legs — ubuntu x86_64, ubuntu aarch64, macOS arm64, Windows 
AMD64 — built,
   tested, and uploaded wheels successfully. `upload_pypi` fails on the fork 
only because it
   has no PyPI trusted-publisher mapping (`invalid-publisher`); that step works 
on
   `apache/tvm-ffi`, which has the `pypi` environment configured. `actionlint` 
passes clean.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to