Skip to content

Commit 4175d31

Browse files
authored
updated CI for v0.9 release in 2025 (#2668)
* towards updated CI for v0.9 release in 2025 * update the CI image list - published to gchr.io * allow perl 5.42 to fail for now * avoid the miktex install question for now * attempt to guard \p{Latin} change in perl v5.42 by negative filter on \p{Lm} * performance tweak: 3 regex at the cost of 1 * catch more cases in PCRE Latin Letter hunting * [CI] run make formats on texlive 2023 and later * [CI] fail fully on errors during make formats * strict only in CI
1 parent 3bb604b commit 4175d31

File tree

5 files changed

+53
-113
lines changed

5 files changed

+53
-113
lines changed

.github/workflows/linux.yml

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,35 @@ jobs:
1616
strategy:
1717
matrix:
1818
include:
19-
- perl: "5.34"
19+
- perl: "5.42"
2020
texlive: none
21-
allow_failure: false
22-
- perl: "5.32"
21+
allow_failure: true
22+
- perl: "5.40"
2323
texlive: none
2424
allow_failure: false
25-
- perl: "5.30"
25+
- perl: "5.38"
2626
texlive: none
2727
allow_failure: false
28-
- perl: "5.28"
28+
- perl: "5.36"
2929
texlive: none
3030
allow_failure: false
31-
- perl: "5.26"
31+
- perl: "5.34"
3232
texlive: none
3333
allow_failure: false
34-
- perl: "5.34"
35-
texlive: "2021"
36-
allow_failure: true
37-
- perl: "5.32"
38-
texlive: "2020"
34+
- perl: "5.42"
35+
texlive: 2025
3936
allow_failure: true
40-
- perl: "5.30"
41-
texlive: "2019"
42-
allow_failure: true
43-
- perl: "5.28"
44-
texlive: "2018"
37+
- perl: "5.38"
38+
texlive: 2024
39+
allow_failure: false
40+
- perl: "5.38"
41+
texlive: 2023
42+
allow_failure: false
43+
- perl: "5.36"
44+
texlive: 2022
45+
allow_failure: false
46+
- perl: "5.34"
47+
texlive: 2021
4548
allow_failure: true
4649

4750
steps:
@@ -64,6 +67,9 @@ jobs:
6467
source /usr/local/perlbrew/etc/bashrc
6568
perl Makefile.PL
6669
make
70+
- name: Run 'make formats' for newer texlives
71+
if: matrix.texlive >= 2023
72+
run: make formats
6773
- name: Run 'make test'
6874
shell: bash
6975
run: |

.github/workflows/windows.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,27 @@ jobs:
2626
strategy:
2727
matrix:
2828
include:
29-
- perl: 5.32.1.1
29+
- perl: 5.42.0.1
3030
miktex: none
3131
allow_failure: false
32-
# - perl: 5.32.1.1
33-
# miktex: 21.6.28
34-
# allow_failure: true
35-
- perl: 5.30.3.1
32+
- perl: 5.38.4.1
3633
miktex: none
3734
allow_failure: false
38-
- perl: 5.28.2.1
35+
- perl: 5.38.4.1
3936
miktex: none
4037
allow_failure: false
41-
- perl: 5.26.3.1
38+
- perl: 5.36.3.1
4239
miktex: none
4340
allow_failure: false
44-
41+
- perl: 5.34.3.1
42+
miktex: none
43+
allow_failure: true
44+
# - perl: 5.42.0.1
45+
# miktex: 25.3.0
46+
# allow_failure: true
47+
# - perl: 5.38.4.1
48+
# miktex: 25.3.0
49+
# allow_failure: true
4550
steps:
4651

4752
- uses: actions/checkout@v2

Makefile.PL

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,8 @@ InstallTeXStyles
274274
# Ideally, would depend on /<system>/texmf-dist/.../plain.tex & latex.ltx
275275
# This is still experimental/optional, otherwise should add formats to pure_all target!
276276
sub dump_formats {
277-
$$MORE_MACROS{INST_FMTDIR} = '$(INST_LIB)/LaTeXML/Engine';
277+
$$MORE_MACROS{INST_FMTDIR} = '$(INST_LIB)/LaTeXML/Engine';
278+
$$MORE_MACROS{STRICT_IN_CI} = $ENV{CI} ? "--strict" : "";
278279
$MORE_MAKERULES .= <<'DumpFormats';
279280
280281
# Create dump file for format plain.tex, latex.ltx
@@ -283,14 +284,14 @@ formats :: all formats-clean
283284
formats :: $(INST_FMTDIR)/plain_dump.pool.ltxml
284285
285286
$(INST_FMTDIR)/plain_dump.pool.ltxml:
286-
$(PERLRUN) $(INST_SCRIPT)/latexml --init=plain.tex --dest=$(INST_FMTDIR)/plain_dump.pool.ltxml
287+
$(PERLRUN) $(INST_SCRIPT)/latexml --init=plain.tex $(STRICT_IN_CI) --dest=$(INST_FMTDIR)/plain_dump.pool.ltxml
287288
$(NOECHO) $(PERLRUN) -e "exit(1) unless -e '$(INST_FMTDIR)/plain_dump.pool.ltxml'" \
288289
|| (echo "LaTeXML FAILED to dump format for plain.tex" && exit 1)
289290
290291
formats :: $(INST_FMTDIR)/latex_dump.pool.ltxml
291292
292293
$(INST_FMTDIR)/latex_dump.pool.ltxml:
293-
$(PERLRUN) $(INST_SCRIPT)/latexml --init=latex.ltx --dest=$(INST_FMTDIR)/latex_dump.pool.ltxml
294+
$(PERLRUN) $(INST_SCRIPT)/latexml --init=latex.ltx $(STRICT_IN_CI) --dest=$(INST_FMTDIR)/latex_dump.pool.ltxml
294295
$(NOECHO) $(PERLRUN) -e "exit(1) unless -e '$(INST_FMTDIR)/latex_dump.pool.ltxml'" \
295296
|| (echo "LaTeXML FAILED to dump format for latex.ltx" && exit 1)
296297

lib/LaTeXML/Common/Font.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -935,10 +935,10 @@ sub specialize {
935935
my $deffamily = ($flags & $FLAG_FORCE_FAMILY ? $family || $DEFFAMILY : $DEFFAMILY);
936936
my $defseries = ($flags & $FLAG_FORCE_SERIES ? $series || $DEFSERIES : $DEFSERIES);
937937
my $defshape = ($flags & $FLAG_FORCE_SHAPE ? $shape || $DEFSHAPE : $DEFSHAPE);
938-
if (($string =~ /^\p{Latin}$/) && ($string =~ /^\p{L}$/)) { # Latin Letter
938+
if ($string =~ /^(?=\p{LC})(?!\p{Script=Common})\p{Latin}$/) { # Latin Letter, NOT a modifier
939939
$shape = 'italic' if !$shape && !$family; }
940-
elsif ($string =~ /^\p{Greek}$/) { # Single Greek character?
941-
if ($string =~ /^\p{Lu}$/) { # Uppercase
940+
elsif ($string =~ /^\p{Greek}$/) { # Single Greek character?
941+
if ($string =~ /^\p{Lu}$/) { # Uppercase
942942
if (!$family || ($family eq 'math')) {
943943
$family = $deffamily;
944944
$shape = $defshape if $shape && ($shape ne $DEFSHAPE); } } # if ANY shape, must be default

tools/ci/build-all.sh

Lines changed: 11 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -13,88 +13,16 @@ function build_image() {
1313

1414
# Do the building of all the images
1515
# This might take a bit.
16-
build_image 2021-5.34.0
16+
build_image 2025-5.42
17+
build_image 2024-5.38
18+
build_image 2023-5.38
19+
build_image 2022-5.36
1720
build_image 2021-5.34
18-
build_image 2021-5
19-
build_image 2021
20-
build_image latest
21-
build_image 2020-5.32.1
22-
build_image 2020-5.32
23-
build_image 2020-5
24-
build_image 2020
25-
build_image 2019-5.30.3
26-
build_image 2019-5.30
27-
build_image 2019-5
28-
build_image 2019
29-
build_image 2018-5.28.3
30-
build_image 2018-5.28
31-
build_image 2018-5
32-
build_image 2018
33-
build_image 2017-5.26.3
34-
build_image 2017-5.26
35-
build_image 2017-5
36-
build_image 2017
37-
build_image 2016-5.24.4
38-
build_image 2016-5.24
39-
build_image 2016-5
40-
build_image 2016
41-
build_image 2015-5.22.4
42-
build_image 2015-5.22
43-
build_image 2015-5
44-
build_image 2015
45-
build_image 2014-5.20.3
46-
build_image 2014-5.20
47-
build_image 2014-5
48-
build_image 2014
49-
build_image 2013-5.18.4
50-
build_image 2013-5.18
51-
build_image 2013-5
52-
build_image 2013
53-
build_image 2012-5.16.3
54-
build_image 2012-5.16
55-
build_image 2012-5
56-
build_image 2012
57-
build_image 2011-5.14.4
58-
build_image 2011-5.14
59-
build_image 2011-5
60-
build_image 2011
61-
build_image 2010-5.12.5
62-
build_image 2010-5.12
63-
build_image 2010-5
64-
build_image 2010
65-
build_image 2009-5.10.1
66-
build_image 2009-5.10
67-
build_image 2009-5
68-
build_image 2009
69-
build_image 2008-5.10.1
70-
build_image 2008-5.10
71-
build_image 2008-5
72-
build_image 2008
73-
build_image none-5.34.0
21+
build_image none-5.42
22+
build_image none-5.40
23+
build_image none-5.38
24+
build_image none-5.36
7425
build_image none-5.34
75-
build_image none-5
76-
build_image none
77-
build_image none-5.32.1
78-
build_image none-5.32
79-
build_image none-5.30.3
80-
build_image none-5.30
81-
build_image none-5.28.3
82-
build_image none-5.28
83-
build_image none-5.26.3
84-
build_image none-5.26
85-
build_image none-5.24.4
86-
build_image none-5.24
87-
build_image none-5.22.4
88-
build_image none-5.22
89-
build_image none-5.20.3
90-
build_image none-5.20
91-
build_image none-5.18.4
92-
build_image none-5.18
93-
build_image none-5.16.3
94-
build_image none-5.16
95-
build_image none-5.14.4
96-
build_image none-5.14
97-
build_image none-5.12.5
98-
build_image none-5.12
99-
build_image none-5.10.1
100-
build_image none-5.10
26+
27+
# Then remember to publish them by hand if you need them for CI:
28+
# docker push ghcr.io/tkw1536/latexml-test-runtime:...

0 commit comments

Comments
 (0)