Skip to content

Bump the OCaml compiler versions in the CI - #1366

Open
Halbaroth wants to merge 6 commits into
OCamlPro:nextfrom
Halbaroth:bump-ocaml-version-ci
Open

Bump the OCaml compiler versions in the CI#1366
Halbaroth wants to merge 6 commits into
OCamlPro:nextfrom
Halbaroth:bump-ocaml-version-ci

Conversation

@Halbaroth

Copy link
Copy Markdown
Collaborator

This commit introduces three changes:

  • Bump 4.14.3 to 4.14.4 and 5.4.0 to 5.5.0,
  • Use major version for the upper bound and minor version for the 4.14,
  • Quote compiler versions as recommended by the documentation of setup-ocaml.

This commit introduces three changes:
- Bump 4.14.3 to 4.14.4 and 5.4.0 to 5.5.0,
- Use major version for the upper bound and minor version for the 4.14,
- Quote compiler versions as recommended by the documentation of
  setup-ocaml.

@bclement-ocp bclement-ocp left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm OK with bumping the compiler versions that we use and with restricting to patch versions (i.e. 4.14 instead of 4.14.3), but I'm not sure I'm confident with the major 5 bound — if a new OCaml release accidentally breaks something, that would also brick our CI.

I think new OCaml releases are infrequent enough that we can keep 5.5 (I agree that patch releases are very likely fine) and bump manually it when there is a new minor release?

@Halbaroth

Copy link
Copy Markdown
Collaborator Author

The minimal version for js_of_ocaml 6.4.0 is OCaml 4.13. We could bump the minimal version to 4.13 or 4.14?

@bclement-ocp

Copy link
Copy Markdown
Collaborator

I'd be fine bumping the minimal version to 4.13 / 4.14 but then we need to do it in the opam files as well — otherwise we risk accidentally using APIs that are not available on older OCaml versions. (I think if we bump the minimal version it should be 4.13 as that is what is still in debian oldstable)

Although do we really need to test the js_of_ocaml build on all versions? I think it's fine to only test it on 4.14 (or even on 5.x).

@Halbaroth

Copy link
Copy Markdown
Collaborator Author

/home/runner/work/alt-ergo/alt-ergo/_build/default/src/bin/js/main_text_js.bc.js:16468
b ||= a.length - 1 < (ofs + len | 0) ? 1 : 0;
^^^

NOOOOOOOOOOOOOOOO... again a bug of jsoo?

@bclement-ocp

Copy link
Copy Markdown
Collaborator

/home/runner/work/alt-ergo/alt-ergo/_build/default/src/bin/js/main_text_js.bc.js:16468
b ||= a.length - 1 < (ofs + len | 0) ? 1 : 0;
^^^

NOOOOOOOOOOOOOOOO... again a bug of jsoo?

Apparently ||= is only supported since nodejs 15 (released in 2020) but we are still using an ancient nodejs 14 (?!) in the CI.

The operator `||=` is introduced in NodeJS 15 (see
https://nodejs.org/en/blog/release/v15.0.0).

The function `Object.hasOwn` is introduced in NodeJS 16.9.0 (see
nodejs/node#41471).
@Halbaroth
Halbaroth force-pushed the bump-ocaml-version-ci branch from ac3b416 to f4f7372 Compare August 17, 2026 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants