Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: update github actions #11

Merged
merged 4 commits into from
Dec 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 0 additions & 41 deletions .circleci/config.yml

This file was deleted.

16 changes: 12 additions & 4 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ name: Build and Test

on:
- push
- pull_request

jobs:
build-and-test:
Expand All @@ -15,7 +14,7 @@ jobs:
# - windows-latest
ocaml-version:
- 4.14
- 5.1
- 5.2

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

Expand All @@ -24,11 +23,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 +36,13 @@ jobs:

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

- name: junit report
uses: dorny/test-reporter@v1
if: success() || failure() # run this step even if previous step failed
with:
name: Test Report
path: "_build/default/alcotest/test/*.xml,_build/default/junit/test/*.xml"
reporter: java-junit
fail-on-error: false # Report results but don't fail the build
fail-on-empty: true # Use an empty test report to detect when something failed with the test runner
62 changes: 47 additions & 15 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,47 +11,79 @@ jobs:
- 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 "autoformat@robur.coop"
# 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
Loading