1515 strategy :
1616 fail-fast : false
1717 matrix :
18- freecad : ["1.0.* ", "1.1.* "]
18+ freecad : ["1.0.2 ", "1.1.1 "]
1919
2020 defaults :
2121 run :
@@ -25,11 +25,24 @@ jobs:
2525 - name : Check out repository
2626 uses : actions/checkout@v7
2727
28- - name : Install FreeCAD ${{ matrix.freecad }}
29- uses : mamba-org/setup-micromamba@v3
28+ - name : Cache FreeCAD executables
29+ id : cache-freecad
30+ uses : actions/cache@v6
3031 with :
31- environment-name : freecad-ci
32- create-args : freecad=${{ matrix.freecad }}
32+ path : FreeCAD.AppImage
33+ key : freecad-cache-${{ matrix.freecad }}
34+
35+ - name : Download FreeCAD 1.1.1 AppImage
36+ if : steps.cache-freecad.outputs.cache-hit != 'true' && matrix.freecad == '1.1.1'
37+ run : |
38+ curl -o FreeCAD.AppImage https://github.com/FreeCAD/FreeCAD/releases/download/1.1.1/FreeCAD_1.1.1-Linux-x86_64-py311.AppImage
39+ chmod +x FreeCAD.AppImage
40+
41+ - name : Download FreeCAD 1.0.2 AppImage
42+ if : steps.cache-freecad.outputs.cache-hit != 'true' && matrix.freecad == '1.0.2'
43+ run : |
44+ curl -o FreeCAD.AppImage https://github.com/FreeCAD/FreeCAD/releases/download/1.0.2/FreeCAD_1.0.2-conda-Linux-x86_64-py311.AppImage
45+ chmod +x FreeCAD.AppImage
3346
3447 - name : Install virtual display
3548 run : sudo apt-get update && sudo apt-get install --yes xvfb
4457 git clone https://github.com/Rahix/ffDesign_TestData.git "$GITHUB_WORKSPACE/ffDesign_TestData"
4558
4659 - name : Run FreeCAD tests
47- shell : micromamba-shell {0}
4860 run : |
4961 set -o pipefail
50- freecad_executable="$(command -v FreeCAD || command -v freecad)"
51- xvfb-run -a "$freecad_executable" -t ffDesign_Tests 2>&1 | tee freecad-tests.log
62+ xvfb-run -a ./FreeCAD.AppImage -t ffDesign_Tests 2>&1 | tee freecad-tests.log
5263 ! grep -q "Traceback (most recent call last)" freecad-tests.log
0 commit comments