@@ -2,7 +2,7 @@ name: "Canary Build"
22
33on :
44 schedule :
5- - cron : ' 0 0 * * 0' # Run weekly on Sunday at midnight
5+ - cron : " 0 0 * * 0" # Run weekly on Sunday at midnight
66 workflow_dispatch :
77 pull_request :
88 branches :
@@ -19,70 +19,47 @@ jobs:
1919 timeout-minutes : 75
2020 strategy :
2121 matrix :
22- python-version : [ "3.13" ]
22+ python-version : ["3.13"]
2323 steps :
2424 - name : Checkout code
2525 uses : actions/checkout@v4
2626 - name : Set up Python ${{ matrix.python-version }}
2727 uses : actions/setup-python@v5
2828 with :
2929 python-version : ${{ matrix.python-version }}
30-
31- - name : Install Homebrew
32- run : |
33- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
34- brew install swig doxygen
35-
36- - name : " Create virtual Environment"
37- run : python3 -m venv .venv
38- - name : " Capture initial package versions"
30+ - name : Capture initial package versions
3931 run : |
40- source .venv/bin/activate
4132 pip freeze > initial_versions.txt
4233 echo "Initial package versions:" >> $GITHUB_STEP_SUMMARY
4334 cat initial_versions.txt >> $GITHUB_STEP_SUMMARY
4435 echo "\n" >> $GITHUB_STEP_SUMMARY
45-
46- - name : " Install canary requirements"
47- run : |
48- source .venv/bin/activate
49- pip3 install -r .github/workflows/requirements.txt
50- pip3 install -r .github/workflows/requirements_dev.txt
51- pip3 install -r .github/workflows/requirements_doc.txt
52- pip3 install pytest-error-for-skips
53-
54- - name : " Capture final package versions"
36+ - name : Build Basilisk
37+ uses : ./.github/actions/build
38+ with :
39+ python-version : ${{ matrix.python-version }}
40+ build-mode : conan
41+ conan-args : --opNav True --allOptPkg --mujoco True --mujocoReplay True --recorderPropertyRollback True --pyPkgCanary True
42+ is-canary : true
43+ install-doc-reqs : true
44+ - name : Capture final package versions
5545 run : |
56- source .venv/bin/activate
5746 pip freeze > final_versions.txt
5847 echo "Final package versions:" >> $GITHUB_STEP_SUMMARY
5948 cat final_versions.txt >> $GITHUB_STEP_SUMMARY
6049 echo "\n" >> $GITHUB_STEP_SUMMARY
6150 echo "Package version changes:" >> $GITHUB_STEP_SUMMARY
6251 diff -u initial_versions.txt final_versions.txt | grep -E '^[+-]' | grep -v '^+++' | grep -v '^---' >> $GITHUB_STEP_SUMMARY
63-
64- - name : " Build basilisk with latest dependencies"
65- run : source .venv/bin/activate && python3 conanfile.py --opNav True --allOptPkg --mujoco True --mujocoReplay True --pyPkgCanary True
66-
67- - name : " Run Python Tests"
68- run : |
69- source .venv/bin/activate
70- cd src
71- pytest -n auto -m "not ciSkip" -rs --error-for-skips --dist=loadscope -v
52+ - name : Run Python Tests
53+ working-directory : src
54+ run : pytest -n auto -m "not ciSkip" -rs --error-for-skips --dist=loadscope -v
7255 if : ${{ always() }}
73- - name : " Run C/C++ Tests"
56+ - name : Run C/C++ Tests
7457 working-directory : ./dist3
7558 run : ctest -C Release
7659 if : ${{ always() }}
77-
78- - name : " Build Documentation"
79- run : |
80- source .venv/bin/activate
81- cd docs
82- make html SPHINXOPTS="-W"
83- if : ${{ always() }}
84-
85- - name : " Upload package version logs"
60+ - name : Build docs
61+ uses : ./.github/actions/docs
62+ - name : Upload package version logs
8663 if : always()
8764 uses : actions/upload-artifact@v4
8865 with :
0 commit comments