Skip to content

ci: build version from pyproject - #120

Merged
everoddandeven merged 5 commits into
libmonero:mainfrom
everoddandeven:build/version-from-pyproject
Oct 30, 2026
Merged

everoddandeven merged 5 commits into
libmonero:mainfrom
everoddandeven:build/version-from-pyproject

Conversation

@everoddandeven

Copy link
Copy Markdown
Member

No description provided.

@everoddandeven everoddandeven changed the title Build/version from pyproject ci: build version from pyproject Oct 29, 2026
@codacy-production

codacy-production Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@everoddandeven
everoddandeven force-pushed the build/version-from-pyproject branch from 43ed0c7 to d92f9b0 Compare October 30, 2026 01:52
everoddandeven and others added 5 commits October 30, 2026 05:45
CMakeLists.txt reads the version declared in pyproject.toml instead of
repeating it, and passes it to py_monero_utils.cpp, which reports it from
get_version(). The function moves out of the header, so a new version only
rebuilds that file instead of every one that includes the header.

test_get_version now checks that the compiled module reports the version of
pyproject.toml.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The four debian/<codename> directories had the same files: only a blank line
of the changelog differed. The distro is already taken from /etc/os-release
for the name of the package, and the dependencies are computed by
dpkg-shlibdeps at build time, so debian/DEBIAN is copied as it is.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
build.sh reads the version for the name of the package from pyproject.toml,
and patches it in the control file as it already does for the architecture
and the dependencies, so the template keeps a placeholder.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The build backend is scikit-build-core, declared in pyproject.toml, so pip
never runs setup.py. It imports skbuild from scikit-build, which no build
requires or installs, and it only repeated the version.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The release fails before it looks for the build runs when the tag is not
the version of the tagged commit, instead of publishing a draft with
packages named after another version.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@everoddandeven
everoddandeven force-pushed the build/version-from-pyproject branch from d92f9b0 to be4199a Compare October 30, 2026 04:52
@everoddandeven
everoddandeven merged commit c85cdc1 into libmonero:main Oct 30, 2026
9 of 18 checks passed
@everoddandeven
everoddandeven deleted the build/version-from-pyproject branch October 30, 2026 05:40
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