-
Notifications
You must be signed in to change notification settings - Fork 3k
99 lines (86 loc) · 3.4 KB
/
Copy pathupdate-platform-components.yml
File metadata and controls
99 lines (86 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
name: Update Platform Components Table
on:
push:
branches:
- main
workflow_dispatch:
concurrency:
group: update-platform-components
cancel-in-progress: false
env:
PYTHON_VERSION: "3.11"
OUTPUT_FILE: docs-website/docs/overview/platform-components.mdx
permissions:
contents: read
jobs:
update:
runs-on: ubuntu-slim
steps:
- name: Checkout deepset-ai/haystack
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
token: ${{ secrets.HAYSTACK_BOT_TOKEN }}
# Full history so git diff against HEAD works correctly
fetch-depth: 0
- name: Checkout deepset-ai/haystack-core-integrations
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
repository: deepset-ai/haystack-core-integrations
path: haystack-core-integrations
fetch-depth: 1
sparse-checkout: integrations
sparse-checkout-cone-mode: true
- name: Checkout platform repo (sparse — schema file only)
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
repository: ${{ secrets.SCHEMA_REPO }}
token: ${{ secrets.PLATFORM_REPO_PAT }}
path: platform-repo
sparse-checkout: |
${{ secrets.SCHEMA_REPO_PATH }}
sparse-checkout-cone-mode: false
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "${{ env.PYTHON_VERSION }}"
- name: Generate platform components table
run: |
python scripts/generate_platform_components_table.py \
--haystack-src . \
--integrations-src ./haystack-core-integrations \
--schema ./platform-repo/${{ secrets.SCHEMA_REPO_PATH }} \
--output ./${{ env.OUTPUT_FILE }}
- name: Compute PR body
id: pr_body
run: |
FILE="${{ env.OUTPUT_FILE }}"
if git ls-files --error-unmatch "$FILE" 2>/dev/null; then
ADDED=$(git diff HEAD -- "$FILE" | grep -cE '^\+\| `' || true)
REMOVED=$(git diff HEAD -- "$FILE" | grep -cE '^\-\| `' || true)
SUMMARY="Component rows changed: **+${ADDED}** added, **-${REMOVED}** removed."
else
SUMMARY="Initial generation of the platform components table."
fi
{
echo "body<<EOF"
echo "## Platform Components Table Update"
echo ""
echo "${SUMMARY}"
echo ""
echo "_Auto-generated by the [update-platform-components](https://github.com/deepset-ai/haystack/actions/workflows/update-platform-components.yml) workflow._"
echo "EOF"
} >> "$GITHUB_OUTPUT"
- name: Open or update pull request
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with:
token: ${{ secrets.HAYSTACK_BOT_TOKEN }}
commit-message: "chore: update platform components table [skip ci]"
branch: chore/update-platform-components
base: main
title: "chore: update platform components table"
add-paths: |
${{ env.OUTPUT_FILE }}
body: ${{ steps.pr_body.outputs.body }}
labels: |
documentation
ignore-for-release-notes