name: Docs Tests on: push: branches: - main pull_request: types: [opened, synchronize, labeled] concurrency: group: ci-docs-tests-${{ github.ref }} # branch name cancel-in-progress: true env: DEFAULT_PYTHON_VERSION: "3.10" jobs: changes: name: Check for file changes runs-on: ubuntu-24.04 outputs: docs: ${{ steps.filter.outputs.docs }} steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 id: filter with: token: ${{ secrets.GITHUB_TOKEN }} filters: .github/change_filters.yml test_documentation: name: Test Documentation runs-on: ubuntu-24.04 needs: [changes] if: needs.changes.outputs.docs == 'true' && false # disabled as docs are moved out in new versions steps: - name: Checkout git repository 🕝 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - name: Set up Python ${{ env.DEFAULT_PYTHON_VERSION }} 🐍 uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b with: python-version: ${{ env.DEFAULT_PYTHON_VERSION }} - name: Set up Node 12.x 🦙 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c with: node-version: "12.x" - name: Read Poetry Version 🔢 run: | echo "POETRY_VERSION=$(scripts/poetry-version.sh)" >> $GITHUB_ENV shell: bash - name: Install poetry 🦄 uses: Gr1N/setup-poetry@15821dc8a61bc630db542ae4baf6a7c19a994844 # v8 with: poetry-version: ${{ env.POETRY_VERSION }} - name: Load Poetry Cached Libraries ⬇ id: cache-poetry uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: .venv key: ${{ runner.os }}-poetry-${{ env.POETRY_VERSION }}-${{ env.DEFAULT_PYTHON_VERSION }}-${{ hashFiles('**/poetry.lock') }}-${{ secrets.POETRY_CACHE_VERSION }} restore-keys: ${{ runner.os }}-poetry-${{ env.DEFAULT_PYTHON_VERSION }} - name: Clear Poetry cache if: steps.cache-poetry.outputs.cache-hit == 'true' && contains(github.event.pull_request.labels.*.name, 'tools:clear-poetry-cache-docs-tests') run: rm -r .venv - name: Create virtual environment if: (steps.cache-poetry.outputs.cache-hit != 'true' || contains(github.event.pull_request.labels.*.name, 'tools:clear-poetry-cache-docs-tests')) run: python -m venv create .venv - name: Set up virtual environment if: needs.changes.outputs.docs == 'true' run: poetry config virtualenvs.in-project true - name: Load Yarn Cached Packages ⬇ uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: docs/node_modules key: ${{ runner.os }}-yarn-12.x-${{ hashFiles('docs/yarn.lock') }} restore-keys: ${{ runner.os }}-yarn-12.x - name: Install Dependencies 📦 run: | sudo apt-get -y install libpq-dev make install-full install-docs - name: Run Swagger 🕵️‍♀️ run: | npm install -g swagger-cli swagger-cli validate docs/static/spec/action-server.yml swagger-cli validate docs/static/spec/rasa.yml - name: Test Docs 🕸 run: make test-docs documentation_lint: name: Documentation Linting Checks runs-on: ubuntu-24.04 needs: [changes] if: needs.changes.outputs.docs == 'true' && false # disabled as docs are moved out in new versions steps: - name: Checkout git repository 🕝 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - name: Set up Python ${{ env.DEFAULT_PYTHON_VERSION }} 🐍 uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b with: python-version: ${{ env.DEFAULT_PYTHON_VERSION }} - name: Set up Node 12.x 🦙 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c with: node-version: "12.x" - name: Read Poetry Version 🔢 run: | echo "POETRY_VERSION=$(scripts/poetry-version.sh)" >> $GITHUB_ENV shell: bash - name: Install poetry 🦄 uses: Gr1N/setup-poetry@15821dc8a61bc630db542ae4baf6a7c19a994844 # v8 with: poetry-version: ${{ env.POETRY_VERSION }} - name: Load Poetry Cached Libraries ⬇ id: cache-poetry uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: .venv key: ${{ runner.os }}-poetry-${{ env.POETRY_VERSION }}-${{ env.DEFAULT_PYTHON_VERSION }}-${{ hashFiles('**/poetry.lock') }}-${{ secrets.POETRY_CACHE_VERSION }} restore-keys: ${{ runner.os }}-poetry-${{ env.DEFAULT_PYTHON_VERSION }} - name: Clear Poetry cache if: steps.cache-poetry.outputs.cache-hit == 'true' && contains(github.event.pull_request.labels.*.name, 'tools:clear-poetry-cache-docs-tests') run: rm -r .venv - name: Create virtual environment if: (steps.cache-poetry.outputs.cache-hit != 'true' || contains(github.event.pull_request.labels.*.name, 'tools:clear-poetry-cache-docs-tests')) run: python -m venv create .venv - name: Set up virtual environment if: needs.changes.outputs.docs == 'true' run: poetry config virtualenvs.in-project true - name: Load Yarn Cached Packages ⬇ uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: docs/node_modules key: ${{ runner.os }}-yarn-12.x-${{ hashFiles('docs/yarn.lock') }} restore-keys: ${{ runner.os }}-yarn-12.x - name: Install Dependencies 📦 run: | sudo apt-get -y install libpq-dev make install-full install-docs - name: Docs Linting Checks 🕸 run: make lint-docs