diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index ce4aae41..d1271416 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -1,9 +1,9 @@ name: Build master in docker on: - pull_request: - branches: - - 'master' + # pull_request: + # branches: + # - 'master' push: branches: - 'master' diff --git a/.github/workflows/master52.yml b/.github/workflows/master52.yml new file mode 100644 index 00000000..9b836f2a --- /dev/null +++ b/.github/workflows/master52.yml @@ -0,0 +1,93 @@ +name: Build master in docker (OCaml 5.2) + +on: + # pull_request: + # branches: + # - 'master' + push: + branches: + - 'master' + paths-ignore: + - 'README.md' + +env: + OPAMROOT: /home/opam/.opam + OPAMCONFIRMLEVEL: unsafe-yes + GT_WITH_DOCS: yes + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + + runs-on: ${{ matrix.os }} + container: + image: ocaml/opam:ubuntu-lts-ocaml-5.2 + options: --user root # dirty hack + + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.12.1 + with: + access_token: ${{ github.token }} + + - name: Checkout code + uses: actions/checkout@v4 + + - run: sudo apt-get update + - run: opam --version + + - name: Update submodules + if: false + run: | + git config --global --add safe.directory /__w/GT/GT + git submodule update --init + + - run: opam pin add GT . --no-action + if: false + + - run: opam depext GT --yes #--with-test + if: false + + - name: Install dependecies for documentation + if: false + run: | + sudo apt-get install pkg-config libpcre2-dev -y + #opam install odoc pa_ppx --yes --depext + opam install odoc pa_ppx --yes + + - run: opam install . --deps-only --with-test --with-doc + - run: opam exec -- dune build --profile=release + - run: opam exec -- dune test --profile=release + + - name: Build documentation + run: opam exec -- dune build -p GT @doc + + - name: Installing using Opam + run: | + opam exec -- dune build @install + opam exec -- dune install + + - name: List files + run: opam show --list-files GT + + # disabled, because we will do a deploy from OCaml 4.14 + # - name: Deploy documentation + # if: ${{ github.event.pull_request.head.repo.full_name == 'PLTools/OCanren' }} + # uses: peaceiris/actions-gh-pages@v3 + # with: + # github_token: ${{ secrets.GITHUB_TOKEN }} + # publish_dir: ./_build/default/_doc/_html + + # - name: Send coverage report to Coveralls + # run: | + # #git config --global --add safe.directory /__w/zanuda/zanuda + # opam exec -- make coverage + # opam exec -- bisect-ppx-report send-to Coveralls --coverage-path $BISECT_DIR + # env: + # BISECT_DIR: /tmp/GTcov + # COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # PULL_REQUEST_NUMBER: ${{ github.event.number }} diff --git a/GT.opam b/GT.opam index bd7c2774..90a45efc 100644 --- a/GT.opam +++ b/GT.opam @@ -26,12 +26,14 @@ depends: [ "ocaml" {>= "4.13" & < "5.0.0" | >= "5.2.0" & < "5.3.0"} "camlp5" {>= "8.00.05"} "dune" {>= "2.8"} + "ocamlgraph" + "ppx_inline_test" "ocamlfind" {build} "logger-p5" {build} "bisect_ppx" {build} "conf-m4" {build} - "ocamlgraph" - "ppx_inline_test" + "doc" {with-doc} + "odig" {with-doc} "odoc" {with-doc} ] build: [ diff --git a/dune-project b/dune-project index 7e423af6..2fa7a652 100644 --- a/dune-project +++ b/dune-project @@ -37,12 +37,14 @@ (camlp5 (>= "8.00.05")) dune + ocamlgraph + ppx_inline_test (ocamlfind :build) (logger-p5 :build) (bisect_ppx :build) (conf-m4 :build) - ocamlgraph - ppx_inline_test + (doc :with-doc) + (odig :with-doc) ; ))