try updating version in pyproject.toml - #473
Conversation
|
Warning Review limit reached
Next review available in: 28 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release.yml:
- Around line 6-9: The new pull_request trigger on release.yml is using
github.ref_name, which resolves to the PR merge ref instead of the target
branch, so the release path is always skipped or treated as dry-run. Update the
workflow conditionals around the release-please logic (the checks in the main
job steps that currently branch on github.ref_name) to use the PR base branch
context instead, such as github.base_ref or an equivalent target-branch check,
so the dev PR trigger can actually reach the real release flow.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: f5588e7a-0e81-4938-ab8e-7cf239c5353e
📒 Files selected for processing (1)
.github/workflows/release.yml
📜 Review details
⏰ Context from checks skipped due to timeout. (16)
- GitHub Check: Build Documentation Site / Build Docusaurus Site
- GitHub Check: Build C/C++ / Build Python
- GitHub Check: Build C/C++ / Build C & C++
- GitHub Check: Build C/C++ / Build WASM (bindings/js)
- GitHub Check: Lint & Validate Code
- GitHub Check: build-c-cpp-native (ubuntu-latest, c)
- GitHub Check: build-c-cpp-native (macos-latest, cpp)
- GitHub Check: build-c-cpp-native (windows-latest, c)
- GitHub Check: build-c-cpp-native (macos-latest, c)
- GitHub Check: build-c-cpp-native (windows-latest, cpp)
- GitHub Check: build-c-cpp-native (ubuntu-latest, cpp)
- GitHub Check: build-py (ubuntu-latest)
- GitHub Check: build-py (macos-latest)
- GitHub Check: build-py (windows-latest)
- GitHub Check: build-js
- GitHub Check: build-py-sdist
🧰 Additional context used
📓 Path-based instructions (1)
.github/workflows/**
⚙️ CodeRabbit configuration file
.github/workflows/**: GitHub Actions workflows. Review for:
- SHA-pinned action versions for third-party actions (security best practice).
- Secrets accessed only via ${{ secrets.* }} — never hardcoded.
- Least-privilege permissions on each job/workflow.
- Correct job dependency ordering (needs:) and if/condition logic.
Files:
.github/workflows/release.yml
🧠 Learnings (2)
📚 Learning: 2026-05-01T22:50:11.527Z
Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 339
File: release-please-config.json:18-47
Timestamp: 2026-05-01T22:50:11.527Z
Learning: In this repo, release-please-action v4 preserves '/' verbatim in slash-containing path-based package keys when emitting GitHub Actions output names (e.g., `bindings/c--release_created`). When referencing these step outputs in `job.outputs` (and other expressions), use bracket notation with the exact output name: `${{ steps.release.outputs['bindings/c--release_created'] }}` rather than dot notation. If needed, map the complex step output to a clean job-level output alias so downstream jobs can use dot notation via that alias.
Applied to files:
.github/workflows/release.yml
📚 Learning: 2026-05-19T17:30:09.565Z
Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 375
File: .github/workflows/cmake-build.yml:86-88
Timestamp: 2026-05-19T17:30:09.565Z
Learning: In Ryan-Millard/Img2Num CI/workflow YAMLs, any `uv sync` command used for the Python package build must include `--no-build-isolation` (do not remove it). If you need deterministic dependency installs for CI, you may add `--frozen` alongside it (e.g., `uv sync --frozen --no-build-isolation`), and it should not conflict with the repo’s build setup.
Applied to files:
.github/workflows/release.yml
|
@Ryan-Millard this is probably a suboptimal solution but all it does it physically update the |
|
whl has the correct version too: |
|
Hi @Krasner. After doing some research on it, I found that the solution is to dynamically derive the version in See this conversation and look at option A of the second-last message. The conflict is caused by us building the project from the root (which has 0.0.0 as the version). Evidence that it builds properly with those changesroot@e780943624da:/usr/src/app# uv pip install scikit-build-core pybind11 "numpy>=2.0" build
python -m build --wheel --no-isolation --outdir /tmp/test-wheel .
Resolved 7 packages in 947ms
Prepared 3 packages in 388ms
Installed 3 packages in 12ms
+ build==1.5.0
+ pybind11==3.0.4
+ pyproject-hooks==1.2.0
* Getting build dependencies for wheel...
* Building wheel...
*** scikit-build-core 0.12.2 using CMake 3.31.6 (wheel)
*** Configuring CMake...
loading initial cache file /tmp/tmpd1hsxzrz/build/CMakeInit.txt
-- The CXX compiler identification is GNU 14.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++-14 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ===============================================================
-- IMG2NUM_DEBUG_CACHE_VARIABLES_DUMP Output:
-- ===============================================================
-- [User-Defined] IMG2NUM_BUILD_C=ON
-- [User-Defined] IMG2NUM_BUILD_EXAMPLES=OFF
-- [User-Defined] IMG2NUM_BUILD_PYTHON=ON
-- [User-Defined] IMG2NUM_DEBUG_CACHE_VARIABLES_DUMP=ON
-- [Auto] Img2NumRootManager_BINARY_DIR=/tmp/tmpd1hsxzrz/build
-- [Auto] Img2NumRootManager_IS_TOP_LEVEL=ON
-- [Auto] Img2NumRootManager_SOURCE_DIR=/usr/src/app
-- CMAKE_ADDR2LINE=/usr/bin/addr2line
-- CMAKE_AR=/usr/bin/ar
-- CMAKE_BUILD_TYPE=Release
-- CMAKE_COMMAND=/usr/bin/cmake
-- CMAKE_CPACK_COMMAND=/usr/bin/cpack
-- CMAKE_CTEST_COMMAND=/usr/bin/ctest
-- CMAKE_CXX_COMPILER=/usr/bin/g++-14
-- CMAKE_CXX_COMPILER_AR=/usr/bin/gcc-ar-14
-- CMAKE_CXX_COMPILER_RANLIB=/usr/bin/gcc-ranlib-14
-- CMAKE_CXX_FLAGS=
-- CMAKE_CXX_FLAGS_DEBUG=-g
-- CMAKE_CXX_FLAGS_MINSIZEREL=-Os -DNDEBUG
-- CMAKE_CXX_FLAGS_RELEASE=-O3 -DNDEBUG
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG
-- CMAKE_DLLTOOL=CMAKE_DLLTOOL-NOTFOUND
-- CMAKE_EXECUTABLE_FORMAT=ELF
-- CMAKE_EXE_LINKER_FLAGS=
-- CMAKE_EXE_LINKER_FLAGS_DEBUG=
-- CMAKE_EXE_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_EXE_LINKER_FLAGS_RELEASE=
-- CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_EXPORT_BUILD_DATABASE=
-- CMAKE_EXPORT_COMPILE_COMMANDS=
-- CMAKE_EXTRA_GENERATOR=
-- CMAKE_FIND_PACKAGE_REDIRECTS_DIR=/tmp/tmpd1hsxzrz/build/CMakeFiles/pkgRedirects
-- CMAKE_FIND_ROOT_PATH_MODE_PACKAGE=BOTH
-- CMAKE_GENERATOR=Ninja
-- CMAKE_GENERATOR_INSTANCE=
-- CMAKE_GENERATOR_PLATFORM=
-- CMAKE_GENERATOR_TOOLSET=
-- CMAKE_HOME_DIRECTORY=/usr/src/app
-- CMAKE_INSTALL_PREFIX=/tmp/tmpd1hsxzrz/wheel/platlib
-- CMAKE_INSTALL_SO_NO_EXE=1
-- CMAKE_LINKER=/usr/bin/ld
-- CMAKE_MAKE_PROGRAM=/usr/bin/ninja
-- CMAKE_MODULE_LINKER_FLAGS=
-- CMAKE_MODULE_LINKER_FLAGS_DEBUG=
-- CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_MODULE_LINKER_FLAGS_RELEASE=
-- CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_NM=/usr/bin/nm
-- CMAKE_OBJCOPY=/usr/bin/objcopy
-- CMAKE_OBJDUMP=/usr/bin/objdump
-- CMAKE_PLATFORM_INFO_INITIALIZED=1
-- CMAKE_PREFIX_PATH=/usr/src/app/.venv/lib/python3.13/site-packages
-- CMAKE_PROJECT_DESCRIPTION=
-- CMAKE_PROJECT_HOMEPAGE_URL=
-- CMAKE_PROJECT_NAME=Img2NumRootManager
-- CMAKE_RANLIB=/usr/bin/ranlib
-- CMAKE_READELF=/usr/bin/readelf
-- CMAKE_ROOT=/usr/share/cmake-3.31
-- CMAKE_SHARED_LINKER_FLAGS=
-- CMAKE_SHARED_LINKER_FLAGS_DEBUG=
-- CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_SHARED_LINKER_FLAGS_RELEASE=
-- CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_SKIP_INSTALL_RPATH=NO
-- CMAKE_SKIP_RPATH=NO
-- CMAKE_STATIC_LINKER_FLAGS=
-- CMAKE_STATIC_LINKER_FLAGS_DEBUG=
-- CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_STATIC_LINKER_FLAGS_RELEASE=
-- CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_STRIP=/usr/bin/strip
-- CMAKE_TAPI=CMAKE_TAPI-NOTFOUND
-- CMAKE_UNAME=/usr/bin/uname
-- CMAKE_VERBOSE_MAKEFILE=FALSE
-- PYTHON_EXECUTABLE=/usr/src/app/.venv/bin/python
-- PYTHON_INCLUDE_DIR=/usr/include/python3.13
-- PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.13.so
-- Python3_EXECUTABLE=/usr/src/app/.venv/bin/python
-- Python3_FIND_REGISTRY=NEVER
-- Python3_INCLUDE_DIR=/usr/include/python3.13
-- Python3_NumPy_INCLUDE_DIR=/usr/src/app/.venv/lib/python3.13/site-packages/numpy/_core/include
-- Python3_ROOT_DIR=/usr
-- Python_EXECUTABLE=/usr/src/app/.venv/bin/python
-- Python_FIND_REGISTRY=NEVER
-- Python_INCLUDE_DIR=/usr/include/python3.13
-- Python_NumPy_INCLUDE_DIR=/usr/src/app/.venv/lib/python3.13/site-packages/numpy/_core/include
-- Python_ROOT_DIR=/usr
-- SKBUILD=2
-- SKBUILD_CORE_VERSION=0.12.2
-- SKBUILD_DATA_DIR=/tmp/tmpd1hsxzrz/wheel/data
-- SKBUILD_HEADERS_DIR=/tmp/tmpd1hsxzrz/wheel/headers
-- SKBUILD_METADATA_DIR=/tmp/tmpd1hsxzrz/wheel/metadata
-- SKBUILD_NULL_DIR=/tmp/tmpd1hsxzrz/wheel/null
-- SKBUILD_PLATLIB_DIR=/tmp/tmpd1hsxzrz/wheel/platlib
-- SKBUILD_PROJECT_NAME=img2num
-- SKBUILD_PROJECT_VERSION=0.2.0
-- SKBUILD_PROJECT_VERSION_FULL=0.2.0
-- SKBUILD_SABI_COMPONENT=
-- SKBUILD_SABI_VERSION=
-- SKBUILD_SCRIPTS_DIR=/tmp/tmpd1hsxzrz/wheel/scripts
-- SKBUILD_SOABI=cpython-313-x86_64-linux-gnu
-- SKBUILD_STATE=wheel
-- _CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED=TRUE
-- _CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED=TRUE
-- ===============================================================
-- /tmp/tmpd1hsxzrz/build
-- Found Python3: /usr/src/app/.venv/bin/python (found version "3.13.5") found components: Interpreter
Found system Dawn
-- Core library configured with /usr/src/app/core/src/img2num/Error.cpp;/usr/src/app/core/src/internal/SavitskyGolay.cpp;/usr/src/app/core/src/internal/bezier.cpp;/usr/src/app/core/src/internal/bilateral_filter.cpp;/usr/src/app/core/src/internal/bilateral_filter_gpu.cpp;/usr/src/app/core/src/internal/contours.cpp;/usr/src/app/core/src/internal/douglas_peucker.cpp;/usr/src/app/core/src/internal/fft_iterative.cpp;/usr/src/app/core/src/internal/graph.cpp;/usr/src/app/core/src/internal/image_to_svg.cpp;/usr/src/app/core/src/internal/image_utils.cpp;/usr/src/app/core/src/internal/kmeans.cpp;/usr/src/app/core/src/internal/kmeans_gpu.cpp;/usr/src/app/core/src/internal/labels_to_svg.cpp;/usr/src/app/core/src/internal/node.cpp;/usr/src/app/core/src/internal/shared_contours.cpp
-- Found Python3: /usr/src/app/.venv/bin/python (found version "3.13.5") found components: Interpreter Development.Module NumPy
-- Performing Test HAS_FLTO_AUTO
-- Performing Test HAS_FLTO_AUTO - Success
-- Found pybind11: /usr/src/app/.venv/lib/python3.13/site-packages/pybind11/include (found version "3.0.4")
-- Configuring done (0.9s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/tmpd1hsxzrz/build
*** Building project with Ninja...
[0/2] Re-checking globbed directories...
[1/21] cd /tmp/tmpd1hsxzrz/build/core && /usr/src/app/.venv/bin/python /usr/src/app/core/tools/embed_shaders.py /usr/src/app/core/src/internal/resources /tmp/tmpd1hsxzrz/build/embedded_shaders.h
Writing to /tmp/tmpd1hsxzrz/build/embedded_shaders.h
[20/21] Linking CXX shared module bindings/py/_img2num.cpython-313-x86_64-linux-gnu.so
*** Installing project into wheel...
-- Install configuration: "Release"
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/lib/cmake/Img2Num/Img2NumConfig.cmake
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/lib/cmake/Img2Num/Img2NumConfigVersion.cmake
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/lib/libImg2Num.a
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/lib/cmake/Img2Num/Img2NumTargets.cmake
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/lib/cmake/Img2Num/Img2NumTargets-release.cmake
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/include/img2num
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/include/img2num/img2num.h
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/include/img2num/internal
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/include/img2num/img2num
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/include/img2num/img2num/Error.h
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/img2num
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/img2num/api.py
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/img2num/__init__.py
-- Installing: /tmp/tmpd1hsxzrz/wheel/platlib/img2num/_img2num.cpython-313-x86_64-linux-gnu.so
*** Making wheel...
*** Created img2num-0.2.0-cp313-cp313-linux_x86_64.whl
Successfully built img2num-0.2.0-cp313-cp313-linux_x86_64.whlChanges maderoot@e780943624da:/usr/src/app# cat pyproject.toml
[project]
name = "img2num"
# see tool.scikit-build
dynamic = ["version"]
description = "A fast and accurate raster image to SVG conversion library"
requires-python = ">=3.10"
license = { text = "MIT" }
readme = "README.md"
authors = [{ name = "Ryan Millard" }]
dependencies = [
"numpy>=1.23.5"
]
classifiers = [
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Multimedia :: Graphics :: Graphics Conversion",
"Topic :: Scientific/Engineering :: Image Processing"
]
[project.urls]
Homepage = "https://ryan-millard.github.io/Img2Num/info/docs/"
Repository = "https://github.com/Ryan-Millard/Img2Num"
Documentation = "https://ryan-millard.github.io/Img2Num/info/docs/"
Changelog = "https://github.com/Ryan-Millard/Img2Num/blob/main/CHANGELOG.md"
"Bug Tracker" = "https://github.com/Ryan-Millard/Img2Num/issues"
[build-system]
requires = [
"scikit-build-core>=0.10",
"pybind11>=2.10",
"numpy>=2.0"
]
build-backend = "scikit_build_core.build"
[tool.scikit-build]
cmake.source-dir = "."
cmake.build-type = "Release"
cmake.args = [
"-DIMG2NUM_BUILD_PYTHON=ON",
"-DIMG2NUM_BUILD_EXAMPLES=OFF",
]
# Handle the version by using packages/py/pyproject.toml version
metadata.version.provider = "scikit_build_core.metadata.regex"
metadata.version.input = "packages/py/pyproject.toml"
metadata.version.regex = '^version = "(?P<value>[^"]+)"'
wheel.packages = ["img2num"]
sdist.include = [
"CMakeLists.txt",
"core/**",
"bindings/py/**",
"packages/py/**",
"third_party/**"
]
[tool.uv]
package = true
[tool.uv.workspace]
members = [
# All example apps with "-py" suffix
"example-apps/*-py"
]
[tool.ruff]
target-version = "py310"
line-length = 88
exclude = ["third_party/", "docs/", ".venv/"]
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"B", # flake8-bugbear (mutable defaults, bare excepts, etc.)
"UP", # pyupgrade — modernise syntax
"SIM", # flake8-simplify
]
# ruff obeys .gitignore by default
ignore = []
[tool.ruff.lint.per-file-ignores]
"**/__init__.py" = ["F401"] # Allow re-exports in __init__.py
[project.optional-dependencies]
dev = [
"ruff>=0.4.0",
]
[tool.cibuildwheel]
build-verbosity = 1
root@e780943624da:/usr/src/app# git diff
diff --git a/pyproject.toml b/pyproject.toml
index f4ff60ff..96182223 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,7 @@
[project]
name = "img2num"
-version = "0.0.0" # x-release-please-version
+# see tool.scikit-build
+dynamic = ["version"]
description = "A fast and accurate raster image to SVG conversion library"
requires-python = ">=3.10"
license = { text = "MIT" }
@@ -42,6 +43,10 @@ cmake.args = [
"-DIMG2NUM_BUILD_PYTHON=ON",
"-DIMG2NUM_BUILD_EXAMPLES=OFF",
]
+# Handle the version by using packages/py/pyproject.toml version
+metadata.version.provider = "scikit_build_core.metadata.regex"
+metadata.version.input = "packages/py/pyproject.toml"
+metadata.version.regex = '^version = "(?P<value>[^"]+)"'
wheel.packages = ["img2num"]Verification by reverting the changes I madeRevert the changesroot@e780943624da:/usr/src/app# git restore .
root@e780943624da:/usr/src/app# git diffRebuildroot@e780943624da:/usr/src/app# uv pip install scikit-build-core pybind11 "numpy>=2.0" build
python -m build --wheel --no-isolation --outdir /tmp/test-wheel .
Audited 4 packages in 1ms
* Getting build dependencies for wheel...
* Building wheel...
*** scikit-build-core 0.12.2 using CMake 3.31.6 (wheel)
*** Configuring CMake...
loading initial cache file /tmp/tmpjlmbwedu/build/CMakeInit.txt
-- The CXX compiler identification is GNU 14.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++-14 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ===============================================================
-- IMG2NUM_DEBUG_CACHE_VARIABLES_DUMP Output:
-- ===============================================================
-- [User-Defined] IMG2NUM_BUILD_C=ON
-- [User-Defined] IMG2NUM_BUILD_EXAMPLES=OFF
-- [User-Defined] IMG2NUM_BUILD_PYTHON=ON
-- [User-Defined] IMG2NUM_DEBUG_CACHE_VARIABLES_DUMP=ON
-- [Auto] Img2NumRootManager_BINARY_DIR=/tmp/tmpjlmbwedu/build
-- [Auto] Img2NumRootManager_IS_TOP_LEVEL=ON
-- [Auto] Img2NumRootManager_SOURCE_DIR=/usr/src/app
-- CMAKE_ADDR2LINE=/usr/bin/addr2line
-- CMAKE_AR=/usr/bin/ar
-- CMAKE_BUILD_TYPE=Release
-- CMAKE_COMMAND=/usr/bin/cmake
-- CMAKE_CPACK_COMMAND=/usr/bin/cpack
-- CMAKE_CTEST_COMMAND=/usr/bin/ctest
-- CMAKE_CXX_COMPILER=/usr/bin/g++-14
-- CMAKE_CXX_COMPILER_AR=/usr/bin/gcc-ar-14
-- CMAKE_CXX_COMPILER_RANLIB=/usr/bin/gcc-ranlib-14
-- CMAKE_CXX_FLAGS=
-- CMAKE_CXX_FLAGS_DEBUG=-g
-- CMAKE_CXX_FLAGS_MINSIZEREL=-Os -DNDEBUG
-- CMAKE_CXX_FLAGS_RELEASE=-O3 -DNDEBUG
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG
-- CMAKE_DLLTOOL=CMAKE_DLLTOOL-NOTFOUND
-- CMAKE_EXECUTABLE_FORMAT=ELF
-- CMAKE_EXE_LINKER_FLAGS=
-- CMAKE_EXE_LINKER_FLAGS_DEBUG=
-- CMAKE_EXE_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_EXE_LINKER_FLAGS_RELEASE=
-- CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_EXPORT_BUILD_DATABASE=
-- CMAKE_EXPORT_COMPILE_COMMANDS=
-- CMAKE_EXTRA_GENERATOR=
-- CMAKE_FIND_PACKAGE_REDIRECTS_DIR=/tmp/tmpjlmbwedu/build/CMakeFiles/pkgRedirects
-- CMAKE_FIND_ROOT_PATH_MODE_PACKAGE=BOTH
-- CMAKE_GENERATOR=Ninja
-- CMAKE_GENERATOR_INSTANCE=
-- CMAKE_GENERATOR_PLATFORM=
-- CMAKE_GENERATOR_TOOLSET=
-- CMAKE_HOME_DIRECTORY=/usr/src/app
-- CMAKE_INSTALL_PREFIX=/tmp/tmpjlmbwedu/wheel/platlib
-- CMAKE_INSTALL_SO_NO_EXE=1
-- CMAKE_LINKER=/usr/bin/ld
-- CMAKE_MAKE_PROGRAM=/usr/bin/ninja
-- CMAKE_MODULE_LINKER_FLAGS=
-- CMAKE_MODULE_LINKER_FLAGS_DEBUG=
-- CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_MODULE_LINKER_FLAGS_RELEASE=
-- CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_NM=/usr/bin/nm
-- CMAKE_OBJCOPY=/usr/bin/objcopy
-- CMAKE_OBJDUMP=/usr/bin/objdump
-- CMAKE_PLATFORM_INFO_INITIALIZED=1
-- CMAKE_PREFIX_PATH=/usr/src/app/.venv/lib/python3.13/site-packages
-- CMAKE_PROJECT_DESCRIPTION=
-- CMAKE_PROJECT_HOMEPAGE_URL=
-- CMAKE_PROJECT_NAME=Img2NumRootManager
-- CMAKE_RANLIB=/usr/bin/ranlib
-- CMAKE_READELF=/usr/bin/readelf
-- CMAKE_ROOT=/usr/share/cmake-3.31
-- CMAKE_SHARED_LINKER_FLAGS=
-- CMAKE_SHARED_LINKER_FLAGS_DEBUG=
-- CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_SHARED_LINKER_FLAGS_RELEASE=
-- CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_SKIP_INSTALL_RPATH=NO
-- CMAKE_SKIP_RPATH=NO
-- CMAKE_STATIC_LINKER_FLAGS=
-- CMAKE_STATIC_LINKER_FLAGS_DEBUG=
-- CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL=
-- CMAKE_STATIC_LINKER_FLAGS_RELEASE=
-- CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO=
-- CMAKE_STRIP=/usr/bin/strip
-- CMAKE_TAPI=CMAKE_TAPI-NOTFOUND
-- CMAKE_UNAME=/usr/bin/uname
-- CMAKE_VERBOSE_MAKEFILE=FALSE
-- PYTHON_EXECUTABLE=/usr/src/app/.venv/bin/python
-- PYTHON_INCLUDE_DIR=/usr/include/python3.13
-- PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.13.so
-- Python3_EXECUTABLE=/usr/src/app/.venv/bin/python
-- Python3_FIND_REGISTRY=NEVER
-- Python3_INCLUDE_DIR=/usr/include/python3.13
-- Python3_NumPy_INCLUDE_DIR=/usr/src/app/.venv/lib/python3.13/site-packages/numpy/_core/include
-- Python3_ROOT_DIR=/usr
-- Python_EXECUTABLE=/usr/src/app/.venv/bin/python
-- Python_FIND_REGISTRY=NEVER
-- Python_INCLUDE_DIR=/usr/include/python3.13
-- Python_NumPy_INCLUDE_DIR=/usr/src/app/.venv/lib/python3.13/site-packages/numpy/_core/include
-- Python_ROOT_DIR=/usr
-- SKBUILD=2
-- SKBUILD_CORE_VERSION=0.12.2
-- SKBUILD_DATA_DIR=/tmp/tmpjlmbwedu/wheel/data
-- SKBUILD_HEADERS_DIR=/tmp/tmpjlmbwedu/wheel/headers
-- SKBUILD_METADATA_DIR=/tmp/tmpjlmbwedu/wheel/metadata
-- SKBUILD_NULL_DIR=/tmp/tmpjlmbwedu/wheel/null
-- SKBUILD_PLATLIB_DIR=/tmp/tmpjlmbwedu/wheel/platlib
-- SKBUILD_PROJECT_NAME=img2num
-- SKBUILD_PROJECT_VERSION=0.0.0
-- SKBUILD_PROJECT_VERSION_FULL=0.0.0
-- SKBUILD_SABI_COMPONENT=
-- SKBUILD_SABI_VERSION=
-- SKBUILD_SCRIPTS_DIR=/tmp/tmpjlmbwedu/wheel/scripts
-- SKBUILD_SOABI=cpython-313-x86_64-linux-gnu
-- SKBUILD_STATE=wheel
-- _CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED=TRUE
-- _CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED=TRUE
-- ===============================================================
-- /tmp/tmpjlmbwedu/build
-- Found Python3: /usr/src/app/.venv/bin/python (found version "3.13.5") found components: Interpreter
Found system Dawn
-- Core library configured with /usr/src/app/core/src/img2num/Error.cpp;/usr/src/app/core/src/internal/SavitskyGolay.cpp;/usr/src/app/core/src/internal/bezier.cpp;/usr/src/app/core/src/internal/bilateral_filter.cpp;/usr/src/app/core/src/internal/bilateral_filter_gpu.cpp;/usr/src/app/core/src/internal/contours.cpp;/usr/src/app/core/src/internal/douglas_peucker.cpp;/usr/src/app/core/src/internal/fft_iterative.cpp;/usr/src/app/core/src/internal/graph.cpp;/usr/src/app/core/src/internal/image_to_svg.cpp;/usr/src/app/core/src/internal/image_utils.cpp;/usr/src/app/core/src/internal/kmeans.cpp;/usr/src/app/core/src/internal/kmeans_gpu.cpp;/usr/src/app/core/src/internal/labels_to_svg.cpp;/usr/src/app/core/src/internal/node.cpp;/usr/src/app/core/src/internal/shared_contours.cpp
-- Found Python3: /usr/src/app/.venv/bin/python (found version "3.13.5") found components: Interpreter Development.Module NumPy
-- Performing Test HAS_FLTO_AUTO
-- Performing Test HAS_FLTO_AUTO - Success
-- Found pybind11: /usr/src/app/.venv/lib/python3.13/site-packages/pybind11/include (found version "3.0.4")
-- Configuring done (0.7s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/tmpjlmbwedu/build
*** Building project with Ninja...
[0/2] Re-checking globbed directories...
[1/21] cd /tmp/tmpjlmbwedu/build/core && /usr/src/app/.venv/bin/python /usr/src/app/core/tools/embed_shaders.py /usr/src/app/core/src/internal/resources /tmp/tmpjlmbwedu/build/embedded_shaders.h
Writing to /tmp/tmpjlmbwedu/build/embedded_shaders.h
[20/21] Linking CXX shared module bindings/py/_img2num.cpython-313-x86_64-linux-gnu.so
*** Installing project into wheel...
-- Install configuration: "Release"
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/lib/cmake/Img2Num/Img2NumConfig.cmake
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/lib/cmake/Img2Num/Img2NumConfigVersion.cmake
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/lib/libImg2Num.a
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/lib/cmake/Img2Num/Img2NumTargets.cmake
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/lib/cmake/Img2Num/Img2NumTargets-release.cmake
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/include/img2num
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/include/img2num/img2num.h
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/include/img2num/internal
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/include/img2num/img2num
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/include/img2num/img2num/Error.h
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/img2num
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/img2num/api.py
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/img2num/__init__.py
-- Installing: /tmp/tmpjlmbwedu/wheel/platlib/img2num/_img2num.cpython-313-x86_64-linux-gnu.so
*** Making wheel...
*** Created img2num-0.0.0-cp313-cp313-linux_x86_64.whl
Successfully built img2num-0.0.0-cp313-cp313-linux_x86_64.whl
root@e780943624da:/usr/src/app#I'll push this update now. |
- Previously, the publish step in our workflows caused version mismatches (see [v0.0.0 on PyPI](https://pypi.org/project/img2num/0.0.0/#files) and [v0.2.0 on GitHub](https://github.com/Ryan-Millard/Img2Num/releases/tag/packages-py-v0.2.0)). This was caused by release-please only bumping the version definition in `packages/py/pyproject.toml` and not in root `pyproject.toml`; when releasing, the root version definition was used, caused misaligned versioning. - Fixed by dynamically deriving the Python version in the root-level `pyproject.toml` from the version definition in `packages/py/pyproject.toml`, which is versioned by release-please.
Sounds good to me. This is a much cleaner solution |
fe80183 to
9c3a5aa
Compare
|
We want to pay attention to this test workflow: |
9c3a5aa to
00cc4a2
Compare
Forget that. I made a mistake with the comparison.😂😂 Bash is a strange language. This is the new run: |
|
@Krasner I don't think I need to push a fix for it. You can see that the versions are the same in the workflow run (even though it fails). The problem is the way I wrote the workflow, not the versions. We'll delete the workflow in any case, so we don't need to fix it. |
Yeah, the solution works. I think you can push it after removing the test workflow (and updating release.yml to remove the on pull_request) |
This reverts commit 00cc4a2.
Changes & Reason
Changes
Reason
Related Issues
Fixes: #
Testing & Verification
Additional Resources