name: Sync docs with Readme on: push: branches: - main # release branches have the form v1.9.x - 'v[0-9].*[0-9].x' jobs: sync: runs-on: ubuntu-latest steps: - name: Checkout this repo uses: actions/checkout@v3 - name: Set up Python 3.8.10 uses: actions/setup-python@v2 with: python-version: 3.8.10 - name: Install dependencies run: | python -m pip install --upgrade pip pip install pydoc-markdown==4.5.1 - name: Generate API docs run: ./.github/utils/pydoc-markdown.sh - name: Get current version id: current-version shell: bash # We only need `major.minor` in Readme so we cut the full version string to the first two tokens run: echo "::set-output name=minor::$(cat VERSION.txt | cut -d "." -f 1,2)" - name: Sync docs with unstable release # Instead of putting more logic into the previous step, let's just assume that commits on `main` # will always be synced to the current `X.Y-unstable` version on Readme id: sync-main if: github.ref_name == 'main' uses: readmeio/rdme@7.2.0 env: README_API_KEY: ${{ secrets.README_API_KEY }} with: rdme: docs ./docs/_src/api/api/temp --key="$README_API_KEY" --version=${{ steps.current-version.outputs.minor }}-unstable - name: Sync docs with current release # Mutually exclusive with the previous one, this step is supposed to only run on version branches. # Sync the current Haystack version `X.Y.Z` with its corresponding Readme version `X.Y`. # See https://docs.github.com/en/actions/learn-github-actions/contexts#steps-context for the condition used if: steps.sync-main.outcome == 'skipped' uses: readmeio/rdme@7.2.0 env: README_API_KEY: ${{ secrets.README_API_KEY }} with: rdme: docs ./docs/_src/api/api/temp --key="$README_API_KEY" --version=${{ steps.current-version.outputs.minor }}