Skip to content

Zhefeng7110.boost: Add CN mirror - #463

Merged
Sunrisepeak merged 1 commit into
mcpplibs:mainfrom
ZheFeng7110:add-boost-cn-mirror
Sep 23, 2026
Merged

Sunrisepeak merged 1 commit into
mcpplibs:mainfrom
ZheFeng7110:add-boost-cn-mirror

Conversation

@ZheFeng7110

Copy link
Copy Markdown
Collaborator

No description provided.

@ZheFeng7110

Copy link
Copy Markdown
Collaborator Author

@Sunrisepeak CI的lint要求CN镜像的url必须是 https://gitcode.com/mcpp-res/ 开头,但我这个包自己做了镜像站,导致url不匹配。这种情况该如何处理?

@Sunrisepeak
Sunrisepeak merged commit 9c6ec87 into mcpplibs:main Sep 23, 2026
9 of 10 checks passed
@Sunrisepeak

Copy link
Copy Markdown
Member

@Sunrisepeak CI的lint要求CN镜像的url必须是 https://gitcode.com/mcpp-res/ 开头,但我这个包自己做了镜像站,导致url不匹配。这种情况该如何处理?

后面我修复一下CI

@ZheFeng7110
ZheFeng7110 deleted the add-boost-cn-mirror branch September 23, 2026 10:57
Sunrisepeak added a commit that referenced this pull request Sep 23, 2026
#463 pointed CN at gitcode ZheFeng7/boost-module, which the lint rejects
(CN url must be under https://gitcode.com/mcpp-res/), so lint on main and on
every pull request since has been red. The same asset, byte for byte (sha256
63a9aae6... on GitHub, on the old CN url and on the new one), is now released
at gitcode mcpp-res/boost-module 1.91.0.0.1.0.
Sunrisepeak added a commit that referenced this pull request Sep 23, 2026
…6_64-windows-musl; a CN mirror may be the maintainer's own

compat.py select: a change measured every member whenever anything under
tests/openkal/ moved, so adding one member cost the whole list. It now
measures every member only when the graph or the harness changes (an openkal
family descriptor, pins.toml, compat.py); a members.toml edit measures the
entries added or changed against the merge base (--base), a member's own
test project measures that member, and a descriptor measures the members
that depend on it, as before. The workflow passes the merge base and now
also triggers on tests/examples/**. selftest pins each rule.

The Windows target is x86_64-windows-musl. The graph presents musl's C
environment there, and x86_64-windows-gnu read as a mingw-w64 build, which
it never was. Measured locally with the pins (mcpp 2026.9.21.3, runtime
0.15.1): cli11, zlib and cmp-module run; curl stops at the same
curl_setup.h:591; yaml-cpp and yaml-cpp-v080 run. Renaming the target moves
the harness, so this pull request measures every member once, and that
measurement becomes the published baseline.

check_mirror_urls.lua required every CN url to live under gitcode
mcpp-res. A library's maintainer may host the mirror instead; the rule is
now a gitcode release asset under any owner. ZheFeng7110.boost's mirror
(#463), which has kept lint red on main since, passes unchanged.
Sunrisepeak added a commit that referenced this pull request Sep 23, 2026
…pat labels; openkal measurement selects by change on x86_64-windows-musl; maintainer-hosted CN mirrors; a shorter README (#464)

* compat.yaml-cpp 0.8.0 and 0.9.0, measured on openkal; the site's openkal facet names openkal-ecosystem and openkal-compat; a shorter README

compat.yaml-cpp builds upstream's CMake target as it is (src/*.cpp plus the
contrib GraphBuilder), from the GitHub tag archives mirrored byte for byte to
gitcode mcpp-res/yaml-cpp. YAML_CPP_STATIC_DEFINE, a PUBLIC definition of a
static build upstream, reaches consumers through a yaml-cpp/dll.h shim, since
descriptor `defines` stay package-private; the test asserts it at compile time.
Each version has a member (yaml-cpp, yaml-cpp-v080), and both are measured on
openkal.

The test found an upstream defect: GraphBuilderInterface's pure virtual
destructor is defined nowhere, so a derived class links only when its user
defines it. The test does, as any consumer must; the descriptor does not.

The site's openkal facet had three sentences for values (openkal itself /
runs on openkal / fails on openkal). It now has two names: openkal-ecosystem
for the packages that make up openkal, openkal-compat for packages measured
to run in an openkal graph. A package that only builds or fails is filed
under neither; its page still shows the per-target measurement.

The README keeps one line per shape in its reference table; the long
explanations for recastnavigation and huxerui move into the descriptor
catalog, which gains a yaml-cpp row.

* openkal measurement selects by change and names the Windows target x86_64-windows-musl; a CN mirror may be the maintainer's own

compat.py select: a change measured every member whenever anything under
tests/openkal/ moved, so adding one member cost the whole list. It now
measures every member only when the graph or the harness changes (an openkal
family descriptor, pins.toml, compat.py); a members.toml edit measures the
entries added or changed against the merge base (--base), a member's own
test project measures that member, and a descriptor measures the members
that depend on it, as before. The workflow passes the merge base and now
also triggers on tests/examples/**. selftest pins each rule.

The Windows target is x86_64-windows-musl. The graph presents musl's C
environment there, and x86_64-windows-gnu read as a mingw-w64 build, which
it never was. Measured locally with the pins (mcpp 2026.9.21.3, runtime
0.15.1): cli11, zlib and cmp-module run; curl stops at the same
curl_setup.h:591; yaml-cpp and yaml-cpp-v080 run. Renaming the target moves
the harness, so this pull request measures every member once, and that
measurement becomes the published baseline.

check_mirror_urls.lua required every CN url to live under gitcode
mcpp-res. A library's maintainer may host the mirror instead; the rule is
now a gitcode release asset under any owner. ZheFeng7110.boost's mirror
(#463), which has kept lint red on main since, passes unchanged.

* compat.yaml-cpp: 0.8.0's emitterutils.cpp gets <cstdint> on purpose, not by way of <format>

src/emitterutils.cpp (0.8.0) names uint16_t/uint32_t and includes neither
<cstdint> nor <stdint.h>; 0.9.0 added the include. Measured with gcc 15.1.0
over glibc 2.44: -std=c++17 fails with "'uint16_t' was not declared in this
scope"; c++20 and c++23 compile because libstdc++'s <ostream> then reaches
<format> -> bits/unicode.h -> <cstdint>. The package builds as c++23, so it
held, on a transitive include. -include cstdint for the package's own TUs
(32/32 and 31/31 in the compile database; the consumer's TU is untouched);
both members pass on gcc 16.1.0/glibc, gcc 15.1.0/musl and llvm 22.1.8.

* openkal compatibility: the measurement of 2026-09-23

Measured by openkal-compat run 35882195774 on this branch, with mcpp
2026.9.21.3, openkal-llvm-runtime 0.15.1 and llvm@22.1.8, the host's mingw
headers installed, 32 members on x86_64-linux-gnu and x86_64-windows-musl.

x86_64-linux-gnu: 30 run, 2 fail (curl and cmp-module, both declared
not-portable). x86_64-windows-musl, through Wine: 30 run, 1 builds
(mimalloc: its alloc test exits 1 under Wine), 1 fails (curl, declared).

Against the published file of 2026-09-20 (runtime 0.12.0, mcpp 2026.9.18.3)
no label is lower. archive, c-ares, doctest, spdlog and sqlite3 now run on
Windows and expat on Linux, as docs/openkal-compat.md's 2026-09-21 section
already described; yaml-cpp and yaml-cpp-v080 run on both targets. The
Windows cells were recorded as x86_64-windows-gnu until this measurement.
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.

2 participants