From ea3ac8049e25eaabab30aed007f1485039f9504d Mon Sep 17 00:00:00 2001 From: Sonja Heinze Date: Wed, 22 Nov 2023 10:30:30 +0100 Subject: [PATCH] Install Irmin deps and build Irmin --- .github/workflows/fuzzy-ci.yml | 43 +++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/.github/workflows/fuzzy-ci.yml b/.github/workflows/fuzzy-ci.yml index b5265e5f99..5603853aab 100644 --- a/.github/workflows/fuzzy-ci.yml +++ b/.github/workflows/fuzzy-ci.yml @@ -33,7 +33,8 @@ env: ACTIONS_RUNS_ENDPOINT: ${{ github.event.repository.html_url }}/actions/runs CURRENT_ACTION_URL: ${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id }} - # Always use the same `merl-an` and Irmin commit + # Fix the `merl-an` version as well as the Irmin version (Irmin is used as the test code base to test `ocamlmerlin` on) + IRMIN_VERSION: 3.9.0 # TODO: Release merl-an and install a certain version instead of pinning it to a certain commit MERL_AN_SHA: 1643fb7a9958379fb4ed8d7c5169146aaa88f5b7 @@ -202,37 +203,47 @@ jobs: ocaml-compiler: ocaml-base-compiler.4.14.1 dune-cache: true + - name: Install merlin dependencies + run: | + opam pin menhirLib 20201216 --no-action + opam install . --deps-only --yes + + - name: Install merlin + run: | + # Running `subst` to have the current commit in the data produced by `merl-an` + opam exec -- dune subst + opam exec -- dune build -p merlin-lib,dot-merlin-reader,merlin + opam exec -- dune install -p merlin-lib,dot-merlin-reader,merlin + - name: Download Irmin tarball run: | - wget https://github.com/mirage/irmin/releases/download/3.9.0/irmin-3.9.0.tbz + wget https://github.com/mirage/irmin/releases/download/$IRMIN_VERSION/irmin-$IRMIN_VERSION.tbz + + - name: Create irmin dir + run: mkdir -p irmin - name: Decompress Irmin tarball - run: tar xvf irmin-3.9.0.tbz irmin-3.9.0/ + run: tar xvf irmin-$IRMIN_VERSION.tbz -C irmin --strip-components=1 + + - name: Get the irmin lock file into irmin + run: cp fuzzy-ci-fixtures/irmin-$IRMIN_VERSION.opam-locked irmin/irmin.opam.locked + + - name: Ls irmin + run: ls + working-directory: irmin # - name: Install Irmin deps # run: | # FIXME: Make this reproducible # git checkout 649657d2bca5a74d841c59a394cf2711a5139448 # opam install . --deps-only - # working-directory: irmin-3.9.0 + # working-directory: irmin # - name: Build Irmin # run: | # opam exec -- dune build @check # working-directory: irmin - - name: Install merlin dependencies - run: | - opam pin menhirLib 20201216 --no-action - opam install . --deps-only --yes - - - name: Install merlin - run: | - # Running `subst` to have the current commit in the data produced by `merl-an` - opam exec -- dune subst - opam exec -- dune build -p merlin-lib,dot-merlin-reader,merlin - opam exec -- dune install - - name: Install merl-an run: opam pin -y merl-an https://github.com/pitag-ha/merl-an.git#$MERL_AN_SHA # TODO: Cache the merli-an binary with key: os${{ runner.os }}+arch${{ runner.arch }}+merl-an-sha$MERL_AN_SHA