Extend CI coverage to all the mainstream architectures

未關閉
#248 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
35/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
clojure, python

研究方向

該 issue 將 Travis CI 套件和 clj -M:jdk-17:test 指定為重現入口;首先檢查 CI 設定,並在報告中提到的 Python 版本上執行該命令。檢查 instance-abc-classes 失敗以及首頁的建置指示器。當 CI 涵蓋所要求的架構和 Python 版本、測試套件通過,且建置連結不再回傳 404 時,即表示完成。

由索引模型根據 Issue 內容生成。

描述

Hi,

there is no extended CI coverage to non-linux archs to indicate the lib can run on any of the non-linux architectures. It is currently broken on MS-Windows (see #246) and most probably has always been?

Moreover, the the build indicator on the front page although it indicates that the build is passing, it point to a 404 on the travis website.

In addition to this, the test suit fails to run on python greater than 3.10, due to the removal of a deprecated package path in python from collections.Mappings to collections.abc.Mappings. This is another indication that the travis suite (which I assume picks up the latest python version) is not working?

To reproduce on Linux run

[~/src/libpython-clj]$ python --version
Python 3.10.11
(venv) 
[~/src/libpython-clj]$ clj -M:jdk-17:test
WARNING: Using incubator modules: jdk.incubator.foreign

Running tests in #{"test"}
21:15:09.121 [main] INFO  libpython-clj2.python.info - Detecting startup info
21:15:09.316 [main] INFO  libpython-clj2.python - Startup info {:lib-version "3.10", :java-library-path-addendum "/nix/store/lwzzgbnj41d657lpxczk6l5f7d5zcnj1-python3-3.10.11/lib", :exec-prefix "~/src/libpython-clj/venv", :executable "/home/chaos/src/libpython-clj/venv/bin/python3", :libnames ("python3.10m" "python3.10"), :prefix "~/src/libpython-clj/venv", :base-prefix "/nix/store/lwzzgbnj41d657lpxczk6l5f7d5zcnj1-python3-3.10.11", :libname "python3.10m", :base-exec-prefix "/nix/store/lwzzgbnj41d657lpxczk6l5f7d5zcnj1-python3-3.10.11", :python-home "/nix/store/lwzzgbnj41d657lpxczk6l5f7d5zcnj1-python3-3.10.11", :version [3 10 11], :platform "linux"}
21:15:09.316 [main] INFO  libpython-clj2.python - Prefixing java library path: /nix/store/lwzzgbnj41d657lpxczk6l5f7d5zcnj1-python3-3.10.11/lib
21:15:09.433 [main] INFO  libpython-clj2.python - Loading python library: /nix/store/lwzzgbnj41d657lpxczk6l5f7d5zcnj1-python3-3.10.11/lib/libpython3.10.so
21:15:10.140 [main] DEBUG libpython-clj2.python.ffi - Initializing Python C Layer
21:15:10.146 [tech.resource.gc ref thread] INFO  tech.v3.resource.gc - Reference thread starting
21:15:10.149 [main] DEBUG libpython-clj2.python.ffi - Python Home: /nix/store/lwzzgbnj41d657lpxczk6l5f7d5zcnj1-python3-3.10.11
21:15:10.193 [main] INFO  tech.v3.datatype.nio-buffer - Unable to find direct buffer constructor -
falling back to jdk16 memory model.

Testing libpython-clj2.classes-test

Testing libpython-clj2.ffi-test

Testing libpython-clj2.fncall-test

Testing libpython-clj2.iter-gen-seq-test

.# ..

ERROR in (instance-abc-classes) (ffi.clj:708)
Uncaught exception, not in assertion.
expected: nil
  actual: java.lang.Exception: AttributeError: module 'collections' has no attribute 'Mapping'

 at libpython_clj2.python.ffi$check_error_throw.invokeStatic (ffi.clj:708)
    libpython_clj2.python.ffi$check_error_throw.invoke (ffi.clj:706)
    libpython_clj2.python.ffi$simplify_or_track.invokeStatic (ffi.clj:973)
    libpython_clj2.python.ffi$simplify_or_track.invoke (ffi.clj:954)
    libpython_clj2.python.base$eval12483$fn__12492.invoke (base.clj:138)
  #...
    clojure.main.main (main.java:40)

As such, I'd like to make a suggestion to fix the above issue and extend the CI coverage across all mainstream architectures and python versions, PR to follow.

主要語言
Clojure
星號
1.2k
分支
74
PR 合併指標
30 天內沒有已合併 PR

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

clj-python/libpython-clj 的其他 Issue

查看 clj-python/libpython-clj 的全部 Issue

相似的 Issue

更多 Clojure Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。