Skip to content

Commit

Permalink
ci: build with ocaml 5.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Khady committed Dec 26, 2024
1 parent f8b7e9d commit 5f61038
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 22 deletions.
13 changes: 10 additions & 3 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
# - windows-latest
ocaml-version:
- 4.14
- 5.1
- 5.2

runs-on: ${{ matrix.os }}

Expand All @@ -24,11 +24,10 @@ jobs:
uses: actions/checkout@v4

- name: Use OCaml ${{ matrix.ocaml-version }}
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.ocaml-version }}
dune-cache: true
opam-depext-flags: "--with-test"
allow-prerelease-opam: true

- run: opam install . --deps-only --with-test
Expand All @@ -38,3 +37,11 @@ jobs:

- name: run test
run: opam exec -- dune runtest

- run: opam install . --deps-only --with-test --criteria='+removed,+count[version-lag,solution]' --solver=builtin-0install

- name: build project with lower bounds
run: opam exec -- dune build

- name: run test with lower bounds
run: opam exec -- dune runtest
63 changes: 48 additions & 15 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,53 +5,86 @@ on:
- pull_request

jobs:

lint-fmt:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Use OCaml 5.1
uses: ocaml/setup-ocaml@v2
- name: Use OCaml 5.2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
ocaml-compiler: 5.2
dune-cache: true
opam-depext-flags: "--with-doc"
allow-prerelease-opam: true

- name: Lint fmt
uses: ocaml/setup-ocaml/lint-fmt@v2
uses: ocaml/setup-ocaml/lint-fmt@v3

# auto fix formatting, Thanks to robur.coop for the implementation
# https://discuss.ocaml.org/t/ocamlformat-and-github-actions/15464
lint-auto-fmt:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Use OCaml 5.2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.2
dune-cache: true
allow-prerelease-opam: true

- name: Install ocamlformat
run: grep '^version' .ocamlformat | cut -d '=' -f 2 | xargs -I V opam install ocamlformat=V

- name: Format code
run: |
git ls-files '*.ml' '*.mli' | xargs opam exec -- ocamlformat --inplace
- name: Check for modified files
id: git-check
run: echo "modified=$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)" >> $GITHUB_OUTPUT

- name: Commit and push changes
if: ${{ steps.git-check.outputs.modified == 'true' }}
run: |
git config --global user.name "Automated ocamlformat GitHub action, developed by robur.coop"
git config --global user.email "[email protected]"
git add -A
git commit -m "formatted code"
git push
lint-opam:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Use OCaml 5.1
uses: ocaml/setup-ocaml@v2
- name: Use OCaml 5.2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
ocaml-compiler: 5.2
dune-cache: true
opam-depext-flags: "--with-doc"
allow-prerelease-opam: true

- name: Lint opam
uses: ocaml/setup-ocaml/lint-opam@v2
uses: ocaml/setup-ocaml/lint-opam@v3

lint-doc:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Use OCaml 5.1
uses: ocaml/setup-ocaml@v2
- name: Use OCaml 5.2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
ocaml-compiler: 5.2
dune-cache: true
opam-depext-flags: "--with-doc"
allow-prerelease-opam: true

- name: Lint doc
uses: ocaml/setup-ocaml/lint-doc@v2
uses: ocaml/setup-ocaml/lint-doc@v3
8 changes: 4 additions & 4 deletions .github/workflows/opam-dependency-submission.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
- name: Checkout tree
uses: actions/checkout@v4

- name: Set-up OCaml 5.1
uses: ocaml/setup-ocaml@v2
- name: Set-up OCaml 5.2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
ocaml-compiler: 5.2
dune-cache: true
allow-prerelease-opam: true

- name: Opam Dependency Submission
uses: ocaml/setup-ocaml/analysis@v2
uses: ocaml/setup-ocaml/analysis@v3

0 comments on commit 5f61038

Please sign in to comment.