mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-02 19:47:13 +00:00
infra: configurable scheduled tests (#28486)
This commit is contained in:
61
.github/workflows/scheduled_test.yml
vendored
61
.github/workflows/scheduled_test.yml
vendored
@@ -2,33 +2,70 @@ name: Scheduled tests
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch: # Allows to trigger the workflow manually in GitHub UI
|
workflow_dispatch: # Allows to trigger the workflow manually in GitHub UI
|
||||||
|
inputs:
|
||||||
|
working-directory-force:
|
||||||
|
type: string
|
||||||
|
description: "From which folder this pipeline executes - defaults to all in matrix - example value: libs/partners/anthropic"
|
||||||
|
python-version-force:
|
||||||
|
type: string
|
||||||
|
description: "Python version to use - defaults to 3.9 and 3.11 in matrix - example value: 3.9"
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 13 * * *'
|
- cron: '0 13 * * *'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
POETRY_VERSION: "1.8.4"
|
POETRY_VERSION: "1.8.4"
|
||||||
|
DEFAULT_LIBS: >
|
||||||
|
[
|
||||||
|
"libs/partners/openai",
|
||||||
|
"libs/partners/anthropic",
|
||||||
|
"libs/partners/fireworks",
|
||||||
|
"libs/partners/groq",
|
||||||
|
"libs/partners/mistralai",
|
||||||
|
"libs/partners/google-vertexai",
|
||||||
|
"libs/partners/google-genai",
|
||||||
|
"libs/partners/aws"
|
||||||
|
]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
compute-matrix:
|
||||||
|
if: github.repository_owner == 'langchain-ai' || github.event_name != 'schedule'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Compute matrix
|
||||||
|
outputs:
|
||||||
|
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||||
|
steps:
|
||||||
|
- name: Set matrix
|
||||||
|
id: set-matrix
|
||||||
|
env:
|
||||||
|
DEFAULT_LIBS: ${{ env.DEFAULT_LIBS }}
|
||||||
|
WORKING_DIRECTORY_FORCE: ${{ github.event.inputs.working-directory-force || '' }}
|
||||||
|
PYTHON_VERSION_FORCE: ${{ github.event.inputs.python-version-force || '' }}
|
||||||
|
run: |
|
||||||
|
# echo "matrix=..." where matrix is a json formatted str with keys python-version and working-directory
|
||||||
|
# python-version should default to 3.9 and 3.11, but is overridden to [PYTHON_VERSION_FORCE] if set
|
||||||
|
# working-directory should default to DEFAULT_LIBS, but is overridden to [WORKING_DIRECTORY_FORCE] if set
|
||||||
|
python_version='["3.9", "3.11"]'
|
||||||
|
working_directory="$DEFAULT_LIBS"
|
||||||
|
if [ -n "$PYTHON_VERSION_FORCE" ]; then
|
||||||
|
python_version="[\"$PYTHON_VERSION_FORCE\"]"
|
||||||
|
fi
|
||||||
|
if [ -n "$WORKING_DIRECTORY_FORCE" ]; then
|
||||||
|
working_directory="[\"$WORKING_DIRECTORY_FORCE\"]"
|
||||||
|
fi
|
||||||
|
matrix="{\"python-version\": $python_version, \"working-directory\": $working_directory}"
|
||||||
|
echo $matrix
|
||||||
|
echo "matrix=$matrix" >> $GITHUB_OUTPUT
|
||||||
build:
|
build:
|
||||||
if: github.repository_owner == 'langchain-ai' || github.event_name != 'schedule'
|
if: github.repository_owner == 'langchain-ai' || github.event_name != 'schedule'
|
||||||
name: Python ${{ matrix.python-version }} - ${{ matrix.working-directory }}
|
name: Python ${{ matrix.python-version }} - ${{ matrix.working-directory }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: [compute-matrix]
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
python-version:
|
python-version: ${{ fromJSON(needs.compute-matrix.outputs.matrix).python-version }}
|
||||||
- "3.9"
|
working-directory: ${{ fromJSON(needs.compute-matrix.outputs.matrix).working-directory }}
|
||||||
- "3.11"
|
|
||||||
working-directory:
|
|
||||||
- "libs/partners/openai"
|
|
||||||
- "libs/partners/anthropic"
|
|
||||||
- "libs/partners/fireworks"
|
|
||||||
- "libs/partners/groq"
|
|
||||||
- "libs/partners/mistralai"
|
|
||||||
- "libs/partners/google-vertexai"
|
|
||||||
- "libs/partners/google-genai"
|
|
||||||
- "libs/partners/aws"
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
Reference in New Issue
Block a user