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: enable github actions #12

Merged
merged 2 commits into from
Feb 2, 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
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/deploy-doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Deploy odoc to GitHub Pages

on:
push:
branches:
- main

permissions: read-all

concurrency:
group: deploy-odoc
cancel-in-progress: true

jobs:
deploy-odoc:
name: Deploy odoc to GitHub Pages

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

permissions:
contents: read
id-token: write
pages: write

runs-on: ubuntu-latest

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

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

- name: Install dependencies
run: opam install . --deps-only --with-doc

- name: Build documentation
run: opam exec -- dune build @doc

- name: Set-up Pages
uses: actions/configure-pages@v4

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: _build/default/_doc/_html

- name: Deploy odoc to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
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
5 changes: 5 additions & 0 deletions argon2.opam
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ build: [
["dune" "subst"] {dev}
["dune" "build" "-p" name "-j" jobs "@install" "@doc" {with-doc}]
]
depexts: [
["libargon2-dev"] {os-family = "debian"}
["libargon2-dev"] {os-family = "ubuntu"}
["libargon2-devel"] {os-distribution = "fedora"}
]
synopsis: "OCaml bindings to Argon2"
description: """
Based on argon2 library as described in https://github.com/P-H-C/phc-winner-argon2.
Expand Down
Loading