-
Notifications
You must be signed in to change notification settings - Fork 2
/
.cirrus.yml
121 lines (98 loc) · 3.28 KB
/
.cirrus.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
ltxpect_self_test_task:
name: "ltxpect self-tests"
container:
image: ubuntu:noble
install_script:
- apt-get update
- apt-get install --no-install-recommends -qq -y python3 mypy black
mypy_script:
- (cd test-scripts && python3 -mmypy ltxpect)
- (cd test-scripts && python3 -mmypy regtest.py)
black_script:
- (cd test-scripts && python3 -mblack --check ltxpect)
- (cd test-scripts && python3 -mblack --check regtest.py)
test_script:
- (cd test-scripts && python3 -munittest discover -s ltxpect -t ..)
latex_test_task:
environment:
deploy_key_secret: ENCRYPTED[3c73c561f87d2de39c00e8b44701aad9e5cf57079e8abc56077ee6cd584029f3e0f2789a74098d2e49c2ee318328e490]
deploy_key_salt: ENCRYPTED[277a1e25420dc9db77407432e093b68006b91a02dd7b603b0dd608863e82eefa24133bca90de395a08f4368d01c9219e]
matrix:
- name: "Linux - TeX Live 2023"
container:
dockerfile: ci/texlive-2023-linux.Dockerfile
env:
PROTODIR: proto_tl2022
- name: "Linux - TeX Live 2022"
container:
dockerfile: ci/texlive-2022-linux.Dockerfile
env:
PROTODIR: proto_tl2022
- name: "Linux - TeX Live 2021"
container:
dockerfile: ci/texlive-2021-linux.Dockerfile
env:
PROTODIR: proto_tl2016
- name: "Linux - TeX Live 2020"
container:
dockerfile: ci/texlive-2020-linux.Dockerfile
env:
PROTODIR: proto_tl2016
- name: "Linux - TeX Live 2019"
container:
dockerfile: ci/texlive-2019-linux.Dockerfile
env:
PROTODIR: proto_tl2016
- name: "Linux - TeX Live 2018"
container:
dockerfile: ci/texlive-2018-linux.Dockerfile
env:
PROTODIR: proto_tl2016
- name: "Linux - TeX Live 2017"
container:
dockerfile: ci/texlive-2017-linux.Dockerfile
env:
PROTODIR: proto_tl2016
- name: "Linux - TeX Live 2016"
container:
dockerfile: ci/texlive-2016-linux.Dockerfile
env:
PROTODIR: proto_tl2016
decrypt_deploy_key_script: |
if [ -z "$CIRRUS_PR" ]; then
echo "Decrypting deploy key"
mkdir -p "${HOME}/.ssh"
chmod 700 "${HOME}/.ssh"
python3 ci/secure-file.py -decrypt ci/cirrus-deploy-key.enc -secret ${deploy_key_secret} -salt ${deploy_key_salt} -out "${HOME}/.ssh/id_ed25519"
chmod 600 "${HOME}/.ssh/id_ed25519"
echo "Testing deploy key"
(ssh -o StrictHostKeyChecking=no -T git@github.com || true)
fi
install_script:
- pdfinfo -v
- compare -version
- gs -v
- pdflatex -version
- tlmgr conf
- make install CONTINUE=y
- texhash
test_script:
- make -C test PYTHON=python3 PROTODIR=${PROTODIR}
on_failure:
set_failure_result_code_script:
- echo "TEST_RESULT_CODE=1" >> $CIRRUS_ENV
always:
set_success_result_code_script: |
if [ -z "$TEST_RESULT_CODE" ]; then
echo "TEST_RESULT_CODE=0" >> $CIRRUS_ENV
fi
copy_artifacts_script: |
mkdir cirrus-artifacts
if [[ "$CIRRUS_CHANGE_MESSAGE" =~ \[keep\-pdfs\] ]]; then
(cp -Rvv test/pdfs/*.pdf cirrus-artifacts/ 2>/dev/null) || true
fi
ci_artifacts:
path: "cirrus-artifacts/*"
after_script:
- echo "Test result code: $TEST_RESULT_CODE"
- ci/cirrus_linux_after.sh $TEST_RESULT_CODE