Skip to content

Commit

Permalink
ci: add github actions
Browse files Browse the repository at this point in the history
fix #1
  • Loading branch information
Khady authored and ixzzd committed Dec 27, 2023
1 parent a4a0edb commit 2146586
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
40 changes: 40 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build and Test

on:
- push
- pull_request

jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
# - windows-latest
ocaml-version:
- 4.14
- 5.1

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

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Use OCaml ${{ matrix.ocaml-version }}
uses: ocaml/setup-ocaml@v2
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

- name: build project
run: opam exec -- dune build

- name: run test
run: opam exec -- dune runtest
57 changes: 57 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Lint

on:
- push
- 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
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

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

- name: Use OCaml 5.1
uses: ocaml/setup-ocaml@v2
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

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

- name: Use OCaml 5.1
uses: ocaml/setup-ocaml@v2
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
22 changes: 22 additions & 0 deletions .github/workflows/opam-dependency-submission.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Opam Dependency Submission

on:
- push
- pull_request

jobs:
opam-dependency-submission:
runs-on: ubuntu-latest
steps:
- name: Checkout tree
uses: actions/checkout@v4

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

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

0 comments on commit 2146586

Please sign in to comment.