diff --git a/.github/workflows/more-ci.yml b/.github/workflows/more-ci.yml index a67d56e..e59c6ec 100644 --- a/.github/workflows/more-ci.yml +++ b/.github/workflows/more-ci.yml @@ -31,6 +31,7 @@ jobs: - 5.4.x - 5.3.x - 5.2.x + - 4.14.x exclude: # We exclude the combination already tested in the 'ci' workflow. - os: ubuntu-latest @@ -54,15 +55,21 @@ jobs: # janestreet-bleeding: https://github.com/janestreet/opam-repository.git # janestreet-bleeding-external: https://github.com/janestreet/opam-repository.git#external-packages - # Setting `(implicit_transitive_deps VALUE)` conditionally based on the compiler version. - - name: Edit dune-project - run: opam exec -- ocaml .github/workflows/edit_dune_project_dot_ml "${{ matrix.ocaml-compiler }}" + - name: Environment setup + run: | + if [ "${{ matrix.ocaml-compiler }}" = "4.14.x" ]; then + echo "PACKAGES=fpath-sexp0" >> "$GITHUB_ENV" + echo "OPAM_PACKAGES=./fpath-sexp0.opam" >> "$GITHUB_ENV" + else + echo "PACKAGES=fpath-sexp0,fpath-base,fpath-base-tests" >> "$GITHUB_ENV" + echo "OPAM_PACKAGES=./fpath-sexp0.opam ./fpath-base.opam ./fpath-base-tests.opam" >> "$GITHUB_ENV" + fi # We build and run tests for a subset of packages. More tests are run in # the development workflow and as part of the main CI job. These are the # tests that are checked for every combination of os and ocaml-compiler. - name: Install dependencies - run: opam install ./fpath-sexp0.opam ./fpath-base.opam ./fpath-base-tests.opam --deps-only --with-test + run: opam install ${{ env.OPAM_PACKAGES }} --deps-only --with-test - name: Build & Run tests - run: opam exec -- dune build @all @runtest -p fpath-sexp0,fpath-base,fpath-base-tests + run: opam exec -- dune build @all @runtest --only-packages=${{ env.PACKAGES }} diff --git a/dune-workspace b/dune-workspace new file mode 100644 index 0000000..53d6fbd --- /dev/null +++ b/dune-workspace @@ -0,0 +1,12 @@ +(lang dune 3.20) + +(lock_dir + (repositories overlay upstream alpha mbarbin)) + +(repository + (name mbarbin) + (url "git+https://github.com/mbarbin/opam-repository.git")) + +(repository + (name alpha) + (url "git+https://github.com/kit-ty-kate/opam-alpha-repository.git")) diff --git a/dune-workspace-4.14 b/dune-workspace-4.14 new file mode 100644 index 0000000..fe1c72c --- /dev/null +++ b/dune-workspace-4.14 @@ -0,0 +1,13 @@ +(lang dune 3.20) + +(pkg enabled) + +(lock_dir + (repositories overlay upstream mbarbin) + (constraints + (ocaml + (= 4.14.2)))) + +(repository + (name mbarbin) + (url "git+https://github.com/mbarbin/opam-repository.git")) diff --git a/dune-workspace-5.2 b/dune-workspace-5.2 new file mode 100644 index 0000000..b89d1d5 --- /dev/null +++ b/dune-workspace-5.2 @@ -0,0 +1,13 @@ +(lang dune 3.20) + +(pkg enabled) + +(lock_dir + (repositories overlay upstream mbarbin) + (constraints + (ocaml + (= 5.2.1)))) + +(repository + (name mbarbin) + (url "git+https://github.com/mbarbin/opam-repository.git")) diff --git a/dune-workspace-5.3 b/dune-workspace-5.3 new file mode 100644 index 0000000..9f241c8 --- /dev/null +++ b/dune-workspace-5.3 @@ -0,0 +1,13 @@ +(lang dune 3.20) + +(pkg enabled) + +(lock_dir + (repositories overlay upstream mbarbin) + (constraints + (ocaml + (= 5.3.0)))) + +(repository + (name mbarbin) + (url "git+https://github.com/mbarbin/opam-repository.git")) diff --git a/dune-workspace-5.4 b/dune-workspace-5.4 new file mode 100644 index 0000000..27f9589 --- /dev/null +++ b/dune-workspace-5.4 @@ -0,0 +1,17 @@ +(lang dune 3.20) + +(pkg enabled) + +(lock_dir + (repositories overlay upstream alpha mbarbin) + (constraints + (ocaml + (= 5.4.0)))) + +(repository + (name mbarbin) + (url "git+https://github.com/mbarbin/opam-repository.git")) + +(repository + (name alpha) + (url "git+https://github.com/kit-ty-kate/opam-alpha-repository.git"))