Skip to content

Concrete proposal

Concrete proposal #133

name: deploy-to-live
on:
push:
branches:
- master-source
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checking out repository
uses: actions/[email protected]
- name: Inspecting directory
run: tree `pwd`
- name: Pulling my custom pollen Docker image
run: docker pull sanchom/pollen
- name: Starting container
run: docker run -v `pwd`:/work --name racket_container -d sanchom/pollen tail -f /dev/null
- name: Updating apt
run: docker exec racket_container apt-get update
- name: Installing tzdata
run: docker exec racket_container apt-get install -y tzdata
- name: Installing latest pollen dependencies in container
run: docker exec racket_container raco pkg install --auto pollen-citations-mcgill gregor
- name: Inspecting work directory
run: docker exec racket_container ls /work
- name: Testing
run: docker exec racket_container bash -c "cd /work/ && raco test pollen.rkt markdown.rkt util.rkt"
- name: Rendering
run: docker exec racket_container bash -c "cd /work && raco pollen render -r /work"
- name: Publishing to tmp folder
run: docker exec racket_container bash -c "cd /work && raco pollen publish /work /tmp/published"
- name: Moving tmp folder to persisted staging folder
run: docker exec racket_container bash -c "cd /work && mv /tmp/published ./"
- name: Shuting down container
run: docker rm -f racket_container
- name: Inspecting staging folder
run: tree -a published
- name: Deploying to live
uses: JamesIves/[email protected]
with:
branch: master
folder: published
clean: true
single-commit: true