@@ -23,12 +23,15 @@ jobs:
2323 - os : windows-2022
2424 generator : " Visual Studio 17 2022"
2525 pretty : " Windows"
26+ # - os: macos-15
27+ # generator: "Unix Makefiles"
28+ # pretty: 'Mac arm64'
2629
2730 runs-on : ${{ matrix.os }}
2831
2932 steps :
3033 - name : Checkout EnergyPlus
31- uses : actions/checkout@v5
34+ uses : actions/checkout@v6
3235
3336 - name : Set up Python 3.12
3437 uses : actions/setup-python@v6
3942 if : runner.os == 'Linux'
4043 run : sudo apt update && sudo apt install -y texlive texlive-xetex texlive-science poppler-utils
4144
45+ - name : Setup up LaTeX on Mac
46+ if : runner.os == 'macOS'
47+ run : |
48+ echo "Using brew to install basictex and adding it to PATH"
49+ brew install --cask basictex
50+ echo "/Library/TeX/texbin" >> $GITHUB_PATH
51+ brew install poppler
52+
4253 - name : Set up LaTeX on Windows
4354 if : runner.os == 'Windows'
4455 run : |
@@ -100,6 +111,19 @@ jobs:
100111 fi;
101112 echo "TOC is available for pass NO.2"
102113
114+ - name : Preinstall Packages on macOS
115+ if : runner.os == 'macOS'
116+ working-directory : ./doc/test
117+ run : |
118+ sudo tlmgr update --self
119+ # Just install these, since I now know what we need
120+ sudo tlmgr install enumitem framed multirow siunitx
121+ # sudo tlmgr list --only-installed --data name > ori_installed.lst
122+ # sudo tlmgr install texliveonfly
123+ # sudo texliveonfly --compiler=xelatex dependencies.tex
124+ # sudo tlmgr list --only-installed --data name > new_installed.lst
125+ # python -c "from pathlib import Path; ori_lines = set(Path('./ori_installed.lst').read_text().splitlines()); new_lines = set(Path('./new_installed.lst').read_text().splitlines()); new_pkgs = new_lines - ori_lines; print([x for x in new_pkgs if not x.startswith('texliveonfly')])"
126+
103127 - name : Create Build Environment
104128 run : cmake -E make_directory ./doc/build
105129
@@ -115,78 +139,78 @@ jobs:
115139 run : cmake --build . -j 4
116140
117141 - name : Upload EngineeringReference
118- uses : actions/upload-artifact@v4
142+ uses : actions/upload-artifact@v6
119143 if : matrix.os == 'ubuntu-24.04'
120144 with :
121145 name : EngineeringReference
122146 path : ${{ github.workspace }}/doc/build/pdf/EngineeringReference.pdf
123147
124148 - name : Upload ExternalInterfacesApplicationGuide
125- uses : actions/upload-artifact@v4
149+ uses : actions/upload-artifact@v6
126150 if : matrix.os == 'ubuntu-24.04'
127151 with :
128152 name : ExternalInterfacesApplicationGuide
129153 path : ${{ github.workspace }}/doc/build/pdf/ExternalInterfacesApplicationGuide.pdf
130154
131155 - name : Upload GettingStarted
132- uses : actions/upload-artifact@v4
156+ uses : actions/upload-artifact@v6
133157 if : matrix.os == 'ubuntu-24.04'
134158 with :
135159 name : GettingStarted
136160 path : ${{ github.workspace }}/doc/build/pdf/GettingStarted.pdf
137161
138162 - name : Upload InputOutputReference
139- uses : actions/upload-artifact@v4
163+ uses : actions/upload-artifact@v6
140164 if : matrix.os == 'ubuntu-24.04'
141165 with :
142166 name : InputOutputReference
143167 path : ${{ github.workspace }}/doc/build/pdf/InputOutputReference.pdf
144168
145169 - name : Upload InterfaceDeveloper
146- uses : actions/upload-artifact@v4
170+ uses : actions/upload-artifact@v6
147171 if : matrix.os == 'ubuntu-24.04'
148172 with :
149173 name : InterfaceDeveloper
150174 path : ${{ github.workspace }}/doc/build/pdf/InterfaceDeveloper.pdf
151175
152176 - name : Upload ModuleDeveloper
153- uses : actions/upload-artifact@v4
177+ uses : actions/upload-artifact@v6
154178 if : matrix.os == 'ubuntu-24.04'
155179 with :
156180 name : ModuleDeveloper
157181 path : ${{ github.workspace }}/doc/build/pdf/ModuleDeveloper.pdf
158182
159183 - name : Upload OutputDetailsAndExamples
160- uses : actions/upload-artifact@v4
184+ uses : actions/upload-artifact@v6
161185 if : matrix.os == 'ubuntu-24.04'
162186 with :
163187 name : OutputDetailsAndExamples
164188 path : ${{ github.workspace }}/doc/build/pdf/OutputDetailsAndExamples.pdf
165189
166190 - name : Upload PlantApplicationGuide
167- uses : actions/upload-artifact@v4
191+ uses : actions/upload-artifact@v6
168192 if : matrix.os == 'ubuntu-24.04'
169193 with :
170194 name : PlantApplicationGuide
171195 path : ${{ github.workspace }}/doc/build/pdf/PlantApplicationGuide.pdf
172196
173197 - name : Upload UsingEnergyPlusForCompliance
174- uses : actions/upload-artifact@v4
198+ uses : actions/upload-artifact@v6
175199 if : matrix.os == 'ubuntu-24.04'
176200 with :
177201 name : UsingEnergyPlusForCompliance
178202 path : ${{ github.workspace }}/doc/build/pdf/UsingEnergyPlusForCompliance.pdf
179203
180204 - name : Upload entire pdf folder
181- uses : actions/upload-artifact@v4
182- if : always() && matrix.os == 'ubuntu-24.04'
205+ uses : actions/upload-artifact@v6
206+ if : always()
183207 with :
184- name : " AllDocumentation-${{ github.event.pull_request.head.sha }}"
208+ name : " AllDocumentation-${{ matrix.os }}-${{ github.event.pull_request.head.sha }}"
185209 path : ${{ github.workspace }}/doc/build/pdf/
186210
187211 - name : Upload log folder upon failure
188212 if : failure() && runner.os == 'Windows'
189- uses : actions/upload-artifact@v4
213+ uses : actions/upload-artifact@v6
190214 with :
191215 name : Xelatex_Logs_after_all
192216 path : C:\Users\runneradmin\AppData\Local\MiKTeX\miktex\log\
0 commit comments