init #4063
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
# General notes on github actions: Note that both the working directory | |
# and environment variables generally are not shared between steps. | |
name: 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 # STEP 1 | |
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: Retrieve the build environment if cached # STEP 2 | |
id: opam-cache | |
uses: actions/cache@v2 | |
with: | |
path: '/home/runner/.opam/' | |
key: ${{ runner.os }}-modules-${{ hashFiles('./source/opam.export') }} | |
- name: Install dependencies and build hazel # STEP 3 | |
run: | | |
sudo apt --assume-yes install curl m4 opam | |
export OPAMYES=1 | |
opam init --compiler=ocaml-base-compiler.5.0.0 | |
eval $(opam env) | |
make deps | |
make release | |
working-directory: ./source | |
- name: Checkout the website build artifacts repo # STEP 4 | |
uses: actions/checkout@v2 | |
with: | |
repository: hazelgrove/build | |
token: ${{ secrets.ACCESS_TOKEN }} | |
path: server | |
- name: Clear any old build of this branch # STEP 5 | |
run: if [ -d "${BRANCH_NAME}" ] ; then rm -rf "${BRANCH_NAME}" ; fi | |
working-directory: ./server | |
- name: Copy in the newly built source # STEP 6 | |
run: mkdir "./server/${BRANCH_NAME}" && cp -r "./source/_build/default/src/haz3lweb/www"/* "./server/${BRANCH_NAME}" | |
- name : Commit to the website aka deploy # STEP 7 | |
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 |