clj-python / clj-python/libpython-clj
Extend CI coverage to all the mainstream architectures
まだ誰も着手していません。
- 主要言語
- Clojure
- スター
- 1.2k
- フォーク
- 74
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
この issue では、再現の入口として Travis CI スイートと clj -M:jdk-17:test が指定されています。まず CI 設定を調べ、報告された Python バージョンでそのコマンドを実行してください。instance-abc-classes の失敗とフロントページのビルドインジケーターを確認してください。CI が要求されたアーキテクチャと Python バージョンをカバーし、テストスイートが成功し、ビルドリンクが 404 を返さなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- clojure, python
- 領域
- build-system, ci-cd, operating-systems
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100