added list of packages for doc compilation and included TeX memory increase for build script

master
Martin Scheidt 2022-03-24 14:58:28 +01:00
parent 25e66b6e79
commit 25c007c70f
4 changed files with 121 additions and 20 deletions

53
.github/tex/packages.doc.txt vendored Normal file
View File

@ -0,0 +1,53 @@
## -- engine used to compile (pdflatex)
latex-bin
latexmk
## -- direct dependencies
tikz-trackschematic
koma-script
pgf
xkeyval
etoolbox
adjustbox
booktabs
xltabular
tools
marginnote
babel-english
vhistory
carlisle
xcolor-solarized
enumitem
listings
siunitx
amsmath
hyperref
bookmark
preprint
## -- lwarp dependencies
lwarp
ifptex
## -- indirect dependencies
standalone
epstopdf-pkg
ltablex
collectbox
geometry
environ
xpatch
infwarerr
catchfile
ltxcmds
etexcmds
letltxmacro
newunicodechar
upquote
kvoptions
kvsetkeys
comment
xstring
microtype
psnfss
collection-fontsrecommended

View File

@ -49,7 +49,7 @@ jobs:
uses: paolobrasolin/setup-texlive-action@v1
with:
profile-path: ${{ github.workspace }}/.github/tex/profile.minimal.txt
packages-path: ${{ github.workspace }}/.github/tex/packages.test.txt
packages-path: ${{ github.workspace }}/.github/tex/packages.doc.txt
# - name: "install tikz-trackschematic"
# run: ./build.sh --non-interactive --install-dev

View File

@ -14,11 +14,26 @@ jobs:
release:
runs-on: ubuntu-latest
steps:
# 1. checkout the repo
- name: "checkout"
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
uses: actions/checkout@v2
## create varibale ${{ steps.tag.outputs.tag }}
# 2. install TeX Live
- name: "install ghostscript"
run: sudo apt-get install -y ghostscript
- name: "setup TeX Live (via paolobrasolin)"
uses: paolobrasolin/setup-texlive-action@v1
with:
profile-path: ${{ github.workspace }}/.github/tex/profile.minimal.txt
packages-path: ${{ github.workspace }}/.github/tex/packages.doc.txt
# 3. (re-)compile the documentation
- name: "update tikz-trackschematic documentation before release"
run: ./build.sh --non-interactive --memory-increase --compile-doc
# 4. create package and release notes
## get varibale ${{ steps.tag.outputs.tag }}
- name: "get tag"
id: tag
uses: dawidd6/action-get-tag@v1
@ -26,12 +41,10 @@ jobs:
# Optionally strip `v` prefix
strip_v: false
- name: "update tikz-trackschematic documentation before release"
run: ./build.sh --non-interactive --compile-doc
- name: "create tikz-trackschematic package"
run: ./build.sh --non-interactive --release ${{ steps.tag.outputs.tag }}
# 5. publish package as new release on github
- name: "create release"
id: create_release
uses: actions/create-release@v1
@ -60,3 +73,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
id: ${{ steps.create_release.outputs.id }}
# 6. upload new release to CTAN
## TODO

View File

@ -37,6 +37,8 @@ install, test or release a package for tikz-trackschematic
-u, --uninstall-dev Deinstall dev-package from local TeX Live environment.
The -u option overrides any previous -i option.
-x, --memory-increase Increase available TeX memory.
-t, --test Tests the current src/ against the test/.
-c, --compile-doc Compile documentation sources.
@ -53,6 +55,7 @@ EOF
VERBOSITY=2 # set by cli argument
NOINTERACT=0 # set by cli argument
INSTALL=0 # set by cli argument
TEXMEMORY=0 # set by cli argument
TESTING=0 # set by cli argument
COMPILE=0 # set by cli argument
SYMBOLOGY=0 # set by cli argument
@ -90,6 +93,9 @@ process_arguments() {
-u|--uninstall-dev)
INSTALL=2
;;
-x|--memory-increase)
TEXMEMORY=1
;;
-t|--test)
TESTING=1
;;
@ -587,20 +593,6 @@ run_compile_documentation() {
MEMORY_USAGE=$(grep "words of memory out of" .tex/${NAME}.log | cut -d " " -f2)
MEMORY_USAGE=$(($MEMORY_USAGE/1000))
#
## compiling snipptes.tex may run out of memory!
## to increase available memory find local texmf.cnf:
# kpsewhich -a texmf.cnf
# returns /usr/local/texlive/2021/texmf.cnf
## append in /usr/local/texlive/2021/texmf.cnf
# % increase available memory
# main_memory = 12000000
# extra_mem_bot = 12000000
# font_mem_size = 12000000
# pool_size = 12000000
# buf_size = 12000000
## run
# sudo mktexlsr
#
if [ $EXIT_CODE = 0 ]; then
log_info " - build successful in ${TIME}s and with ${MEMORY_USAGE}k memory."
#
@ -869,6 +861,37 @@ remove_dev_files() {
fi
}
change_tex_memory() {
## compiling snipptes.tex may run out of memory!
## to increase available memory find local texmf.cnf:
TEXMF_PATH=$(kpsewhich -a texmf.cnf | awk "NR==1") # default .../texlive/YYYY/texmf.cnf
log_note "Found local texmf.cnf at $TEXMF_PATH"
##
## check for already made changes
STATUS=0
grep -qs '%% \[tikz-trackschematic\] increase available memory' $TEXMF_PATH || STATUS=1
if [ $STATUS = 0 ]; then
log_note "$TEXMF_PATH has already been modified!"
return 0
fi
##
user_confirmation "Do you wish to increase TeX memory by modifying the file $TEXMF_PATH?"
## increase available memory
echo '%% [tikz-trackschematic] increase available memory' | $rootrun tee -a $TEXMF_PATH >> /dev/null 2>&1
echo 'main_memory = 12000000' | $rootrun tee -a $TEXMF_PATH >> /dev/null 2>&1
echo 'extra_mem_bot = 12000000' | $rootrun tee -a $TEXMF_PATH >> /dev/null 2>&1
echo 'font_mem_size = 12000000' | $rootrun tee -a $TEXMF_PATH >> /dev/null 2>&1
echo 'pool_size = 12000000' | $rootrun tee -a $TEXMF_PATH >> /dev/null 2>&1
echo 'buf_size = 12000000' | $rootrun tee -a $TEXMF_PATH >> /dev/null 2>&1
## update TeX Live installation
TEXlsr=`which mktexlsr`
if [ $VERBOSITY -ge 3 ]; then
$rootrun $TEXlsr
else
$rootrun $TEXlsr --quiet
fi
}
cleanup() {
## -- cleanup
## from create_release
@ -938,6 +961,15 @@ if [ $INSTALL = 2 ]; then
remove_dev_files
fi
if [ $TEXMEMORY = 1 ]; then
##
check_texlive
check_sudo
##
change_tex_memory
fi
if [ $TESTING = 1 ]; then
##
check_pdflatex