Skip to content

Commit

Permalink
ci: update actions
Browse files Browse the repository at this point in the history
  • Loading branch information
Khady committed Dec 26, 2024
1 parent f8b7e9d commit 45d7b8b
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 13 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
51 changes: 42 additions & 9 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,57 @@ 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
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
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.1
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
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
Expand All @@ -29,15 +64,14 @@ jobs:
uses: actions/checkout@v4

- name: Use OCaml 5.1
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
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
Expand All @@ -46,12 +80,11 @@ jobs:
uses: actions/checkout@v4

- name: Use OCaml 5.1
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
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
4 changes: 2 additions & 2 deletions .github/workflows/opam-dependency-submission.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ jobs:
uses: actions/checkout@v4

- name: Set-up OCaml 5.1
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1
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 45d7b8b

Please sign in to comment.