OCaml: `(flags …)` of an ocamllex stanza or a test fixture's `(env …)` are taken as the project dropping :standard; opam's own-compiler matrix (`ocamlv`) is "1 OCaml version"; `ocaml/setup-ocaml/lint-fmt` is the ecosystem's format check
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 52/100
調査の方向性
Start in project_validator/ecosystems/ocaml.py: the dune (flags ...) parsing around lines 203-206 treats ocamllex and test-fixture flags as compiler flags, and the setup-ocaml handling near line 298 needs lint-fmt recognition. The matrix check should read ocamlv-style keys with version-shaped values. Done when the repros in the issue (fx_h, fx_g, the ocamlv matrix, and the lint-fmt@v3 workflow) give the expected PASS results without breaking the existing OCaml tests.
索引モデルが issue の本文から書いたものです。
説明
dune: compiler-warnings/warnings-as-errors FAIL "no OCaml warning settings found" although CI tests in the dev profile; the (flags -ml) that "drops :standard" is an ocamllex lexer stanza and (env (_ (flags -w -33))) sits inside test fixtures. opam: "1 OCaml version (default)" while the matrix variable ocamlv drives 11 compiler versions built by opam itself. lwt: ocaml/setup-ocaml/lint-fmt@v3 runs dune build @fmt and fails on unformatted files → "CI does not run ocamlformat".
Evidence from the corpus audit
ocaml/dune / compiler-warnings, warnings-as-errors
- kind: FALSE_NEGATIVE
- actual: FAIL:
OCaml: no OCaml warning settings found; enable at least dune's dev profile warning set (or -w +a);OCaml: warnings are not treated as errors in CI configuration and the dune files - expected: PASS: CI tests in the dev profile (
opam exec -- make test,opam exec -- ./dune.exe test ...); the(flags …)fields that "drop :standard" are anocamllexstanza's lexer flags ((flags -ml)) and(env (_ (flags -w -33)))inside test fixtures, not compiler flags of the product - evidence:
src/dune_lang/dune:22-24:(ocamllex\n (modules dune_file_script)\n (flags -ml)); alsosrc/dune_rules/dune:42,otherlibs/dune-rpc/dune:9,src/dune_rules/cram/dune:3(all(flags -ml)of ocamllex);otherlibs/dune-site/test/plugin_require_thread.t/plugin/dune:1:(env (_ (flags -w -33)));.github/workflows/workflow.yml:293:run: opam exec -- make test;project_validator/ecosystems/ocaml.py:203-206: every(flags …)form of a dune file is read as compiler flags - repro:
dunewith(library (name l))\n(ocamllex (modules lexer) (flags -ml))+ workflowrun: ./_boot/dune.exe runtest→ compiler-warnings FAIL (reproduced inaudit/scratch/fx_h; without the ocamllex stanza,fx_g, it passes) - confidence: high
ocaml/opam / platform-matrix
- kind: FALSE_NEGATIVE
- actual: FAIL:
OCaml: CI covers 3 OS(es) (linux, macos, windows), 1 OCaml version(s) (default), 3 combination(s); expected at least 2 OCaml versions (found 1); map names the jobsBuild-Linux (4.11.2)...Build-Linux (5.5.0)yet gives them toolchainOCaml default - expected: 11 OCaml versions on Linux and 2 on Windows: the matrix variable
ocamlvis the compiler version (opam builds its own compilers,.github/scripts/main/ocaml-cache.sh ${{ matrix.ocamlv }}); the profile knows only setup-ocaml'socaml-compiler,ocaml/opam:images andopam switch create - evidence:
.github/workflows/main.yml:114:ocamlv: [ 4.11.2, 4.12.1, 4.13.1, 5.0.0, 5.1.1, 5.2.1, 5.3.0, 5.4.1, trunk, 4.14.4, 5.5.0 ];:142:run: bash -exu .github/scripts/main/ocaml-cache.sh ${{ runner.os }} ${{ matrix.ocamlv }};docs/ecosystems/ocaml.md"platform-matrix" lists only setup-ocaml, the docker image andopam switch create - repro: matrix
ocamlv: [4.14.4, 5.5.0]with arun:passing${{ matrix.ocamlv }}to a script → "1 OCaml version (default)" - confidence: medium (a matrix key named
ocaml*/ocamlvwith version-shaped values is strong evidence; recognising it is a heuristic)
ocsigen/lwt / code-formatting
- kind: FALSE_NEGATIVE
- actual: FAIL component:
OCaml: .ocamlformat is defined but CI does not run ocamlformat - expected: PASS:
ocaml/setup-ocaml/lint-fmt@v3is the standard OCaml-ecosystem formatting check (it runsdune build @fmt, failing on unformatted files); its siblinglint-opamrunsopam-dune-lint - evidence:
.github/workflows/lint.yml:25-34:lint-fmt:\n ... - uses: ocaml/setup-ocaml@v3\n with:\n ocaml-compiler: 5\n - uses: ocaml/setup-ocaml/lint-fmt@v3;.ocamlformatat the root;project_validator/ecosystems/ocaml.pymentions setup-ocaml only forocaml-compiler(line 298) - repro:
.ocamlformat+ workflow stepuses: ocaml/setup-ocaml/lint-fmt@v3→ "CI does not run ocamlformat" - confidence: high
Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.
🤖 Generated with Claude Code
- 主要言語
- Python
- スター
- 4
- フォーク
- 1
- 平均マージ
- 10時間 41分
- マージ済み PR(30日)
- 79
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cpp-best-practices/project_validator のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#267 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
cpp-best-practices/project_validator#263 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#260 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
cpp-best-practices/project_validator#259 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
cpp-best-practices/project_validator#255 ·
メンテナーはふだん 1 日以内に返信
cpp-best-practices/project_validator の issue をすべて見る
似ている issue
-
plot_graph crashes when a mesh node has no m2m edge対応中かも @tygvi が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mllam/neural-lam#883 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
enhancement possible-duplicate
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
AOSSIE-Org/PictoPy#1715 · コメント 2 件 ·
メンテナーはふだん 6 日以内に返信
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
NVIDIA/auto-ontology#511 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ethereum/execution-specs#3996 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
メンテナーはふだん 1 日以内に返信