Skip to content

Add latex hooks (#18) #52

Add latex hooks (#18)

Add latex hooks (#18) #52

Workflow file for this run

name: deploy
on:
push:
branches:
- main
- "renovate/**"
pull_request:
jobs:
chktex:
runs-on: ubuntu-latest
steps:
- name: checkout source
uses: actions/checkout@v4
- name: Run chktex
uses: xu-cheng/texlive-action@v2
with:
scheme: full
run: |
for file in *.tex; do \
echo $file; \
chktex $file | tee /dev/stderr | (! grep -q ^); \
done
pre-commit:
runs-on: ubuntu-latest
steps:
- name: checkout source
uses: actions/checkout@v4
- name: set up python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: set PY
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
- name: cache stuff
uses: actions/cache@v3
with:
path: |
${{ env.pythonLocation }}
~/.cache/pre-commit
key: |
pre-commit-${{ env.PY }}-${{ hashFiles('.pre-commit-config.yaml') }}
- name: install dependencies
run: pip install pre-commit
- name: Install pre-commit hooks
run: pre-commit install
# This will run on all files in the repo not just those that have been
# committed. Once formatting has been applied once globally, from then on
# the files being changed by pre-commit should be just those that are
# being committed - provided that people are using the pre-commit hook to
# format their code.
- name: run pre-commit
run: pre-commit run --all-files --color always
vale:
runs-on: ubuntu-latest
steps:
- name: checkout source
uses: actions/checkout@v4
- name: Run Vale
uses: errata-ai/vale-action@v2
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
fail_on_error: true
filter_mode: nofilter
reporter: github-check
compile-latex:
runs-on: ubuntu-latest
steps:
- name: checkout source
uses: actions/checkout@v4
- name: Build PDF
uses: xu-cheng/texlive-action@v2
with:
scheme: full
run: |
latexmk -quiet
- name: Upload artefacts
uses: actions/upload-artifact@v3
with:
name: artefacts
path: |
*.pdf
if-no-files-found: error
upload-to-dropbox:
runs-on: ubuntu-latest
needs: compile-latex
steps:
- name: checkout source
uses: actions/checkout@v4
- name: Download artefacts
uses: actions/download-artifact@v3
with:
name: artefacts
- name: Set up Dropbox
run: |
echo "CONFIGFILE_VERSION=$CONFIGFILE_VERSION" > ~/.dropbox_uploader
echo "OAUTH_APP_KEY=$OAUTH_APP_KEY" >> ~/.dropbox_uploader
echo "OAUTH_APP_SECRET=$OAUTH_APP_SECRET" >> ~/.dropbox_uploader
echo "OAUTH_REFRESH_TOKEN=$OAUTH_REFRESH_TOKEN" >> ~/.dropbox_uploader
env:
CONFIGFILE_VERSION: ${{secrets.CONFIGFILE_VERSION}}
OAUTH_APP_KEY: ${{secrets.OAUTH_APP_KEY}}
OAUTH_APP_SECRET: ${{secrets.OAUTH_APP_SECRET}}
OAUTH_REFRESH_TOKEN: ${{secrets.OAUTH_REFRESH_TOKEN}}
- name: Retieve Dropbox uploader script
run: |
curl "https://raw.githubusercontent.com/andreafabrizi/\
Dropbox-Uploader/master/dropbox_uploader.sh" \
-o dropbox_uploader.sh
chmod +x dropbox_uploader.sh
- name: Upload PDF
run: |
for file in *.pdf; do \
echo $file; \
./dropbox_uploader.sh upload $file $file; \
done