Skip to content

Updates to BSK Documentation System #122

Updates to BSK Documentation System

Updates to BSK Documentation System #122

name: "Pull Request Closed"
on:
pull_request:
types:
- closed
branches:
- develop
workflow_dispatch:
jobs:
if_merged:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Pull repo
uses: actions/checkout@v4
with:
ref: develop
fetch-depth: 0
token: ${{ secrets.BOT_ACCESS_TOKEN }}
- name: Bump version
run: ./.github/workflows/version-bumper.sh ./docs/source/bskVersion.txt
- name: Commit and push
run: |
git config user.name "AVSlabBot"
git config user.email "[email protected]"
git commit -a -m "[AUTO] Bump version number"
git push
wait_for_version_bump:
name: Wait for version bump
needs: if_merged
# run even if the version bump failed. If the merge is from an external fork the bump fails.
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Wait for version number to be bumped
run: sleep 15
build-ubuntu-latest-wheels:
name: Build ubuntu-latest wheels
needs: wait_for_version_bump
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: "Install swig and cmake"
run: sudo apt-get update && sudo apt-get install build-essential swig cmake -y
- name: "Install python packages"
run: sudo apt-get install python3-setuptools python3-tk python3-venv
- name: "Create virtual Environment"
run: python3 -m venv .venv
- name: "Build basilisk"
run: |
source .venv/bin/activate
pip wheel . -v --wheel-dir /tmp/wheelhouse
- uses: actions/upload-artifact@v4
with:
name: basilisk-wheels_ubuntu-latest_python${{ matrix.python-version }}
path: /tmp/wheelhouse/**/Basilisk*.whl
build_documentation:
name: macOS Docs Deployment
needs: wait_for_version_bump
runs-on: macos-14
strategy:
matrix:
python-version: [ "3.11" ]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Homebrew
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install swig doxygen
- name: "Create virtual Environment"
run: python3 -m venv .venv
- name: "Install wheel and conan package"
run: |
source .venv/bin/activate
pip3 install wheel 'conan<2.0' cmake
- name: "Build basilisk with OpNav"
run: source .venv/bin/activate && python3 conanfile.py --opNav True --allOptPkg
- name: "Run Python Tests"
run: |
source .venv/bin/activate
cd src
pytest -n auto -m "not ciSkip"
- name: "Build Documentation"
run: |
source .venv/bin/activate
cd docs
make html SPHINXOPTS="-W"
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/build/html
force_orphan: true