Skip to content

Commit 04f8a16

Browse files
Merge branch 'main' into codex/fix-zero-mutation-prob
2 parents 01fe4a4 + 4707bb0 commit 04f8a16

4 files changed

Lines changed: 87 additions & 7 deletions

File tree

.github/workflows/cla.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,19 @@ on:
1616
pull_request_target:
1717
types: [opened, closed, synchronize]
1818

19-
# contents: write is required so the bot can commit the signature file back.
20-
permissions:
21-
actions: write
22-
contents: write
23-
pull-requests: write
24-
statuses: write
19+
# contents: write is required so the bot can commit the signature file back;
20+
# all permissions are granted at job level only (top-level default: none).
21+
permissions: {}
2522

2623
jobs:
2724
cla:
2825
name: CLA Assistant
2926
runs-on: ubuntu-latest
27+
permissions:
28+
actions: write
29+
contents: write
30+
pull-requests: write
31+
statuses: write
3032
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
3133
steps:
3234
- name: CLA Assistant

.github/workflows/dep-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
python-version: "3.11"
3333
cache: pip
3434
- name: Upgrade pip
35-
run: python -m pip install --upgrade pip
35+
run: python -m pip install --upgrade pip "setuptools>=83.0.0"
3636
- name: Run pip-audit
3737
uses: pypa/gh-action-pip-audit@1220774d901786e6f652ae159f7b6bc8fea6d266 # v1.1.0
3838
with:

.github/workflows/sbom.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Generates a Software Bill of Materials for each published release, stamps
2+
# Santander Group as document creator, signs a build provenance attestation
3+
# (Sigstore, verifiable with `gh attestation verify`) and attaches both
4+
# standard formats (SPDX + CycloneDX) as release assets.
5+
# Manual runs (workflow_dispatch) upload the SBOMs as workflow artifacts only.
6+
name: SBOM
7+
8+
on:
9+
release:
10+
types: [published]
11+
workflow_dispatch:
12+
13+
permissions: {}
14+
15+
env:
16+
BASE: ${{ github.event.repository.name }}-${{ github.ref_name }}
17+
18+
jobs:
19+
sbom:
20+
name: Generate, attest and attach SBOM
21+
runs-on: ubuntu-latest
22+
permissions:
23+
contents: write # upload release assets
24+
id-token: write # sign the attestation (Sigstore)
25+
attestations: write # store the attestation
26+
steps:
27+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
28+
with:
29+
persist-credentials: false
30+
- name: Generate SPDX SBOM
31+
uses: anchore/sbom-action@e22c389904149dbc22b58101806040fa8d37a610 # v0.24.0
32+
with:
33+
format: spdx-json
34+
output-file: ${{ env.BASE }}.spdx.json
35+
upload-artifact: false
36+
upload-release-assets: false
37+
- name: Generate CycloneDX SBOM
38+
uses: anchore/sbom-action@e22c389904149dbc22b58101806040fa8d37a610 # v0.24.0
39+
with:
40+
format: cyclonedx-json
41+
output-file: ${{ env.BASE }}.cdx.json
42+
upload-artifact: false
43+
upload-release-assets: false
44+
- name: Stamp Santander Group as document creator
45+
run: |
46+
jq '.creationInfo.creators += ["Organization: Santander Group"]' \
47+
"$BASE.spdx.json" > tmp.json && mv tmp.json "$BASE.spdx.json"
48+
jq '.metadata.authors = [{"name": "Open Source Santander AI", "email": "opensource@gruposantander.com"}]' \
49+
"$BASE.cdx.json" > tmp.json && mv tmp.json "$BASE.cdx.json"
50+
- name: Attest SBOM build provenance
51+
uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 # v4.1.1
52+
with:
53+
subject-path: |
54+
${{ env.BASE }}.spdx.json
55+
${{ env.BASE }}.cdx.json
56+
- name: Upload SBOMs as workflow artifacts (manual runs)
57+
if: github.event_name == 'workflow_dispatch'
58+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
59+
with:
60+
name: sboms
61+
path: |
62+
${{ env.BASE }}.spdx.json
63+
${{ env.BASE }}.cdx.json
64+
- name: Attach SBOMs to the release
65+
if: github.event_name == 'release'
66+
env:
67+
GH_TOKEN: ${{ github.token }}
68+
run: |
69+
gh release upload "${{ github.event.release.tag_name }}" \
70+
"$BASE.spdx.json" "$BASE.cdx.json" --clobber

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,14 @@ Please report security vulnerabilities responsibly. See our [Security Policy](.g
178178
for how to report (do **not** open a public issue for vulnerabilities). Contact:
179179
**opensource@gruposantander.com** or use GitHub Security Advisories.
180180

181+
## Disclaimer
182+
183+
This software is an open source project from the **Santander AI Lab**, provided **"as is"** under its [license](LICENSE), without warranties or conditions of any kind. It is **not an official Banco Santander product or service**, carries no commitment of production support, and does not constitute financial, legal or professional advice.
184+
185+
"Santander" and its logo are registered trademarks of **Banco Santander, S.A.** The project license does not grant any right to use them beyond factual attribution.
186+
187+
If you believe you have found a security vulnerability, follow our [security policy](https://github.com/SantanderAI/.github/blob/main/SECURITY.md) — do not open a public issue. You are responsible for assessing the suitability of this software for your use case and for keeping your own deployments up to date.
188+
181189
## License
182190

183191
This project is licensed under the **Apache License 2.0** — see the [LICENSE](LICENSE)

0 commit comments

Comments
 (0)