haystack/.github/workflows/readme_sync.yml
2022-10-20 16:50:36 +02:00

59 lines
2.0 KiB
YAML

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 }}