Conversation
d9e58a4 to
ad3683a
Compare
|
As of the last commit this builds and passes tests in CI. Our docker images for static binaries aren't updated, so it doesn't get all the way through, but close enough for now |
|
What is the process of updating to be able to build stanc3 once we merge this? Is it very involved or just upgrading ocaml? What are the next steps now? |
|
It’s just The core_kernel PR was just approved so it’s just ppx_deriving and then updating our CI machines once that’s available. Then this should be ready |
|
Super cool! |
|
ppx_deriving is now cross-compiling which means I have been able to build and test a windows binary built with OCaml 4.12.0! Once it is merged into opam-cross-windows this PR will be ready to go. @serban-nicusor-toptal Is there a way to build docker images which feature different versions of our dependencies without messing up our existing CI? It's not ready yet but hopefully within the next week we will want to do this. |
|
Hey @WardBrian, of course, we can do that, I think we can just create a new dir here with its Dockerfile/requirements. If you create a PR with it just tag me and I'll add it to the CI. |
|
Thanks @serban-nicusor-toptal. After this is merged, we'd want these updated images to replace the existing stanc3:static etc, but for testing it would be great to have them separate. Building them will basically just consist of re-running the docker builds but with the scripts from this branch |
|
@serban-nicusor-toptal I'm updating the scripts/ folder of this repository now. Would you be able to do the build or guide me through it? The only thing that needs to change in the actual dockerfiles is any reference to js_of_ocaml* should just call scripts/install_js_deps.sh now. Besides that the same dockerfiles can be used with the new scripts |
|
@serban-nicusor-toptal - could I actually update this PR to use those dockerfiles for the testing of this, and then after it is merged sort of redo #1020? Just trying to think of the shortest/fewest steps that doesn't require breaking the existing build pipeline while we sort it out |
|
Just for the record I had a talk with Brian and if this can wait until tomorrow/Monday I think it's best if we can automate it. Our idea is to modify the current ci-scripts pipeline that build the Dockerfiles to receive at least 2 new arguments. |
|
I've switched the format from In particular, I didn't notice that the Jane Street format enforced every top-level expression being terminated with |
460d435 to
9198f21
Compare
|
I've just collected all the non-formatting changes into a single commit here. After trying all the options, I think the one that makes the fewest bad choices in still |
|
While the CI is still being worked out, this PR is ready for general review. The updates are pretty minimal besides the formatting changes. |
cc36225 to
2d743ff
Compare
0faf481 to
2f17844
Compare
This will be reverted after merging
2f17844 to
58f925b
Compare
|
This is passing in CI and ready to merge |
rok-cesnovar
left a comment
There was a problem hiding this comment.
Two questions otherwise looks good. Also need to install locally.
|
Besides @rok-cesnovar 's Qs and my lil one I think this looks good! |
rok-cesnovar
left a comment
There was a problem hiding this comment.
Thanks, @WardBrian and @serban-nicusor-toptal!
This was a gigantic effort!
Closes #885, #710, #779, #627
This PR performs the minimal possible update to OCaml 4.12.0. It does not make any of the changes this enables like monadic let bindings or better names in our AST types (#882) - those can come later.
This includes a version bump of
core_kernelto v0.14,menhirto 20210929, andppx_derivingto 5.2.1. Dune is also updated.Required steps:
open Core_kernel.Polyto enable polymorphic comparison when neededocamlformat- this leads to a large diff - compare before commit.Windows build requirements:
Submission Checklist
Release notes
Updated OCaml and build dependencies
Copyright and Licensing
By submitting this pull request, the copyright holder is agreeing to
license the submitted work under the BSD 3-clause license (https://opensource.org/licenses/BSD-3-Clause)