Update 4.14 branch with master #5007
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Test | ||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - master | ||
| schedule: | ||
| # Prime the caches every Monday | ||
| - cron: 0 1 * * MON | ||
| jobs: | ||
| build-and-test: | ||
| name: Build and Test | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: | ||
| - ubuntu-latest | ||
| - macos-latest | ||
| - windows-latest | ||
| runs-on: ${{ matrix.os }} | ||
| steps: | ||
| - name: Set git to use LF | ||
| run: | | ||
| git config --global core.autocrlf false | ||
| git config --global core.eol lf | ||
| - name: Checkout tree | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: true | ||
| - name: Set-up Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: lts/* | ||
| - name: Install npm packages | ||
| run: yarn install --frozen-lockfile | ||
| - name: Set-up OCaml | ||
| uses: ocaml/setup-ocaml@v3 | ||
| with: | ||
| ocaml-compiler: "ocaml-base-compiler.5.3.0" | ||
| # Remove this pin once a compatible version of Merlin has been released | ||
| - name: Pin dev Merlin | ||
| <<<<<<< HEAD | ||
| run: opam --cli=2.1 pin --with-version=5.5-503 https://github.com/ocaml/merlin.git#main | ||
| ||||||| parent of 8fb19aca (More natural fallback on .merlin files when no dune-project is found. (#1563)) | ||
| run: opam --cli=2.1 pin --with-version=5.6-504 https://github.com/voodoos/merlin.git#504-rebase | ||
| ======= | ||
| run: opam --cli=2.1 pin --with-version=5.6-504 https://github.com/voodoos/merlin.git#main | ||
| >>>>>>> 8fb19aca (More natural fallback on .merlin files when no dune-project is found. (#1563)) | ||
| - name: Build and install dependencies | ||
| run: opam install . | ||
| # the makefile explains why we don't use --with-test | ||
| # ppx expect is not yet compatible with 5.1 and test output vary from one | ||
| # compiler to another. We only test on 4.14. | ||
| - name: Install test dependencies | ||
| run: opam exec -- make install-test-deps | ||
| - name: Run build @all | ||
| run: opam exec -- make all | ||
| - name: Run the unit tests | ||
| run: opam exec -- make test-ocaml | ||
| - name: Run the template integration tests | ||
| run: opam exec -- make test-e2e | ||
| coverage: | ||
| name: Coverage | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout tree | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: true | ||
| - name: Set-up OCaml | ||
| uses: ocaml/setup-ocaml@v3 | ||
| with: | ||
| ocaml-compiler: "ocaml-base-compiler.5.3.0" | ||
| - name: Set git user | ||
| run: | | ||
| git config --global user.name github-actions[bot] | ||
| git config --global user.email github-actions[bot]@users.noreply.github.com | ||
| # Remove this pin once a compatible version of Merlin has been released | ||
| - name: Pin dev Merlin | ||
| <<<<<<< HEAD | ||
| run: opam --cli=2.1 pin --with-version=5.5-503 https://github.com/ocaml/merlin.git#main | ||
| ||||||| parent of 8fb19aca (More natural fallback on .merlin files when no dune-project is found. (#1563)) | ||
| run: opam --cli=2.1 pin --with-version=5.6-504 https://github.com/voodoos/merlin.git#504-rebase | ||
| ======= | ||
| run: opam --cli=2.1 pin --with-version=5.6-504 https://github.com/voodoos/merlin.git#main | ||
| >>>>>>> 8fb19aca (More natural fallback on .merlin files when no dune-project is found. (#1563)) | ||
| - name: Install dependencies | ||
| run: | | ||
| opam install . --deps-only | ||
| opam exec -- make coverage-deps install-test-deps | ||
| - run: opam exec -- make test-coverage | ||
| env: | ||
| COVERALLS_REPO_TOKEN: ${{ github.token }} | ||
| PULL_REQUEST_NUMBER: ${{ github.event.number }} | ||