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

Core testsuite workflow #656

Draft
wants to merge 3 commits into
base: 4.12+domains+effects
Choose a base branch
from

Conversation

abbysmal
Copy link
Collaborator

This PR aims to implement a workflow to run Core's testsuite once a day.

The long run ideal would be to include in a matrix other pieces of Core's ecosystem (async_unix, core_kernel, to name a few) and to keep tab on those from within our CI environment, since running their testsuite is rather hard.

This follows @emillon's approach in #624 (thanks!), and the monorepo is a fork of his, hosted at ocaml-multicore/core.

This PR and monorepo will need updates once our rebase to 4.13 is done, and I will try to dig further into integrated more libraries in this run, when possible.

As such I will mark it as a draft for now.

Note that in Core's case, I included a fix for the channel layout assumption in bigstring, since this will be a required upstream change in the long run.

@kayceesrk
Copy link
Contributor

Which is the branch used in ocaml-multicore/core? Is is monorepo-0.14? How does the workflow file pick this branch? Should we make monorepo-0.14 the default branch on ocaml-multicore/core because that's the relevant one.

@abbysmal
Copy link
Collaborator Author

abbysmal commented Oct 1, 2021

I think we can make the default branch monorepo-0.14 indeed, though the workflow files picks it up as a part of the checkout actions, like this:

        with:
          repository: 'ocaml-multicore/core'
          ref: 'monorepo-0.14'

opam-repositories: |
default: https://github.com/ocaml/opam-repository.git

- run: opam monorepo lock
Copy link
Contributor

Choose a reason for hiding this comment

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

If the repository contains core.opam.locked, it's better to omit this line, that way you'll get reproducible results. And you can update the dependencies by hand by pushing a new lockfile (obtained by locally running opam monorepo lock).

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Right, anyway I noticed it fails nowadays and cannot recreate a lock file (because of some ocaml-base-compiler conflict at some point, I'm not sure I understand it). So it leaves the previous lockfile in place, apparently.
I will remove that line, thanks.

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.

None yet

3 participants