haystack/.github/workflows/promote_unstable_docs.yml
Guna Palanivel 9952940ba7
chore!: drop Python 3.9 support due to EOL (#10244)
* feat!: drop Python 3.9 support due to EOL

Remove Python 3.9 support following its end-of-life in October 2025.
Minimum required version is now Python 3.10.

BREAKING CHANGE: Python 3.10 or later is now required

Changes:
- Update pyproject.toml requires-python to >=3.10
- Remove Python 3.9 from pyproject.toml classifiers
- Update CI workflows to test Python 3.10 as minimum
- Update mypy python_version to 3.10
- Migrate TypeAlias from typing_extensions to typing stdlib
- Remove blis version pin (only needed for Python 3.9)
- Update CONTRIBUTING.md Python version requirements
- Add release note documenting breaking change

Closes #9854

* small fixes

* update relnote

---------

Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2025-12-16 19:00:00 +01:00

58 lines
2.0 KiB
YAML

name: Release new minor version docs
on:
push:
tags:
# Trigger this only for the first patch release of the new minor
- "v[0-9]+.[0-9]+.0"
# Exclude 1.x tags
- "!v1.[0-9]+.[0-9]+"
env:
PYTHON_VERSION: "3.10"
jobs:
promote:
runs-on: ubuntu-slim
steps:
- name: Checkout this repo
uses: actions/checkout@v6
# use VERSION.txt file from main branch
with:
ref: main
- name: Get version to release
id: version
shell: bash
# We only need `major.minor`. At this point, VERSION.txt contains the next version.
# For example, if we are releasing 2.20.0, VERSION.txt contains 2.21.0-rc0.
run: |
MAJOR=$(cut -d "." -f 1 < VERSION.txt)
MINOR=$(cut -d "." -f 2 < VERSION.txt)
MINOR=$((MINOR - 1))
echo "version=${MAJOR}.${MINOR}" >> "$GITHUB_OUTPUT"
- uses: actions/setup-python@v6
with:
python-version: "${{ env.PYTHON_VERSION }}"
- name: Promote unstable docs for Docusaurus
run: |
python ./.github/utils/promote_unstable_docs_docusaurus.py --version ${{ steps.version.outputs.version }}
- name: Create Pull Request with Docusaurus docs updates
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.HAYSTACK_BOT_TOKEN }}
commit-message: "Promote unstable docs for Haystack ${{ steps.version.outputs.version }}"
branch: promote-unstable-docs-${{ steps.version.outputs.version }}
base: main
title: "docs: promote unstable docs for Haystack ${{ steps.version.outputs.version }}"
add-paths: |
docs-website
body: |
This PR promotes the unstable docs for Haystack ${{ steps.version.outputs.version }} to stable.
It is expected to run at the time of the release.
You can inspect the docs preview and merge it. There should now be only one unstable version representing the next (main) branch.
reviewers: "${{ github.actor }}"