Skip to content

Merge branch 'dev' into util_tests #5884

Merge branch 'dev' into util_tests

Merge branch 'dev' into util_tests #5884

Workflow file for this run

# General notes on github actions: Note that both the working directory
# and environment variables generally are not shared between steps.
name: Build and Deploy Hazel
on: [push]
jobs:
Deploy:
runs-on: ubuntu-latest
steps:
# NOTE: position the below lines in the code between two steps
# and uncomment them to open an ssh connection at that point:
#- name: Debugging with ssh
# uses: lhotari/action-upterm@v1
- name: Checkout the hazel repo on the current branch
uses: actions/checkout@v2
with:
path: source
- name: Add the name of the current branch to the environment as BRANCH_NAME
uses: nelonoel/[email protected]
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.2.0
dune-cache: true
- name: Retrieve the switch environment if cached
id: opam-cache-switch
uses: actions/cache@v4
with:
path: '_opam'
key: ${{ runner.os }}-modules-${{ hashFiles('./source/hazel.opam.locked') }}
- name: Install dependencies
run: |
eval $(opam env)
export OPAMYES=1
export DUNE_CACHE=enabled
opam install . --deps-only --with-test --locked
working-directory: ./source
- name: Clean opam switch
run: |
eval $(opam env)
export OPAMYES=1
opam clean --all-switches --download-cache --logs --repo-cache --unused-repositories
- name: Build Release
run: |
export DUNE_CACHE=enabled
opam exec -- dune build @src/fmt --auto-promote src --profile release
working-directory: ./source
- name: Checkout the website build artifacts repo
uses: actions/checkout@v4
with:
repository: hazelgrove/build
token: ${{ secrets.ACCESS_TOKEN }}
path: server
sparse-checkout: |
${{ env.BRANCH_NAME }}
- name: Clear any old build of this branch
run: if [ -d "${BRANCH_NAME}" ] ; then rm -rf "${BRANCH_NAME}" ; fi
working-directory: ./server
- name: Copy in the newly built source
run: mkdir "./server/${BRANCH_NAME}" && cp -r "./source/_build/default/src/haz3lweb/www"/* "./server/${BRANCH_NAME}"
- name : Commit to the website aka deploy
run: |
git config user.name github-deploy-action
git config user.email [email protected]
git add -A
git pull --no-edit
git status
git diff-index --quiet HEAD || (git commit -m "github-deploy-action-${BRANCH_NAME}"; git push)
working-directory: ./server
- name: Run Tests
id: test
run: |
eval $(opam env)
make test
working-directory: ./source
- name: Test Report
uses: dorny/test-reporter@v1
with:
name: Test Report
path: junit_tests*.xml
reporter: java-junit
fail-on-error: true
fail-on-empty: true # Use an empty test report to detect when something failed with the test runner
working-directory: ./source