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
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Python
- Star
- 4
- Fork
- 1
- Merge trung bình
- 10 giờ 41 phút
- Pull request đã merge (30 ngày)
- 79
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cpp-best-practices/project_validator
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
cpp-best-practices/project_validator#267 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
cpp-best-practices/project_validator#263 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
cpp-best-practices/project_validator#260 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
cpp-best-practices/project_validator#259 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
cpp-best-practices/project_validator#255 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của cpp-best-practices/project_validator
Issue tương tự
-
plot_graph crashes when a mesh node has no m2m edgeCó thể đã có người làm @tygvi đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
mllam/neural-lam#883 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
enhancement possible-duplicate
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
AOSSIE-Org/PictoPy#1715 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 6 ngày
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
NVIDIA/auto-ontology#511 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ethereum/execution-specs#3996 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
Maintainer thường phản hồi trong vòng 1 ngày