aec6d5f4e7
Because the html and pdf exports start both at the same time, they both experience a cache miss with the xkcd sqlite db. Poth processes download the image, and attempt to write to the db ... with the same primary key. Hence, errors. So, when the xkcd cache isn't populated, we wait for one process to finish before starting the other
78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
name: "Publish"
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: master
|
|
schedule:
|
|
- cron: "0 0 * * *" # daily
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-20.04 # change to -latest when possible
|
|
|
|
steps:
|
|
- uses: purcell/setup-emacs@master
|
|
with:
|
|
version: 27.1
|
|
|
|
- name: Checkout config
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Symlink config to expected location
|
|
# I could just set DOOMDIR ... but this is also easy
|
|
run: |
|
|
mkdir -p ~/.config
|
|
ln -s $GITHUB_WORKSPACE ~/.config/doom
|
|
mkdir -p ~/.org/roam
|
|
|
|
- name: Generate init.el et. al from config.org
|
|
run: |
|
|
cd ~/.config/doom
|
|
emacs --batch --eval "(require 'org)" --eval '(org-babel-tangle-file "config.org")'
|
|
|
|
- name: Clone Doom to ~/.emacs.d
|
|
run: git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
|
|
|
|
- name: Get Doom's version
|
|
id: doom-version
|
|
run: |
|
|
cd ~/.emacs.d
|
|
echo ::set-output name=hash::$(git log -1 | head -1 | awk '{print substr($2,1,7)}')
|
|
shell: bash
|
|
|
|
- name: Cache Doom's install
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.emacs.d
|
|
key: ${{ runner.os }}-doom@${{ steps.doom-version.outputs.hash }}
|
|
|
|
- name: Doom dependencies
|
|
run: sudo apt-get install git ripgrep xclip
|
|
|
|
- name: Install Doom
|
|
run: ~/.emacs.d/bin/doom install --no-env --no-fonts
|
|
|
|
- name: Install LaTeX compiler chain
|
|
run: |
|
|
git clone https://github.com/tecosaur/BMC.git ~/texmf/tex/latex/bmc
|
|
sudo apt install texlive-base texlive-latex-recommended texlive-fonts-extra latexmk
|
|
|
|
- name: Export config
|
|
run: |
|
|
cd ~/.config/doom/misc/config-publishing
|
|
./publish.sh
|
|
|
|
# - name: Debug over SSH (tmate)
|
|
# if: ${{ failure() }}
|
|
# uses: mxschmitt/action-tmate@v3.1
|
|
|
|
- name: Deploy
|
|
if: ${{ github.event_name != 'pull_request'}}
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
with:
|
|
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
|
publish_dir: ./publish
|
|
force_orphan: true
|