Check and document build requirements for Sphinx venv #53
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The purpose of this workflow file is to confirm that the Sphinx | |
# virtual environment can be built from source, consequently documenting | |
# the packages required in the build environment to do that. | |
# | |
# This is needed because some projects embeds the documentation into built | |
# artifacts which involves rendering the documentation on the target | |
# architecture. | |
# | |
# Depending on the architecture, pip may or may not have already built wheels | |
# available, and as such we need to make sure building wheels from source can | |
# succeed. | |
name: Check and document build requirements for Sphinx venv | |
on: | |
schedule: | |
- cron: "0 2 * * 1,5" # Runs at 02:00 AM on every Monday and Friday. | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: build | |
runs-on: [linux, self-hosted, x64, large, jammy] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
set -ex | |
sudo apt -y update | |
sudo apt -y install \ | |
cargo \ | |
libpython3-dev \ | |
libxml2-dev \ | |
libxslt1-dev \ | |
make \ | |
python3-venv \ | |
rustc | |
- name: Install local Juju to generate CLI docs | |
shell: bash | |
run: | | |
make go-install | |
- name: Build Sphinx venv | |
run: | | |
set -ex | |
cd docs | |
make -f Makefile.sp \ | |
sp-install \ | |
PIPOPTS="--no-binary :all:" \ | |
|| ( cat .sphinx/venv/pip_install.log && exit 1 ) |