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

Refresh the Travis scripts to test more distros and targets #94

Merged
merged 4 commits into from
Jan 29, 2019

Conversation

avsm
Copy link
Contributor

@avsm avsm commented Jan 19, 2019

  • Instead of hardcoding versions, the opam2 Docker images now
    have aliases to the latest versions of the OS, so use those.
  • Remove the patch version from the compiler version, so the
    latest is always used.
  • Build all the targets to ensure examples work (fixes Build examples in CI #93)

@dpatti
Copy link
Collaborator

dpatti commented Jan 20, 2019

I've also been looking at this, so thanks for getting it started. I think I'm of the opinion that we should gut most of the matrix. I would say only test on ubuntu, only specify PACKAGE=httpaf, and take maybe the last 3 or 4 OCaml releases. The 1h15m CI run time is a little silly.

@dpatti dpatti force-pushed the refresh-travis branch 2 times, most recently from d0150fd to d8e5962 Compare January 21, 2019 04:38
avsm and others added 3 commits January 20, 2019 23:54
- Instead of hardcoding versions, the opam2 Docker images now
  have aliases to the latest versions of the OS, so use those.
- Remove the patch version from the compiler version, so the
  latest is always used.
- Build all the targets to ensure examples work (fixes inhabitedtype#93)
I'm attempting to use `make` here since it mirrors the typical
development workflow and also lets you specify multiple actions easily.
@dpatti dpatti force-pushed the refresh-travis branch 3 times, most recently from 67f6699 to 7f97a38 Compare January 21, 2019 05:16
Instead of this giant matrix, we're going to focus on a single linux
distro and a few versions of OCaml, and for each one we can install all
3 packages and also use our `Makefile` rules to build the examples. It's
possible that I don't completely understand the tradeoffs of doing it
this way, but we should at least have much more reasonable build times.
@dpatti
Copy link
Collaborator

dpatti commented Jan 21, 2019

After a few attempts I believe I have pleased the opam-ci gods and everything mostly runs as I expect it to. It's still a little weird that the opam build rule uses dune, the Makefile uses dune, and the travis config uses mostly opam with a little Makefile.

I realize now that I somewhat hijacked this PR and we are now testing fewer distros, but if this seems like a suitable path forward I can merge it tomorrow.

- PACKAGE="httpaf-lwt" DISTRO="debian-unstable" OCAML_VERSION="4.03.0"
- OCAML_VERSION="4.07"
- OCAML_VERSION="4.06"
- OCAML_VERSION="4.05"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This looks fine, but I'd recommend you also add OCAML_VERSION=4.04 and 4.03 lines as well, since that's what the opam file advertises as supported versions. There aren't any C bindings or anything in this, so the multiple distros won't matter much and will be tested in opam-repository when released.

@seliopou
Copy link
Member

We can add the other OCaml compiler versions in another PR if needed.

@seliopou seliopou merged commit aeda684 into inhabitedtype:master Jan 29, 2019
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.

Build examples in CI
3 participants