Skip to content

Commit 5aec55c

Browse files
committed
add action (and temp KEY)
1 parent 94f9b72 commit 5aec55c

File tree

2 files changed

+216
-0
lines changed

2 files changed

+216
-0
lines changed

.github/workflows/serve-ximera.yml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: Ximera Workflow
2+
3+
on:
4+
push:
5+
6+
jobs:
7+
build-ximera:
8+
name: Build and preview Ximera Courses
9+
runs-on: ubuntu-latest
10+
11+
permissions:
12+
actions: read
13+
contents: read
14+
packages: write
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0 # full
21+
22+
- name: Setup cache
23+
uses: actions/cache@v4
24+
with:
25+
path: |
26+
**/*.html
27+
**/*.pdf
28+
**/*.svg
29+
**/*.aux
30+
**/*.xref
31+
**/*.toc
32+
!xmPictures/**
33+
!.git/**
34+
!.github/**
35+
key: ximera-${{ github.ref_name }}-${{ github.sha }}
36+
restore-keys: |
37+
ximera-${{ github.ref_name }}-
38+
ximera-
39+
40+
41+
- name: Build and publish Ximera courses
42+
env:
43+
# GPG_KEY: ${{ secrets.GPG_KEY }}
44+
# GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
45+
# XIMERA_URL: ${{ vars.XIMERA_URL }}
46+
# XIMERA_URL: "https://test.xronos.clas.ufl.edu/"
47+
XIMERA_URL: "https://xerxes.ximera.org/"
48+
# XIMERA_NAME: ${{ vars.XIMERA_NAME }}*${{ github.ref_name }}
49+
XIMERA_NAME: testlinalg
50+
XM_COMPILE_SEQUENCE: "html,handout.pdf"
51+
run: |
52+
ls -alrt
53+
chmod +x xmScripts/xmlatex
54+
rm -rf ximera-downloads/with-answers
55+
# git config --global http.postBuffer 524288000
56+
# git config --global core.compression 9
57+
./xmScripts/xmlatex bake --compile "html,handout.pdf"
58+
./xmScripts/xmlatex frost
59+
./xmScripts/xmlatex name
60+
./xmScripts/xmlatex serve
61+
# ./xmScripts/xmlatex ghaction
62+
echo "✅ Published to $XIMERA_URL$XIMERA_NAME " >> $GITHUB_STEP_SUMMARY
63+
64+
- name: Setup ximera serve cache (only .git)
65+
id: serve-cache
66+
uses: actions/cache/save@v4
67+
with:
68+
path: |
69+
xmScripts/**
70+
.git/**
71+
key: ximeraSERVE-${{ github.ref_name }}-${{ github.sha }}
72+
73+
74+
publish-ximera:
75+
name: Publish Ximera Courses
76+
needs: build-ximera # Waits for the build job to complete
77+
runs-on: ubuntu-latest
78+
environment: production
79+
steps:
80+
81+
82+
- name: Restore ximera serve cache (only .git)
83+
id: serve-cache-restore
84+
uses: actions/cache/restore@v4
85+
with:
86+
fail-on-cache-miss: true
87+
path: |
88+
xmScripts/**
89+
.git/**
90+
key: ximeraSERVE-${{ github.ref_name }}-${{ github.sha }}
91+
92+
- name: Serve
93+
env:
94+
GPG_KEY: ${{ secrets.GPG_KEY }}
95+
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
96+
# XIMERA_URL: ${{ vars.XIMERA_URL }}
97+
XIMERA_URL: "https://xerxes.ximera.org/"
98+
XIMERA_NAME: ${{ vars.XIMERA_NAME }}
99+
run: |
100+
chmod +x xmScripts/xmlatex
101+
./xmScripts/xmlatex name
102+
./xmScripts/xmlatex serve
103+
echo "✅ Published to $XIMERA_URL$XIMERA_NAME " >> $GITHUB_STEP_SUMMARY
104+
105+
106+

.xmKeyFile

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
#
2+
# This file contains a private GPG key for Wim <[email protected]> to publish Ximera courses.
3+
#
4+
# These settings will be overwritten by existing environment variables GPG_KEY_ID and GPG_KEY
5+
#
6+
# *** DO NEVER COMMIT THIS FILE ***
7+
#
8+
GPG_KEY_ID=CB90CB0A4F99D399D209050B9713A789A01CA38B
9+
GPG_KEY="\
10+
LS0tLS1CRUdJTiBQR1AgUFJJVkFURSBLRVkgQkxPQ0stLS0tLQoKbFFJVkJHaWZuTFFCRUFDOC8x
11+
QzBSZXExQ2Vldk82bjk3MlUyd2ttNy9XbUdNb2Z4alk1WURoUklybVduT2ZnWQo0cTYvcXJQVkVz
12+
WUE1Ylk0ZVJ0N0JnTWdPbGJjR2EwMFdscnduMFpXREkxamtGWG1XZ0JMdkZPMm02TEZZMVUrCjJa
13+
dHI4SUpJNFFvMVZZQUs2YmtYS0o4SjNDbW5kZU5MNjBVWFpiWUs2NmxXZ1ZiU2IzeE1RdGFRQmhI
14+
dkZybGQKbjJ1TTVSVUxhMWloRys4a2UvUlNOdE0reUZYMWhoNGs4cjUrb3d4MTBWWjUvNjMwdmQy
15+
UGM0N0kvRjhIYk9pWApORjdTZDNqZ1VaRUdHSVppQjVMQU9QYnNrWmpDekxVNnh6ZVB3dTNpaG1t
16+
N1VmUGM5M0dscldUMnZvcE1WdG9FCmhiYUI0QmUrTWdMSjdSK1dPd29PK1FmVmJOaE5QdnFmZjhJ
17+
bldrZk1ZNDdrYll2TTBRc2ppK3YxTUFRSFNQTnIKVVJPMElueTVhbHNxWDc4RDdzSGhxUFQxbHl1
18+
QlhWcUlETHFmTG9QbmtTZzlGWktUc1Y4YlhEUGh1UnJhWjZvawpMZG5uT1dsaUx5YytUeVpTYUM0
19+
VC9CblJqTkJKc0xBOS9rTTZ4TEhiLzlXc0F2cVdSc2ExMHBiSW5LcXFENVB2CnhUSHlKYjcwaVBp
20+
cXV1ZFFaZGJ6MFo0cUNRenUzcG5oNkMwMGhraS9Md1g0MDlSVUdFZXV0Yks1Q3lOdGZRYk0KV29D
21+
bVA5OXlTZ21hM21oME80SlNWeE1TL3Q4MkREMjIwaG80bDZRM3F1cXBSenJhWEQ4WnF5bVNXeUFQ
22+
S0hxSQpFRTJtbGtxMkhkRHdvdjVCSUNvS1Q4TlpWQXN6U2dqL0JnQ3NHTjJvL1VudHNkWVp5NmVY
23+
Rm9nbXdRQVJBUUFCCi93QmxBRWRPVlFHMEZsZHBiU0E4YzI1aGNIQXVNVFJBYjNOMUxtVmtkVDZK
24+
QWxVRUV3RUtBRDhXSVFUTGtNc0sKVDVuVG1kSUpCUXVYRTZlSm9CeWppd1VDYUorY3RBTWJMd1FG
25+
Q1FIaE00QUZDd2tJQndJR0ZRb0pDQXNDQkJZQwpBd0VDSGdFQ0Y0QUFDZ2tRbHhPbmlhQWNvNHZF
26+
RXhBQXBtOGhhSE5SMnNvLytmODcwWXh1dG94d3NPTzQrOU5ZCkJlQWVqVCt6MlY1S29iQmpUM2M4
27+
azQrWEJZZDVSaExaWmFrMzU0eGNTaVdWeERCblQ2YnU4SEJzTGdCT0t3dkgKV1p3VmN3Qk1mb2pE
28+
OUVUbElOVE1CeVA0eXN1LzIvZDZzQjhUWXlETjRBSEk0UXBTVWZyU3NvbGpGVFNxWVZ5QwpqanV0
29+
ak82d3pTUjZoVVl0eFJsbjdxT2t2dzArdWdmWTRzU1VJQngyVEdBZGc3R3VXOS9yMWtkWElKTFB6
30+
SXVCCkU1RlBEdlRzdHJtN0hpUCtQVmhqaTBPM09uQlVwQnB6b2N0WnBaS3V5MEx5N3B3WUpBR3VC
31+
TXFwSXFVOFJnL2gKdVhUTE05WXdqR09VQzlack8xNG5URUdSaExjNEtiaTFDVlB1VHBNbXgvcEt1
32+
UFBQL0FKZ0V5MUlDZVR5ZjVwRQo3d3VjT21qc3diZkp6ODVpOW40WDkyNEJvL1FlSzhvbUJtaDFm
33+
RWFQd0tWcVBQaDJLUytHbk82SUZBRW1KSzl4CjFZTzUyK3NHdlkySGhjbW1kZ2k4OTQ0RGttRSt1
34+
dHFCKzFMY1F1akdvQTJFaTBLN1pUUDhzb2Z0ODRGdkNUalkKcWZLdm1nQVpHV1ZLMUdxay8zSFlK
35+
a2NXVGh3SUN4Uzl0UXZkMjc3ZlVZcWE1bEdlQnAxVFBESGhsN1VvM3lYeApKaEl4d0w1Z1o0NzhB
36+
U2tJczZURTIrZlFpSE5qTXVVTnRLQVJTZHhJdGxPQ3pvd2x5Mm5sV2REWEoraUNueGFBCkcweGdF
37+
TWt5bEdGWDFNcEFuOGF6ckhaMms0QVBOZTVpZUlVUE1VQzlLVjBjMGJBcDlvYzgwaTlGc1JSUW5R
38+
SlMKZkFoQmNJUUlzcTZkQnhnRWFKK2N0QUVRQUpwMEhscFdHTGY1cCtmVlBLZTRGcmRzVjZPdWE3
39+
R1ExVGhYM1ltVgo1L2ZxQUVPVVRQd3AyYjUyUW1YUkI5SFk0NWhjbEgrZHA0QWRwU0xtQTlIMlQx
40+
VWVKRngrQmVKSTZXTXI1ZWVqCndISjJXUkRwNVh0SFl0c084R0E3WEVKWElHSVltV2thdlE4MWlR
41+
aU15SUgveDhqdi9Ob0xIYmorL2E0SXNITVUKQ0lRZVBTak15OHIyZTBsalhuSitaUHEwS3d6WGdn
42+
ems3SDVsTHBWRkcyOUh2Z3FFVDBROUMzVVFHY1ZVVXdmbgphc3pBOFJvMUdHN25vckZ5TXZLaHU3
43+
WkhTbTdtTFpJK0JvcFBRS3FocEg4SnRUaHdlUjZSWnlWbjV0KzVNU3U0CkRuamptRmlUdlJrRyt2
44+
cDJZdjNvTERCQkVCVGpac3RYMjkzeXJTc0hXNVNGbXRiL1RDMTFMVVd2VjhXRWY3TFMKWjY0YndI
45+
S0lBOE9paUVlZExjU0IrQmlaL0IvcW5VbzV0L2F5aDVtYU9kc3FCN0Nqb29HdTZHMUdVbEZTZlBE
46+
RAo4TkJGd0VFZFJuSTA5YjhmcWR0ZnJCK25iZ3I4bmZ3TENMYzJpYWs0NUhpcjVNS0JsR1BjMUJP
47+
bUQyTU1BaFN1CkRiT2Z2SjVrVjFQYWNPakRQNHE5STdCNCtFZ3ZpY040RDJYUzI3a25QdVdydmw3
48+
bXhkL3lPck1UR3Rob2lraysKZndDc09nRVo5WGhLNkZjME44TDc5bkZ5UlNLMU5jMjZMM3ZQaVVn
49+
Z1p0MGFwWVVIazNUcHVOKzZnemVBcjV6TApkUmZQNWQ3Ti90TlJ5RVUxbUFFbi9ZRVFPenBDbjRY
50+
NWxXT1pWL0krbDZVWEZFWlVRamlFRkN6dGpVWWJSOEs2ClpJc3pBQkVCQUFFQUQvMFRHUEhQMWFs
51+
dmNMZSt4ZkpKVi9lOGJQR3IxQnM0eWd4ZHo4VElDRTIxclFINkE5SSsKWGxFRmFIWHVta1A1N0hR
52+
U2JoQVJIM0NMT2g4bHRpOFpaNktJM0dzK2pIazBjTjRsWEZPQnFydXNRTTg1SDMwMwp4YXlHelhn
53+
UitLK3EvRDdpek9Fd2RSVS9WaTFBR0xnMHdCTDNMaHFqa3pyMDd0ZkxERmxVNi9zMFFDWkJHZUZ3
54+
CjU3MGl1OTM5RU5KeU5UNGF5UTErMlZJWFBCemdhV1VWQTFmazBRQ1phQkEzUkpXMTBud0VhWUZ6
55+
dzcrTUJWaWsKdUpDNG1XMk1scUdHZU90NUtZNGs4UFVQWmthUlVvbnJzMHJzVkVFd1NHWS80bkw4
56+
NHF4endyNzNXa2VIWEVKdwp0UmpwOHlMQSs2akxFVXNURk1oWENEYXdDM0RoOWN6d1lQeXpaamhn
57+
SldweVFaUEMwV05MNTN0U0hhRmc4L3NBCnl0WktzT2QweWN5L2pEczJGR29GbHozeHFTc244U24z
58+
T2VOYlRjUVFvRlNjclNzV3ZpdmhLQ2xvOVU3eW54WHYKNTMrVGQxRDBUV0FRUjBMZEJtWnJnZ2Ir
59+
S05GUTcwTlNldWRPUjh5aDV2MisvYVhsNXY2ZzBWVlZMcjJCVndZOQp4dEl1YWJjVEZUSXBnMzFB
60+
QjlzMzYzZ1ZseVpsYlNJb213RnJMYkl4S0Zoc2RCNXZ5a3h5a0JEWTJ3ZHd1bmJoCmh0Mno2dWJm
61+
QUYwdXVsS1RMci9wVzlUdWplblZRVUJoL205T3dnaHFIRk95S1MzcDJ2ZWtOK3JKZ1BNejR6djkK
62+
a2Roa1p5cnFiTm5HK2ovQlBxUmpaWVVyZW9SZ1FhUzcvNDIyanNyYzh2M1ArY0JSU2JkNXlJQlM4
63+
UWdBd1dXOQpkYW9NUVE5K2lWL05IMzA1S2d5N2VycEFTTkNVWGVDV1ZrcWdiSEFIeE1zVEhwdklk
64+
aEhUdzlMOGJ4SmtZUWZZCjU0QjRJK2pqd3pLS0Z5OTQvQUlHUGorNjIydWZZZDEyTStXUkZ1WlFT
65+
a3pneEJOYWxPdXFjRk53UEhlWTFYRVEKbHVGeUYyVDIzY1FpeG84R2N0Q09oWWFucFlqVkhLYjZK
66+
ZW4rN2ovYUhOMXJmcDgvdUZOZktPWFg4eXYzay9DOAo1Yk53K0M1bkF2RTFNeFBSNC92Y20zbkNE
67+
cW1ra0RDMTBWdWl5dTVyWW41ODlaeG5KZ0JnRzE2NklKRjJnTW1ECkNsTmNvRFFMTFdUS2F0R3pJ
68+
cU81MS9DQjBacVQ0bXpzcm1JU1phMVNpZmZ2ZUh6ZnB1aW5VVGU1TkxKMXRkZmEKamgrK0VmZVVV
69+
djEyNktMeEJ3Z0F6SE00ZkxRSW9ZdURkQ2tFb21nL1lGVDJnajN0RCtmWEU2M01WK1pnYVRDZApo
70+
UWs2S1hldk9QV0pvbHkva0hBbklzSWpCdmpaTnM1N25DT3d5Y2ZsMUVtSUZMR2VUZjVKNWlONWdY
71+
dkhlUEtWCjBnZ1hCNXgvay9jSGRxYXJ4NDI2YnhMU21jTURGeGYvWkZUb1hWN0FsM2gwTzFSZFhK
72+
dkE5NmZ2ZHBxdDdpczEKUng1Vm5XWnRXMnhDTllxajMwMkhBYlFMTU1tK21qWURUcXovQWx3akRo
73+
S1ljSUxKNmlGVnJadElxdXprQm9RRApkYitobS9XTkZjY1FPOGdTS2tuazB5N29laGtMVWhQRXlB
74+
SS96Z3A4UzNnMERGMGF0RlBUcXk4U3pDazQ2cjgvCko3NVZONWhUYm9MckhtcU1NWnBNTzQwUUtq
75+
blhjTnVna3dDSXhYN0ZkUWYrS0lvdVlUd1crRUhIeU8zWmc3KzUKelI1cTVONkFnTlk2NUpIaWNP
76+
NkRhaFg0Wk1WelhWVDRjNXV4VjBCQ0tlcWt4Nng2cVpOOWEwcW4rWW5mYktoUgpTRzRkcWZLSG4w
77+
VnBOMjFiRm9vblMySkRFUUM1TWlVSE4wbW1QUEFPWHVSQVdhYWxjUXV6dDFHM1JUYUpoUVhUCk96
78+
Q3UzbndwVmh3ZXJwNTJpY0k3MElNOUJKNE9YNTdWcXJJdHpmbHVKUGNic2k3SlZaZndkZDBERU1S
79+
Vi9XRUcKY1hZNjVSKzhKYzNiS0RMZDlHaFlpZFlOeHVIdGVieE5nTkcxZWUvQUZyVzZ6alhqZXFx
80+
TDF4Z2E4YktXUlJDUgpUekRiOEhIS1pqUlowOG9TK3pkaE4xR05ONzBWZ1pXNHFPc3FSeENZcmYw
81+
UG0xZEsrWnJqVk5DZlJ5cFFlSzVjCnBZTXZpUVJ5QkJnQkNnQW1GaUVFeTVETENrK1owNW5TQ1FV
82+
TGx4T25pYUFjbzRzRkFtaWZuTFFDR3k0RkNRSGgKTTRBQ1FBa1FseE9uaWFBY280dkJkQ0FFR1FF
83+
S0FCMFdJUVRSbmY4UFhKdEFPRysxOGllMjBvdVhyUFpiQkFVQwphSitjdEFBS0NSQzIwb3VYclBa
84+
YkJIM1RELzkyWDlFdDlBaG1kYXFVUzZENURGR1B2Y2R5TnBRSWlnMGNjbnJMCm5TdWRkd2M5WEI2
85+
Y1FUUEk2NE1hTk1hU1p4QzVaSzBsT3d5NHR2UXEzMEZDOUtGUkVQMHFxYTZBc1MrdWd1ZFkKTkxL
86+
dElqSVlKZkh4VjBMTEU2K1NFdFQybS9DR2pyb3pEQnZnbGFBQXozdWdOM1ptN3NQSzJxWDgyZVRr
87+
ek8xOAovUHZ6aHZYbmVicHJKSjBDK1VsSXZLelBEeUxNOHRmN2htWVV4NU43R0tUK2VZTFZoZUhE
88+
eFFlMGl1NEtXU2x6CnBJSWFhY2Fjb2V0S1BoMSt0MG0zellFOEpiQ2ZUL2tQQWlML0dsNC95ODNu
89+
RzZXVndhVTBDWjhUTHQvQlA0TGgKSi9vUWxTQkYySVA1N0pNWUV2R3lDWEJQdVYxTzZhS2EzL1J4
90+
SUpzRmZjMW5xbzJ1bWt0Z2wwNEt4N1B1SmZZTwo1UTE3ZEJyclljbzNhaS9ORnUzaHgweksveXlH
91+
TzBWS2hTSElPeU4wMjlrZWxxd3BSZXlqK2dReWRvRitDYys2CmhVSmhLQTlwZVpmVWkyRWVub3VE
92+
ajVBaXp1WXVsdWFIRVBIVTRvemQvT0dvdVd5MlNWZjREUituL2VCL0N2UzYKTWVJd1c4eDdTTDgx
93+
QmdGQVJFc3lLNEUvUUIyOExXcVk3RktnSzJVZmtFSXJ3ejVpbUFUVGhERmptbWNKY01ucwpyVC9G
94+
THZROHpBMVY4TlJ6ekJQM2VKV3QwQzVIOC9YTmZlU2lXZDRVLzB1MHUzbjlCUEJaNlVtRjhVTnk1
95+
Z3NWClBlRmRRYzc4UU9lMjlDTDkrK0srbzBhL3JoTU5hWW5ialJwcExJQVg5SkNJMXV5OFpPRUpa
96+
NlhFZ3ExM2NuQXoKNmcwRXVGTXZELzk1d1FPYTc1VVI4ZEFNdUloMTFLbWcyOUExMnppUFJPNUNQ
97+
MGdmU044b2lQdjlxNGFteWpKdwpLMHo4b3I4L2pQaTFDLzMwMG85WDJjMzlldjMxWmNjY3hxN214
98+
S0d0R0xwdUpSNldTNFZpbmd6cDljZGFFQWg4Cllhd0NJVjFPOGlXYnB2c1ZCTGR4UmNMLzRiMTJk
99+
OG5HcGdkbE4yc3NZMDhUejdMT1psRGlob2sxbWF6QjFXSS8KRTByQzRYTC9tQVc1Y2UvUEQxbHcx
100+
YmZvaUZsbHozNURMN1p0NVpIZTM2azRTUm5VdHhQRjArTU1YOStrVm1HQwp4NUovRFNLaFYxSHNJ
101+
Ry9DS0xEZ1NTa2hmNFd3bnFTWUhIbGxsK2dveTdyRUEyanNObVd2WGU1aW1oczVPSTROCmFHNUdk
102+
b2wvY0FHZ3M2MmtWODN4aktSNHVXOFpxVUxPVVNWNHFjbWxIL0hEdis2aFYwQUtJbEN3TUxldWJq
103+
KzAKd1o5Ynl6cU0xeEF5S3kzc1hxYlNkL1hzcDBEcUMvZm1hMXFuVUJiWlNKdy9EdVByR1BzOGpQ
104+
ODlwZm5aeTFHaQpRSk12TWN4K1Q2enJ2VjZqUkF4Z3EzWkgzWG5NdU5UbmUxWGFOeTB3SHY0YmF2
105+
SlJGQUtWdnhHcGphbURMMnBVClRYblJOSW1tNDc3eWZQK3hWcXpLS3o3STRCbTVGTS9LNFUxbitO
106+
OEViNWF4NitpT2FGSU9jVmpHR01lek5GNUgKemdrWjFGQTlwNkJuQllEQkh6N1VoNzNyRHhVYTBz
107+
Z2VPVHV2U1dyMnpOS3hGNkFQbnJFR1k2Qi9wV1pranJrQQphaXRiY1NCVVRxaHZCblhvMi9pajRw
108+
SVY1QXM2OFRFakMxNWNkUzEwVG5EYkxhMFgwTXpRN1E9PQo9V0l0YgotLS0tLUVORCBQR1AgUFJJ
109+
VkFURSBLRVkgQkxPQ0stLS0tLQo=
110+
"

0 commit comments

Comments
 (0)