diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..ca79ca5b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly diff --git a/.github/workflows/deploy-doc.yml b/.github/workflows/deploy-doc.yml index 0e9adc97..470bae0b 100644 --- a/.github/workflows/deploy-doc.yml +++ b/.github/workflows/deploy-doc.yml @@ -1,22 +1,54 @@ -name: Deploy odoc +name: Deploy odoc to GitHub Pages on: push: branches: - master +permissions: read-all + +concurrency: + group: deploy-odoc + cancel-in-progress: true + jobs: - deploy-doc: + 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 code - uses: actions/checkout@v3 + - name: Checkout tree + uses: actions/checkout@v4 - - name: Use OCaml 4.13.x + - name: Set-up OCaml uses: ocaml/setup-ocaml@v2 with: - ocaml-compiler: 4.13.x - dune-cache: true + ocaml-compiler: "4.14" + + - 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@v5 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: _build/default/_doc/_html - name: Deploy odoc to GitHub Pages - uses: ocaml/setup-ocaml/deploy-doc@v2 + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 27024504..b7b209fc 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -17,23 +17,17 @@ jobs: - windows-latest ocaml-compiler: # Decision on version matrix informed by https://discuss.ocaml.org/t/which-ocaml-compiler-versions-should-we-run-against-in-ci/7933/2 - - 4.13.x - - 4.14.x - include: - - ocaml-compiler: 5.0.x - os: - - ubuntu-latest - - ocaml-compiler: 5.0.x - os: - - macos-latest + - "4.13" + - "4.14" + - "5.2" runs-on: ${{ matrix.os }} steps: - - name: Checkout code - uses: actions/checkout@v3 + - name: Checkout tree + uses: actions/checkout@v4 - - name: Use OCaml ${{ matrix.ocaml-compiler }} - uses: ocaml/setup-ocaml@v2 + - name: Set-up OCaml ${{ matrix.ocaml-compiler }} + uses: ocaml/setup-ocaml@v3 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} @@ -49,44 +43,38 @@ jobs: lint-doc: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 + - name: Checkout tree + uses: actions/checkout@v4 - - name: Use OCaml 4.14.x - uses: ocaml/setup-ocaml@v2 + - name: Set-up OCaml + uses: ocaml/setup-ocaml@v3 with: - ocaml-compiler: 4.14.x - dune-cache: true + ocaml-compiler: "4.14" - - name: Lint doc - uses: ocaml/setup-ocaml/lint-doc@v2 + - uses: ocaml/setup-ocaml/lint-doc@v3 lint-fmt: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 + - name: Checkout tree + uses: actions/checkout@v4 - - name: Use OCaml 4.14.x - uses: ocaml/setup-ocaml@v2 + - name: Set-up OCaml + uses: ocaml/setup-ocaml@v3 with: - ocaml-compiler: 4.14.x - dune-cache: true + ocaml-compiler: "4.14" - - name: Lint fmt - uses: ocaml/setup-ocaml/lint-fmt@v2 + - uses: ocaml/setup-ocaml/lint-fmt@v3 lint-opam: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 + - name: Checkout tree + uses: actions/checkout@v4 - - name: Use OCaml 4.14.x - uses: ocaml/setup-ocaml@v2 + - name: Set-up OCaml + uses: ocaml/setup-ocaml@v3 with: - ocaml-compiler: 4.14.x - dune-cache: true + ocaml-compiler: "4.14" - - name: Lint opam - uses: ocaml/setup-ocaml/lint-opam@v2 + - uses: ocaml/setup-ocaml/lint-opam@v3