Skip to content
This repository was archived by the owner on Jun 21, 2024. It is now read-only.

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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants