Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

batteries-3.7.0 #24327

Closed
wants to merge 2 commits into from
Closed

batteries-3.7.0 #24327

wants to merge 2 commits into from

Conversation

UnixJunkie
Copy link
Contributor

I will issue the final tag once opam CI tests are OK

@UnixJunkie
Copy link
Contributor Author

build and tests are passing on my computer with ocaml-4.08 and ocaml-4.09. I don't understand what the CI tests are not happy about.

@UnixJunkie
Copy link
Contributor Author

I issued the final tag v3.7.0.

PS: opam-ci test details are way too long. Probably, all things that pass should be hidden/summarized. Only things that are broken and that need fixing should be clearly stated/highlighted.

@kit-ty-kate
Copy link
Member

PS: opam-ci test details are way too long. Probably, all things that pass should be hidden/summarized. Only things that are broken and that need fixing should be clearly stated/highlighted.

thanks for the feedback. This was implemented in ocurrent/opam-repo-ci#232 and now live.

@mseri
Copy link
Member

mseri commented Sep 7, 2023

I don't understand why some packages using obuild cannot find Batteries, BatList, ... any longer and are now failing

@UnixJunkie
Copy link
Contributor Author

@mseri batteries switched to dune recently; this might be related.
I don't use obuild anymore so I cannot investigate easily.

@UnixJunkie
Copy link
Contributor Author

packages relying on obuild generally have a higher bound defined:
cf. https://opam.ocaml.org/packages/obuild/ (right of the page).
I think it means their newer version is not relying on obuild anymore.

@mseri
Copy link
Member

mseri commented Sep 7, 2023

I will add an upper bound for the failing ones. There is another issue that should be solved, a number of test runs are failing with

#=== ERROR while compiling batteries.3.7.0 ====================================#
# context              2.2.0~alpha3~dev | linux/x86_64 | ocaml-base-compiler.4.05.0 | pinned(https://github.com/ocaml-batteries-team/batteries-included/archive/refs/tags/v3.7.0.tar.gz)
# path                 ~/.opam/4.05/.opam-switch/build/batteries.3.7.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p batteries -j 47 @install @runtest
# exit-code            1
# env-file             ~/.opam/log/batteries-7-d6c171.env
# output-file          ~/.opam/log/batteries-7-d6c171.out
### output ###
# File "src/dune", line 1, characters 0-544:
#  1 | (library
#  2 |  (name batteries_unthreaded)
#  3 |  (public_name batteries.unthreaded)
# ....
# 13 |  )
# 14 |  (wrapped false)
# 15 | )
# (cd _build/default/src && /home/opam/.opam/4.05/bin/qtest extract --preamble-file ../qtest/qtest_preamble.ml --quiet extlib.ml batteriesPrint.ml batteriesExceptionless.ml batteriesConfig.ml batteries.ml batVect.ml batUref.ml batUnix.ml batUnit.ml batUTF8.ml batUChar.ml batTuple.ml batText.ml batSys.ml batSubstring.ml batString.ml batStream.ml batStack.ml batSplay.ml batSet.ml batSeq.ml batScanf.ml batReturn.ml batResult.ml batRefList.ml batRef.ml batRandom.ml batQueue.ml batPrintf.ml batPrintexc.ml batPervasives.ml batPathGen.ml batParserCo.ml batOrd.ml batOption.ml batOptParse.ml batOpaqueInnerSys.ml batNumber.ml batNum.ml batNativeint.ml batMultiPMap.ml batMultiMap.ml batMarshal.ml batMap.ml batLogger.ml batLog.ml batList.ml batLexing.ml batLazyList.ml batInterfaces.ml batInt64.ml batInt32.ml batInt.ml batInnerWeaktbl.ml batInnerShuffle.ml batInnerPervasives.ml batInnerIO.ml batISet.ml batIO.ml batIMap.ml batHeap.ml batHashtbl.ml batHashcons.ml batGlobal.ml batGenlex.ml batGc.ml batFormat.ml batFloat.ml batFingerTree.ml batFilename.ml batFile.ml batEnum.ml batEither.ml batDynArray.ml batDllist.ml batDigest.ml batDeque.ml batConcurrent.ml batConcreteQueue.ml batComplex.ml batCharParser.ml batChar.ml batCache.ml batBytesCompat.ml batBytes.ml batBuffer.ml batBounded.ml batBool.ml batBitSet.ml batBigarray.ml batBig_int.ml batBase64.ml batAvlTree.ml batArray.ml batVect.mli batUref.mli batUnix.mli batUnit.mli batUTF8.mli batUChar.mli batTuple.mli batText.mli batSys.mli batSubstring.mli batString.mli batStream.mli batStack.mli batSplay.mli batSet.mli batSeq.mli batScanf.mli batReturn.mli batResult.mli batRefList.mli batRef.mli batRandom.mli batQueue.mli batPrintf.mli batPrintexc.mli batPervasives.mli batPathGen.mli batParserCo.mli batOrd.mli batOption.mli batOptParse.mli batNumber.mli batNum.mli batNativeint.mli batMultiPMap.mli batMultiMap.mli batMarshal.mli batMap.mli batLogger.mli batLog.mli batList.mli batLexing.mli batLazyList.mli batInterfaces.mli batInt64.mli batInt32.mli batInt.mli batInnerWeaktbl.mli batInnerIO.mli batISet.mli batIO.mli batIMap.mli batHeap.mli batHashtbl.mli batHashcons.mli batGlobal.mli batGenlex.mli batGc.mli batFormat.mli batFloat.mli batFingerTree.mli batFilename.mli batFile.mli batEnum.mli batEither.mli batDynArray.mli batDllist.mli batDigest.mli batDeque.mli batConcurrent.mli batComplex.mli batCharParser.mli batChar.mli batCache.mli batBytes.mli batBuffer.mli batBounded.mli batBool.mli batBitSet.mli batBigarray.mli batBig_int.mli batBase64.mli batAvlTree.mli batArray.mli) > /opam-tmp/build_68ce2a_dune/dune-pipe-action-_9f08fd_.stdout
# Fatal error: exception Sys_error("batteriesConfig.ml: No such file or directory")

Maybe there is some missing dependency or prerequisite in the dune files and then it is a matter of concurrency when the test works or not.

@UnixJunkie
Copy link
Contributor Author

@mseri according to my tests: batteries_v3.7.0 and ocaml-4.5.0 can repeatedly be built and tested.

@sim642
Copy link
Contributor

sim642 commented Sep 9, 2023

batteriesConfig.ml is generated with a dune rule, unlike all other modules. But that failing command has this file added by dune as part of %{impl-files} of an inline tests backend. So dune is aware of the file being part of the library but the inline tests runner doesn't seem to depend on it properly or something?

I guess this only reveals itself now with 47 jobs which is more than common.

EDIT: I created a fix here: ocaml-batteries-team/batteries-included#1121.

@mseri
Copy link
Member

mseri commented Sep 12, 2023

@sim642 thanks for checking and submitting a fix.
I'll wait for this PR to be updated then.

@UnixJunkie
Copy link
Contributor Author

I'll bump the minor version number in a new tag.

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.

5 participants