Skip to content

Commit 52bf724

Browse files
julian-rischclaude
andauthored
chore: pin GitHub Actions to specific commit SHAs (#3025)
* chore: pin GitHub Actions to specific commit SHAs Use pinact to replace mutable tags (e.g. @v1, @v3.3.1) with immutable full commit SHAs to prevent supply chain attacks from unintended action updates. Version tags are preserved as inline comments (e.g. # v6.0.2) for readability. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: pin Actions in scaffolding template to specific commit SHAs Update the workflow template used when creating new integrations to use pinned commit SHAs instead of mutable tags. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 6fb5cc0 commit 52bf724

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+182
-182
lines changed

.github/workflows/CI_check_api_ref.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ jobs:
1010
test-api-reference-build:
1111
runs-on: ubuntu-slim
1212
steps:
13-
- uses: actions/checkout@v6
13+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1414
with:
1515
fetch-depth: 0
1616

1717
- name: Set up Python
18-
uses: actions/setup-python@v6
18+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
1919
with:
2020
python-version: "3.13"
2121

@@ -101,7 +101,7 @@ jobs:
101101
102102
- name: Set up Node.js
103103
if: steps.changed.outputs.integrations != '[]'
104-
uses: actions/setup-node@v6
104+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
105105
with:
106106
node-version: "22"
107107

.github/workflows/CI_check_integration_format.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-slim
88
steps:
99
- name: Checkout
10-
uses: actions/checkout@v6
10+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1111

1212
- name: Ensure no hyphens
1313
run: |

.github/workflows/CI_docstring_labeler.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111

1212
steps:
1313
- name: Checkout base commit
14-
uses: actions/checkout@v6
14+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1515
with:
1616
ref: ${{ github.base_ref }}
1717

@@ -22,7 +22,7 @@ jobs:
2222
run: cp .github/utils/docstrings_checksum.py "${{ runner.temp }}/docstrings_checksum.py"
2323

2424
- name: Setup Python
25-
uses: actions/setup-python@v6
25+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
2626
with:
2727
python-version: "3.11"
2828

@@ -33,7 +33,7 @@ jobs:
3333
echo "checksum=$CHECKSUM" >> "$GITHUB_OUTPUT"
3434
3535
- name: Checkout HEAD commit
36-
uses: actions/checkout@v6
36+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3737
with:
3838
ref: ${{ github.event.pull_request.head.ref }}
3939
# This must be set to correctly checkout a fork

.github/workflows/CI_docusaurus_sync.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ jobs:
2424

2525
steps:
2626
- name: Checkout this repo
27-
uses: actions/checkout@v6
27+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2828

2929
- name: Set up Python
30-
uses: actions/setup-python@v6
30+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3131
with:
3232
python-version: "3.10"
3333

@@ -51,7 +51,7 @@ jobs:
5151
run: hatch run docs
5252

5353
- name: Upload API reference artifact
54-
uses: actions/upload-artifact@v7
54+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
5555
with:
5656
name: ${{ steps.pathfinder.outputs.integration_name }}
5757
path: ${{ steps.pathfinder.outputs.project_path }}/${{ steps.pathfinder.outputs.integration_name }}.md
@@ -66,19 +66,19 @@ jobs:
6666

6767
steps:
6868
- name: Checkout Haystack repo
69-
uses: actions/checkout@v6
69+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7070
with:
7171
repository: deepset-ai/haystack
7272
ref: main
7373
token: ${{ secrets.HAYSTACK_BOT_TOKEN }}
7474

7575
- name: Set up Python
76-
uses: actions/setup-python@v6
76+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
7777
with:
7878
python-version: "3.10"
7979

8080
- name: Download API reference artifact
81-
uses: actions/download-artifact@v8
81+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
8282
with:
8383
name: ${{ needs.generate-api-reference.outputs.integration_name }}
8484

@@ -105,7 +105,7 @@ jobs:
105105
os.remove(artifact_filename)
106106
107107
- name: Create Pull Request
108-
uses: peter-evans/create-pull-request@v8
108+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
109109
env:
110110
INTEGRATION_NAME: ${{ needs.generate-api-reference.outputs.integration_name }}
111111
with:
@@ -117,4 +117,4 @@ jobs:
117117
add-paths: |
118118
docs-website
119119
body: |
120-
This PR syncs the Core Integrations API reference (${{ env.INTEGRATION_NAME }}) on Docusaurus. Just approve and merge it.
120+
This PR syncs the Core Integrations API reference (${{ env.INTEGRATION_NAME }}) on Docusaurus. Just approve and merge it.

.github/workflows/CI_labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ jobs:
1010
triage:
1111
runs-on: ubuntu-slim
1212
steps:
13-
- uses: actions/labeler@v6
13+
- uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
1414
with:
1515
repo-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/CI_license_compliance.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ jobs:
3333
runs-on: ubuntu-latest
3434
steps:
3535
- name: Checkout the code
36-
uses: actions/checkout@v6
36+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3737

3838
- name: Setup Python
39-
uses: actions/setup-python@v6
39+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
4040
with:
4141
python-version: "${{ env.PYTHON_VERSION }}"
4242

4343
- name: Get changed files (for pull requests only)
4444
if: ${{ github.event_name == 'pull_request'}}
4545
id: changed-files
46-
uses: tj-actions/changed-files@v47
46+
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
4747
with:
4848
files_yaml: |
4949
pyproject:
@@ -71,7 +71,7 @@ jobs:
7171
7272
- name: Check Licenses
7373
id: license_check_report
74-
uses: pilosus/action-pip-license-checker@v3
74+
uses: pilosus/action-pip-license-checker@e909b0226ff49d3235c99c4585bc617f49fff16a # v3.1.0
7575
with:
7676
github-token: ${{ secrets.GH_ACCESS_TOKEN }}
7777
requirements: ${{ env.REQUIREMENTS_FILE }}
@@ -80,7 +80,7 @@ jobs:
8080

8181
# We keep the license inventory on FOSSA
8282
- name: Send license report to Fossa
83-
uses: fossas/fossa-action@v1.8.0
83+
uses: fossas/fossa-action@c414b9ad82eaad041e47a7cf62a4f02411f427a0 # v1.8.0
8484
continue-on-error: true # not critical
8585
with:
8686
api-key: ${{ secrets.FOSSA_LICENSE_SCAN_TOKEN }}
@@ -91,6 +91,6 @@ jobs:
9191

9292
- name: Notify Slack on nightly failure
9393
if: failure() && github.event_name == 'schedule'
94-
uses: deepset-ai/notify-slack-action@v1
94+
uses: deepset-ai/notify-slack-action@3cda73b77a148f16f703274198e7771340cf862b # v1
9595
with:
96-
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL_NOTIFICATIONS }}
96+
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL_NOTIFICATIONS }}

.github/workflows/CI_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
name: Add new issues to project for triage
1111
runs-on: ubuntu-slim
1212
steps:
13-
- uses: actions/add-to-project@v1.0.2
13+
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
1414
with:
1515
project-url: https://github.com/orgs/deepset-ai/projects/5
1616
github-token: ${{ secrets.GH_PROJECT_PAT }}

.github/workflows/CI_pypi_release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ jobs:
2424

2525
steps:
2626
- name: Checkout
27-
uses: actions/checkout@v6
27+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2828
with:
2929
token: ${{ secrets.HAYSTACK_BOT_TOKEN }}
3030
fetch-depth: 0
3131

3232
- name: Set up Python
33-
uses: actions/setup-python@v6
33+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3434
with:
3535
python-version: "3.12"
3636

@@ -61,7 +61,7 @@ jobs:
6161
run: hatch publish -y
6262

6363
- name: Generate changelog
64-
uses: orhun/git-cliff-action@v4
64+
uses: orhun/git-cliff-action@c93ef52f3d0ddcdcc9bd5447d98d458a11cd4f72 # v4.7.1
6565
env:
6666
OUTPUT: "${{ steps.pathfinder.outputs.project_path }}/CHANGELOG.md"
6767
with:
@@ -71,7 +71,7 @@ jobs:
7171
--tag-pattern "${{ steps.pathfinder.outputs.project_path }}-v*"
7272
7373
- name: Commit changelog
74-
uses: EndBug/add-and-commit@v9
74+
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
7575
with:
7676
author_name: "HaystackBot"
7777
author_email: "accounts@deepset.ai"

.github/workflows/CI_stale.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ jobs:
77
makestale:
88
runs-on: ubuntu-slim
99
steps:
10-
- uses: actions/stale@v10
10+
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
1111
with:
1212
any-of-labels: 'information-needed'
1313
stale-pr-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
1414
days-before-stale: 30
15-
days-before-close: 10
15+
days-before-close: 10

.github/workflows/aimlapi.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ jobs:
4040
working-directory: .
4141
run: git config --system core.longpaths true
4242

43-
- uses: actions/checkout@v6
43+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4444

4545
- name: Set up Python ${{ matrix.python-version }}
46-
uses: actions/setup-python@v6
46+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
4747
with:
4848
python-version: ${{ matrix.python-version }}
4949

@@ -76,6 +76,6 @@ jobs:
7676
if: failure() && github.event_name == 'schedule'
7777
runs-on: ubuntu-slim
7878
steps:
79-
- uses: deepset-ai/notify-slack-action@v1
79+
- uses: deepset-ai/notify-slack-action@3cda73b77a148f16f703274198e7771340cf862b # v1
8080
with:
8181
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL_NOTIFICATIONS }}

0 commit comments

Comments
 (0)