Add PyPI publishing job and release process - #84
Conversation
ef10e94 to
3e0b6d6
Compare
|
|
||
| <!-- Contributors since the previous release, with commit counts, in | ||
| alphabetical order: | ||
| git log --pretty='%an' <previous-tag>..HEAD | sort | uniq -c |
There was a problem hiding this comment.
here will be replaced with the last tag after the first release
3e0b6d6 to
d580975
Compare
| ## Procedure | ||
|
|
||
| 1. Open the release PR: | ||
| - Set `__version__` in `python/cppjit/_version.py` to the release |
There was a problem hiding this comment.
How does cmake know what is the current version? Does it need to parse that? We should probably have some notion of a simple VERSION file.
There was a problem hiding this comment.
The single source is python/cppjit/_version.py, which the build system reads with the regex declared in pyproject.toml when building the wheel/sdist, and provides cppjit.__version__ at runtime. This is the recommended practice for Python packages: https://packaging.python.org/en/latest/discussions/single-source-version/
cppyy also followed the same practice, setup.py regex-reads python/cppyy/_version.py and cites the same PyPA guide: https://github.com/wlav/cppyy/blob/2d28e09af72dd7f951c341d74266a0c31599d8a8/setup.py#L36
If we need the info in CMake (a build stamp etc.) we can have it read the same file with a one-line string(REGEX MATCH), so I don't think we need a separate VERSION file, that would just be a second copy to keep in sync.
| name = "cppjit" | ||
| dynamic = ["version"] | ||
| description = "CppJIT: fast and automatic Python-C++ interoperability" | ||
| description = "Automatic Python-C++ interoperability layer and bindings generator" |
There was a problem hiding this comment.
Consider:
| description = "Automatic Python-C++ interoperability layer and bindings generator" | |
| description = "An automatic Python–C++ interoperability layer and bindings generator built on LLVM's Clang-REPL" |
Consider also adding '"exascale", "scientific-computing",' to the keywords.
Consider adding the following topics to the github repo: python, cpp, llvm, clang, clang-repl, jit, jit-compilation, python-bindings, bindings, interoperability, ffi, cppyy, cppinterop
d580975 to
648029f
Compare
|
CppJIT CI has detected a new failure on workflow CI running on main while building 7c06ac0 at job "macos-26-intel/llvm22/py3.12/c++20 / Build & Test". Full details are available at: https://github.com/compiler-research/cppjit/actions/runs/34102870577 |
No description provided.