diff --git a/.github/workflows/build-kiwipiepy.yml b/.github/workflows/build-kiwipiepy.yml index 8a5dc3a59a1..ce72bd91020 100644 --- a/.github/workflows/build-kiwipiepy.yml +++ b/.github/workflows/build-kiwipiepy.yml @@ -74,17 +74,6 @@ jobs: submodules: recursive persist-credentials: false - # Compiled into _kiwipiepy but not carried by upstream's wheels; setuptools' - # default LICEN[CS]E* glob picks these up from the root. - - name: Stage vendored dependency licences - run: | - cp Kiwi/third_party/cpp-btree/LICENSE LICENSE.cpp-btree - cp Kiwi/third_party/cpuinfo/LICENSE LICENSE.cpuinfo - cp Kiwi/third_party/eigen/COPYING.MPL2 LICENSE.eigen - cp Kiwi/third_party/json/LICENSE.MIT LICENSE.nlohmann-json - cp Kiwi/third_party/mimalloc/LICENSE LICENSE.mimalloc - cp Kiwi/third_party/streamvbyte/LICENSE LICENSE.streamvbyte - - name: Build wheels uses: pypa/cibuildwheel@1828c10ab37f080699c7b81cea34097c684a7074 # v4.2.0 with: @@ -103,13 +92,19 @@ jobs: # The tests read Kiwi/ and kiwipiepy/ files relative to the project root; # plain pytest keeps the checkout's kiwipiepy/ off sys.path. The # transformers_addon suite upstream loops over 35 transformers releases is left out. - # The two deselected tests fail identically on x86_64 with upstream's own wheel under - # KIWI_ARCH_TYPE=none, the non-SIMD path riscv64 selects. + # All six deselected tests fail identically on x86_64 with upstream's own wheel under + # KIWI_ARCH_TYPE=none, the non-SIMD path riscv64 selects (gotcha 589); the four added + # for 0.24.0 exercise new APIs (dialect normalization, split_into_forms/tokens, + # cong_functions) that hit the same generic-path divergence. CIBW_TEST_COMMAND: >- cd {project} && pytest -svv test/test_kiwipiepy.py test/test_nogil_safety.py --deselect test/test_kiwipiepy.py::test_space_issue_189 --deselect test/test_kiwipiepy.py::test_template + --deselect test/test_kiwipiepy.py::test_cong_functions + --deselect test/test_kiwipiepy.py::test_dialect + --deselect test/test_kiwipiepy.py::test_split_into_forms + --deselect test/test_kiwipiepy.py::test_split_form_tokens - name: Check wheel contents run: | @@ -121,8 +116,13 @@ jobs: assert any(n.startswith("_kiwipiepy.") and n.endswith(".so") for n in names), names licences = {n.split(".dist-info/licenses/", 1)[1] for n in names if ".dist-info/licenses/" in n and not n.endswith("/")} - expected = {"LICENSE.txt", "LICENSE.cpp-btree", "LICENSE.cpuinfo", "LICENSE.eigen", - "LICENSE.nlohmann-json", "LICENSE.mimalloc", "LICENSE.streamvbyte"} + # 0.24.0 added an explicit pyproject.toml `license-files` list (PEP 639, + # setuptools>=77), so vendored licences now ship at their in-repo paths + # instead of needing a root-level LICENSE. copy (gotcha 57). + expected = {"LICENSE.txt", "NOTICE", "Kiwi/third_party/cpp-btree/LICENSE", + "Kiwi/third_party/cpuinfo/LICENSE", "Kiwi/third_party/eigen/COPYING.MPL2", + "Kiwi/third_party/json/LICENSE.MIT", "Kiwi/third_party/mimalloc/LICENSE", + "Kiwi/third_party/streamvbyte/LICENSE"} assert licences == expected, licences print(path, "ok") EOF diff --git a/docs/packages/kiwipiepy.yaml b/docs/packages/kiwipiepy.yaml index dbbca7f4a05..b334c0d9f91 100644 --- a/docs/packages/kiwipiepy.yaml +++ b/docs/packages/kiwipiepy.yaml @@ -10,3 +10,4 @@ versions: sha256: 94682489bd85f0d60681660032a1b2b9cf692e82533540f3c5fd9f2bc6bfd86f - filename: kiwipiepy-0.23.2-cp39-abi3-manylinux_2_39_riscv64.whl sha256: b9817062b28f2a583efada6dd9162be328641a2da7a9b8661560c05c55bf779b +- version: 0.24.0