# Copyright (c) 2023, Arm Limited. All rights reserved
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Configuration file for the readthedocs deploy
# Available at https://trustedfirmware-a.readthedocs.io/en/latest/


# readthedocs config version
version: 2

build:
  os: ubuntu-22.04 # Ubuntu Jammy LTS
  tools:
    python: "3.10"
  apt_packages:
    - plantuml
  jobs:
    post_create_environment:
      - pip install poetry=="1.3.2"
      - poetry config virtualenvs.create false
    post_install:
      - poetry install --with doc

sphinx:
  configuration: docs/conf.py

# Auxiliary formats to export to (in addition to the default HTML output).
formats:
  - pdf

