Skip to content

read-through ch 106-107 #32

read-through ch 106-107

read-through ch 106-107 #32

# This workflow runs upon new commits (check and make) and PRs (check only)
name: Check and Make eBook
on:
workflow_dispatch:
push:
branches: ["main"]
pull_request:
branches: ["main"]
# permissions:
# contents: read
jobs:
#
# check source code
#
check:
runs-on: ubuntu-22.04
outputs:
cache-hit: ${{ steps.cache-lookup.outputs.cache-hit }}
steps:
- name: checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 1 # 0 if you want to push to repo
- name: calculate hash on chapters/*.tex
id: calculate-hash
run: |
current_date=$(date -u '+%Y-%m-%d')
hashed=${{ hashFiles('chapters/*.tex') }}
echo "hash=${current_date}-${hashed}" >> $GITHUB_OUTPUT
echo "${current_date}-${hashed}" > hash-chapters.txt
- name: cache lookup
id: cache-lookup
uses: actions/cache@v4
with:
path: hash-chapters.txt
key: chapter-hash-for-ebook-${{ steps.calculate-hash.outputs.hash }}
- name: python set up
uses: actions/setup-python@v5
with:
python-version: "3.10"
# cache: "pip"
- name: python cache set up
uses: actions/cache@v4
with:
path: ${{ env.pythonLocation }}
key: python-${{ env.pythonLocation }}
- name: check chapters for known issues
run: python3 -O scripts/check_chapters.py
- name: check pre-commit hooks
uses: pre-commit/action@v3.0.1
#
# make eBook
#
make:
needs: check
# do not run make for pull_requests and not for unchanged tex files
if: github.event_name != 'pull_request' && needs.check.outputs.cache-hit != 'true'
runs-on: ubuntu-22.04
steps:
- name: checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 1 # 0 if you want to push to repo
- name: python set up
uses: actions/setup-python@v5
with:
python-version: "3.10"
# cache: "pip"
# - name: setup environment to DE lang
# run: |
# cd /usr/share/locales
# sudo ./install-language-pack de_DE.UTF-8
- name: ls before
run: |
pwd
ls -l
echo ${{ needs.check.outputs.cache-hit }}
- name: install apt packages using cache
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: texlive-extra-utils pandoc calibre imagemagick ghostscript
version: 1.0
# execute_install_scripts: true
- name: print versions
run: |
cat /etc/os-release
# xelatex -v
# latexmk -v
calibre --version
pandoc --version
python3 --version
- name: make eBooks
run: |
wget --quiet https://github.com/entorb/hpmor-de/releases/download/WorkInProgress/hpmor.pdf -O hpmor.pdf
sh scripts/make_ebooks.sh > /dev/null
- name: ls after
run: |
pwd
ls -l
- name: publish eBooks to release
uses: softprops/action-gh-release@v2
with:
tag_name: WorkInProgress
prerelease: true
files: |
./hpmor.docx
./hpmor.html
./hpmor.epub
./hpmor.mobi
./hpmor.fb2