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

Add: bos.0.2.1, fmt.0.8.10, rresult.0.7.0, topkg.1.0.4, topkg-care.1.0.4 #19684

Merged

Conversation

dbuenzli
Copy link
Collaborator

@dbuenzli dbuenzli commented Oct 3, 2021

  • Add: bos.0.2.1 home, doc, issues
    Basic OS interaction for OCaml
  • Add: fmt.0.8.10 home, doc, issues
    OCaml Format pretty-printer combinators
  • Add: rresult.0.7.0 home, doc, issues
    Result value combinators for OCaml
  • Add: topkg.1.0.4 home, doc, issues
    The transitory OCaml software packager
  • Add: topkg-care.1.0.4 home, doc, issues
    The transitory OCaml software packager

bos v0.2.1 2021-10-04 Zagreb

  • Require OCaml >= 4.08.
  • OS.Dir.create fix function result on existing files. It returned
    non-sensical results. The function now errors as it should
    be. Thanks to Léo Andrès for the report.
  • OS.Dir.create fix function returning false instead of
    true when the directory is created with ~path:false.
    Thanks to Léo Andrès for the report and patch.
  • OS.File.read support for reading character devices and named
    pipes. Thanks to Rizo Isrof for the patch.

fmt v0.8.10 2021-10-04 Zagreb

  • Require OCaml >= 4.08. This drops the dependency on the
    stdlib-shims and seq packages.
  • Add the [@@ocaml.deprecated] annotation to deprecated
    functions. Thanks to Antonin Décimo for the patch.

rresult v0.7.0 2021-10-04 Zagreb

  • Require OCaml >= 4.08. This drops the dependency on the result
    compatibility package.
  • Users are encouraged to move the the Stdlib.Result module
    available in OCaml 4.08.

topkg-care, topkg v1.0.4 2021-10-04 Zagreb

  • Remove mentions of Result.result in the code base. We got the
    dependency indirectly through bos and the latest version of the
    latter no longer depends on it.

Use b0 cmd -- .opam.publish bos.0.2.1 fmt.0.8.10 rresult.0.7.0 topkg.1.0.4 topkg-care.1.0.4 to update the pull request.

@dbuenzli
Copy link
Collaborator Author

dbuenzli commented Oct 4, 2021

I did dread the removal of the result dependency from rresult :-) That's what we get for having imprecise dependencies.

What do we do, constrain on rresult or add the result package to the dependencies of these packages ?

@dbuenzli dbuenzli force-pushed the b0-publish-bos.0.2.1-etc-e14f3f8f949cef24 branch from b41da67 to bf03157 Compare October 4, 2021 18:44
@dbuenzli
Copy link
Collaborator Author

dbuenzli commented Oct 4, 2021

So I added the result constraints on those packages failing with Result.result. Thanks to @dra27 for providing this snipped to output the failing packages which may be useful for others in the future.

curl -Ls https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/b41da67f2ede580fbdfdad1b5f5fd140eb547205 | sed -e 's/>/\n/g' | sed -ne 's/^\([^ ]*\) (failed: Unbound.*/\1/p' | sort | uniq

This was then piped to opam-ed as follows:

sed 's/\(\([^\.]*\).*\)/-f packages\/\2\/\1\/opam/g' | xargs opam-ed -i 'append depends "result"'

(the formatting was altered on some packages).

A few packages were also failing on fmt because they are using warn-error (boooo :-), they got a constraint on fmt.

@dbuenzli dbuenzli force-pushed the b0-publish-bos.0.2.1-etc-e14f3f8f949cef24 branch from bf03157 to b0a4bea Compare October 4, 2021 19:16
@dbuenzli
Copy link
Collaborator Author

dbuenzli commented Oct 4, 2021

So as @dra27 aptly remarked, adding a result dependency doesn't work since the packages' build systems are not aware of it. :-)

So given $(PKGLIST) as listed by @dra27's rune above the commit was generated with:

opam admin add constraint `rresult<0.7.0' 
$(PKGLIST) | sed 's/\(\([^\.]*\).*\)/packages\/\2\/\1\/opam/g' | git add --
git checkout packages

It would be nice for add-constraint to support specifying the packages on which they should apply directly see ocaml/opam#3077

@dbuenzli
Copy link
Collaborator Author

dbuenzli commented Oct 4, 2021

So given $(PKGLIST) as listed by @dra27's rune above the commit was generated with:
[...]

Just a note to my future self, given the way add-constraint works the above procedure missed the packages that got rresult through a transitive dep :-(. We really want to be able to specify the list of packages to affect in add-constraint.

@dbuenzli
Copy link
Collaborator Author

dbuenzli commented Oct 5, 2021

Ok the next round of results are in. I propose to fix remaining deps in a separate PR to be merged before this one (will do as soon as I get a bit time on this). I don't think it makes sense to run 36k jobs again, I'm not too happy about the vast amount of ressources all that is using.

@mseri
Copy link
Member

mseri commented Oct 6, 2021

This looks good, the only remaining issue due to dropping result is the dockerfile-cmd one, if I did not miss anything.
I think we only need to fix that one separately before merging this. We can deal with the lower bounds at lower pace (I have opened an issue on the opam repo to track them)

@dbuenzli dbuenzli mentioned this pull request Oct 6, 2021
@dbuenzli
Copy link
Collaborator Author

dbuenzli commented Oct 6, 2021

Why did the CI results disappear ?

@dbuenzli
Copy link
Collaborator Author

dbuenzli commented Oct 6, 2021

It seems they were restarted ?! I don't think we need another round.

@mseri mseri merged commit a1eb002 into ocaml:master Oct 6, 2021
@mseri
Copy link
Member

mseri commented Oct 6, 2021

I agree, let's stop it while the CI is restarting! Thanks a lot

mseri added a commit that referenced this pull request Oct 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants