name: Deploy to GitHub Pages on: push: branches: - main - release/* pull_request: types: [opened, synchronize, reopened, closed] branches: - develop - "docs/*" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: generate: name: Generate and Deploy documentation if: > github.event_name == 'push' || (github.event_name == 'pull_request' && startsWith(github.head_ref, 'docs/')) runs-on: ubuntu-latest steps: - name: Git checkout uses: actions/checkout@v3 # actions/checkout v3.0.2 - name: Setup Python 3.9 uses: actions/setup-python@v4 with: python-version: "3.9" architecture: x64 - name: Install Poetry uses: snok/install-poetry@v1 with: version: 1.4.0 virtualenvs-create: true virtualenvs-in-project: true - name: Setup sudo apt installs for ubuntu-latest run: | sudo apt-get update sudo apt-get install -y \ libgtk-3-dev \ libwebkit2gtk-4.0-dev - name: Install dependencies run: poetry install --no-interaction --no-root - name: Install packages run: poetry install --no-interaction -E forecast -E doc -E optimization - name: Generate SDK v3 Markdown run: | source .venv/bin/activate pip uninstall Brotli -y pytest tests/website --autodoc poetry run python website/generate_sdk_v3_markdown.py poetry run python website/generate_terminal_v3_markdown.py - name: Generate Platform Markdown run: | source .venv/bin/activate pip install -U poetry poetry run python openbb_platform/dev_install.py -e all pip uninstall nbmake -y poetry run python website/generate_platform_v4_markdown.py - name: Generate Excel Docs run: | source .venv/bin/activate poetry run python website/generate_excel_markdown.py - name: Generate Widgets Library run: | source .venv/bin/activate poetry run python website/generate_widgets_library.py - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18 cache: yarn cache-dependency-path: website/yarn.lock - name: Install dependencies run: yarn install working-directory: website - name: Build website run: yarn build working-directory: website # Popular action to deploy to GitHub Pages: # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 if: > (startsWith(github.ref, 'refs/heads/main')) || (github.event_name == 'pull_request' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'develop' && startsWith(github.head_ref, 'docs/')) with: github_token: ${{ secrets.DEPLOY_TOKEN }} publish_dir: ./website/build # The following lines assign commit authorship to the official # GH-Actions bot for deploys to `gh-pages` branch: # https://github.com/actions/checkout/issues/13#issuecomment-724415212 # The GH actions bot is used by default if you didn't specify the two fields. # You can swap them out with your own user credentials. user_name: github-actions[bot] user_email: 41898282+github-actions[bot]@users.noreply.github.com