Prepare release 1.17.0 #4052
Workflow file for this run
This file contains 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: | |
- macos-latest | |
- ubuntu-latest | |
- windows-latest | |
ocaml-compiler: | |
- 4.14.x | |
- 5.0.x | |
- 5.1.x | |
exclude: | |
- os: windows-latest | |
ocaml-compiler: 5.0.x | |
- os: windows-latest | |
ocaml-compiler: 5.1.x | |
- os: macos-latest | |
ocaml-compiler: 5.0.x | |
- os: macos-latest | |
ocaml-compiler: 5.1.x | |
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 code | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Use latest LTS Node.js release | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
- name: Install npm packages | |
run: yarn --frozen-lockfile | |
working-directory: ocaml-lsp-server/test/e2e | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
if: matrix.os != 'windows-latest' | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} (Win) | |
uses: ocaml/setup-ocaml@v2 | |
if: matrix.os == 'windows-latest' | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
opam-repositories: | | |
opam-repository-mingw: https://github.com/ocaml-opam/opam-repository-mingw.git#sunset | |
default: https://github.com/ocaml/opam-repository.git | |
- name: Build and install opam packages | |
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 | |
if: matrix.ocaml-compiler == '4.14.x' | |
run: opam exec -- make install-test-deps | |
- name: Run build @all | |
if: matrix.ocaml-compiler == '4.14.x' | |
run: opam exec -- make all | |
- name: Run the unit tests | |
if: matrix.ocaml-compiler == '4.14.x' | |
run: opam exec -- make test-ocaml | |
- name: Run the template integration tests | |
if: matrix.ocaml-compiler == '4.14.x' | |
run: opam exec -- make test-e2e | |
coverage: | |
name: Coverage | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ocaml-compiler: | |
- 4.14.x | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
opam-depext: false | |
- 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 | |
- name: Install deps on Unix | |
run: | | |
opam install . --deps-only | |
opam exec -- make coverage-deps install-test-deps | |
- run: opam exec -- make test-coverage | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PULL_REQUEST_NUMBER: ${{ github.event.number }} |