Skip to content

Modify Docs structure #2072

Modify Docs structure

Modify Docs structure #2072

Workflow file for this run

name: Documentation
on:
push:
branches:
- develop
pull_request:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
env:
HAS_SECRETS: ${{ secrets.AWS_SECRET_ACCESS_KEY != '' }}
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --fix-missing libsqlite3-mod-spatialite libspatialite-dev pandoc
sudo apt-get install latexmk texlive-xetex texlive-latex-extra fonts-freefont-otf xindy
python -m pip install --upgrade pip
pip install wheel openmatrix pytest
pip install -r requirements.txt
pip install -r docs/requirements-docs.txt
- name: Compile library
run: |
python setup.py build_ext --inplace
pip install .
- name: Check history of versions
run: |
python docs/table_documentation.py
python docs/create_docs_data.py
python docs/website/check_documentation_versions.py
- name: Test docstrings
run: |
python -m pytest --doctest-modules aequilibrae/distribution --ignore=aequilibrae/distribution/setup_ipf.py
python -m pytest --doctest-modules aequilibrae/matrix
python -m pytest --doctest-modules aequilibrae/paths --ignore=aequilibrae/paths/setup_assignment.py
python -m pytest --doctest-modules aequilibrae/project
python -m pytest --doctest-modules aequilibrae/log.py aequilibrae/parameters.py
python -m pytest --doctest-modules aequilibrae/transit
python -m pytest --doctest-glob=*.rst docs/source/project_components
python -m pytest --doctest-glob=*.rst docs/source/traffic_assignment
- name: Prepare links for DEV
if: ${{ (github.event_name == 'pull_request') && (env.HAS_SECRETS == 'true') }}
run: |
python -c "from docs.replace_regex import replace_regex; replace_regex(f'dev/{${{ github.event.number }}}')"
- name: Prepare links for DEVELOP
if: ${{ (github.ref == 'refs/heads/develop') && (github.event_name == 'push')}}
run: |
python -c "from docs.replace_regex import replace_regex; replace_regex('develop')"
- name: Build documentation
run: |
jupyter nbconvert --to rst docs/source/distribution_procedures/IPF_benchmark.ipynb
sphinx-build -M latexpdf docs/source docs/source/_static -D plot_gallery=False
sphinx-build -D plot_gallery=False -b html docs/source docs/build
python -m zipfile -c AequilibraE.zip docs/build
cp AequilibraE.zip docs/source/_static
cp large_icon.png docs/source/_static/large_icon.png
cd docs
make html
- name: Upload python to DEV on S3
if: ${{ (github.event_name == 'pull_request') && (env.HAS_SECRETS == 'true') }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete --exclude 'home.html'
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1' # optional: defaults to us-east-1
SOURCE_DIR: 'docs/build/html/' # optional: defaults to entire repository
DEST_DIR: 'dev/${{ github.event.number }}/python/' # optional: defaults to entire repository
- name: Upload home page to DEV on S3
if: ${{ (github.event_name == 'pull_request') && (env.HAS_SECRETS == 'true') }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --exclude '*' --include 'home.html' --include '_images/sponsor*' --include '_images/banner*' --include '_static/*' --include 'search*' --include 'genindex.html' --include '_sphinx_design_static/*'
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1' # optional: defaults to us-east-1
SOURCE_DIR: 'docs/build/html/'
DEST_DIR: 'dev/${{ github.event.number }}/' # optional: defaults to entire repository
- name: Upload python to DEVELOP on S3
if: ${{ (github.ref == 'refs/heads/develop') && (github.event_name == 'push') && (env.HAS_SECRETS == 'true') }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete --exclude 'home.html'
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1' # optional: defaults to us-east-1
SOURCE_DIR: 'docs/build/html/' # optional: defaults to entire repository
DEST_DIR: 'develop/python/' # optional: defaults to entire repository
- name: Upload home page to DEVELOP on S3
if: ${{ (github.ref == 'refs/heads/develop') && (github.event_name == 'push') && (env.HAS_SECRETS == 'true') }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --exclude '*' --include 'home.html' --include '_images/sponsor*' --include '_images/banner*' --include '_static/*' --include 'search*' --include 'genindex.html' --include '_sphinx_design_static/*'
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1' # optional: defaults to us-east-1
SOURCE_DIR: 'docs/build/html/'
DEST_DIR: 'develop/' # optional: defaults to entire repository
- name: Upload python to LATEST on S3
if: ${{ (github.event_name == 'release') && (env.HAS_SECRETS == 'true') }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete --exclude 'home.html'
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1' # optional: defaults to us-east-1
SOURCE_DIR: 'docs/build/html/' # optional: defaults to entire repository
DEST_DIR: 'latest/python/' # optional: defaults to entire repository
- name: Upload home page to LATEST on S3
if: ${{ (github.event_name == 'release') && (env.HAS_SECRETS == 'true') }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --exclude '*' --include 'home.html' --include '_images/sponsor*' --include '_images/banner*' --include '_static/*' --include 'search*' --include 'genindex.html' --include '_sphinx_design_static/*'
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1' # optional: defaults to us-east-1
SOURCE_DIR: 'docs/build/html/'
DEST_DIR: 'latest/' # optional: defaults to entire repository
- name: Create Documentation history folder
if: ${{ github.event_name == 'release'}}
run: python docs/website/redir.py
- name: Upload documentation to history folder
if: ${{ (github.event_name == 'release') && (env.HAS_SECRETS == 'true') }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --exclude '*.py'
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1' # optional: defaults to us-east-1
SOURCE_DIR: 'docs/website/' # optional: defaults to entire repository
DEST_DIR: 'docs/python/' # optional: defaults to entire repository