Merge branch 'topic/247-dross-aggregates' into 'master' #24
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Main workflow | |
on: | |
pull_request: | |
push: | |
schedule: | |
# Prime the caches every Monday | |
- cron: 0 1 * * MON | |
permissions: read-all | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-latest | |
- ubuntu-latest | |
- windows-latest | |
ocaml-compiler: | |
- "4.11.2" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout tree | |
uses: actions/checkout@v3 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
# We need to provide an absolute path to the --prefix of configure. But | |
# we can't use a path outside of the github working area. So we simply | |
# use "current_dir/staging" (notice how the upload directive simply uses | |
# "staging"). The python script "cwd.py" returns a string of the form | |
# "STAGING_AREA=/full/path/to/cwd". On windows, the script replaces the | |
# backslash with fordward slash. The output of the script then needs to | |
# be piped to GITHUB_ENV. The way to do that is a bit different depending | |
# on the OS. | |
- name: Set Staging env var (Windows) | |
if: ${{matrix.os == 'windows-latest' }} | |
run: | | |
python cwd.py | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Set Staging env var (Non-Windows) | |
if: ${{matrix.os != 'windows-latest' }} | |
run: | | |
python cwd.py >> $GITHUB_ENV | |
- name: Check value of staging var | |
run: echo ${{env.STAGING_AREA}} | |
- name: Set-up OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Setup Packages | |
run: | | |
opam depext zarith re seq why3 | |
opam install dune dune-configurator menhir num ocamlgraph re seq yojson zarith sexplib ppx_sexp_conv ppx_deriving | |
- run: opam exec -- ./configure --prefix="${{env.STAGING_AREA}}/staging" --enable-relocation --disable-emacs-compilation --disable-hypothesis-selection --disable-js-of-ocaml --disable-zip | |
- run: opam exec -- make | |
- run: opam exec -- make install_spark2014 | |
- name: Upload package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: why3pack-${{matrix.os}} | |
path: staging |