add languagetool ci, Fix #1 (#2)
All checks were successful
Compile LaTeX document / build (push) Successful in 31s
Compile LaTeX document / latex_spellcheck (push) Successful in 3m2s

Reviewed-on: #2
This commit is contained in:
philipp 2024-02-28 10:41:24 +01:00
parent 1d7f93140f
commit 4a1ed3fe15
3 changed files with 101 additions and 40 deletions

View File

@ -2,22 +2,15 @@ name: Compile LaTeX document
on: on:
push: push:
branches: branches: [main] # or any other branch you want to trigger the workflow
- main # or any other branch you want to trigger the workflow
pull_request: pull_request:
branches: branches: [main]
- main
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: leplusorg/latex image: leplusorg/latex
steps: steps:
- name: "Determine prerequisites" - name: "Determine prerequisites"
id: prereq id: prereq
@ -29,25 +22,84 @@ jobs:
apt update -y && apt install -y curl apt update -y && apt install -y curl
curl -sS https://webi.sh/node | sh curl -sS https://webi.sh/node | sh
echo ~/.local/opt/node/bin >> $GITHUB_PATH echo ~/.local/opt/node/bin >> $GITHUB_PATH
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Compile LaTeX Document - name: Compile LaTeX Document
run: latexmk -pdf ${{ env.root_file }} run: latexmk -pdf ${{ env.root_file }}
env: env:
root_file: main.tex # Replace 'main.tex' with the path to your main LaTeX file root_file: main.tex # Replace 'main.tex' with the path to your main LaTeX file
- name: Upload artifacts and release assets - name: Upload artifacts and release assets
uses: nanoufo/action-upload-artifacts-and-release-assets@v1.9 uses: nanoufo/action-upload-artifacts-and-release-assets@v1.9
with: with:
path: | path: ./main.pdf
./main.pdf
# - name: Upload PDF latex_spellcheck:
# uses: actions/upload-artifact@v3 runs-on: ubuntu-latest
# with: container:
# name: Beitrittserklaerung_RudernDonauLinz.pdf image: registry.gitlab.com/islandoftex/images/texlive:${{ env.LATEX_SPELLCHECK_TEXLIVE_VERSION }}
# path: ./main.pdf env:
LATEX_SPELLCHECK_SOURCE_NAME: main
LATEX_SPELLCHECK_SOURCE_PATH: './'
LATEX_SPELLCHECK_SOURCE_LANGUAGE_DEFAULT: de-AT
LATEX_SPELLCHECK_IGNORELIST: spellcheck_custom_words.txt
LATEX_SPELLCHECK_TEXLIVE_VERSION: TL2021-2021-12-12-04-05
LATEX_SPELLCHECK_TEXLIVE_IMAGE: registry.gitlab.com/islandoftex/images/texlive
steps:
- name: "Determine prerequisites"
id: prereq
run: |
echo "need_node=$(command -v node >/dev/null 2>&1 && echo 0 || echo 1)" >> $GITHUB_OUTPUT
- name: Install node
if: ${{ steps.prereq.outputs.need_node == '1' }}
run: |
apt update -y && apt install -y curl
curl -sS https://webi.sh/node | sh
echo ~/.local/opt/node/bin >> $GITHUB_PATH
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Prepare environment
run: |
cd $LATEX_SPELLCHECK_SOURCE_PATH
export SOURCE_LANGUAGE=$(cat $LATEX_SPELLCHECK_SOURCE_NAME.tex | perl -e '
$spellcheck_language = $ENV{LATEX_SPELLCHECK_SOURCE_LANGUAGE_DEFAULT};
while (<>) {
last if !/^%\s+!/;
if (/^%\s+!tex\s+spellcheck\s*=\s*(.+)$/i) {
$lang = "$1";
$lang =~ s/^\s+|\s+$//g;
$spellcheck_language = $lang;
}
}
$spellcheck_language = $ENV{LATEX_SPELLCHECK_SOURCE_LANGUAGE} if ($ENV{LATEX_SPELLCHECK_SOURCE_LANGUAGE});
$spellcheck_language =~ s/^([a-zA-Z]{2})([-_]([a-zA-Z]{2}))?.*$/$1/;
$spellcheck_variant = "$3";
print "${spellcheck_language}-${spellcheck_variant}";
')
export LANGUAGE_PREFIX=$(echo $SOURCE_LANGUAGE | head -c2 -)
apt-get update
apt-get -y install python3-pip wget python3-venv
python3 -m venv /tmp/env
. /tmp/env/bin/activate
pip3 install yalafi
wget --directory-prefix=/srv/ https://languagetool.org/download/LanguageTool-stable.zip
unzip /srv/LanguageTool-stable.zip -d /srv/lt/
mv /srv/lt/* /srv/lt/LanguageTool
sed -i -e '$a\\' /srv/lt/LanguageTool/org/languagetool/resource/$LANGUAGE_PREFIX/hunspell/spelling_custom.txt
test -f "$LATEX_SPELLCHECK_IGNORELIST" && cat ./$LATEX_SPELLCHECK_IGNORELIST >>/srv/lt/LanguageTool/org/languagetool/resource/$LANGUAGE_PREFIX/hunspell/spelling_custom.txt
latexpand $LATEX_SPELLCHECK_SOURCE_NAME.tex >$LATEX_SPELLCHECK_SOURCE_NAME.spellcheck.merged.tmp
sed -i 's/~/ 1/g' $LATEX_SPELLCHECK_SOURCE_NAME.spellcheck.merged.tmp
detex $LATEX_SPELLCHECK_SOURCE_NAME.spellcheck.merged.tmp >$LATEX_SPELLCHECK_SOURCE_NAME.spellcheck.plain.tmp
python3 -m yalafi.shell --lt-directory /srv/lt/LanguageTool --output html --language $SOURCE_LANGUAGE $LATEX_SPELLCHECK_SOURCE_NAME.spellcheck.plain.tmp >$LATEX_SPELLCHECK_SOURCE_NAME.spellcheck.html
# - name: Upload Spellcheck Results
# uses: actions/upload-artifact@v2
# with:
# name: spellcheck-results
# path: ${{ env.LATEX_SPELLCHECK_SOURCE_PATH }}${{ env.LATEX_SPELLCHECK_SOURCE_NAME }}.spellcheck.html
- name: Upload artifacts and release assets
uses: nanoufo/action-upload-artifacts-and-release-assets@v1.9
with:
name: spellcheck-results
path: ${{ env.LATEX_SPELLCHECK_SOURCE_PATH }}${{ env.LATEX_SPELLCHECK_SOURCE_NAME }}.spellcheck.html

View File

@ -0,0 +1,9 @@
ASKÖ
OÖRV
ÖRV
ZVR-Zahl
Heilhamerweg
ruderischen
Viribus
units