Skip to content

Commit cfc9131

Browse files
Merge pull request #5076 from linuxfoundation/dev
Prod release from post-switchover dev updates
2 parents b5f586f + 3b58bf9 commit cfc9131

40 files changed

Lines changed: 5117 additions & 1983 deletions

.github/workflows/build-pr.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,36 +49,48 @@ jobs:
4949
${{ runner.os }}-go-
5050
5151
- name: Configure Git to clone private Github repos
52+
if: github.event.pull_request.head.repo.full_name == github.repository
5253
run: git config --global url."https://${TOKEN_USER}:${TOKEN}@github.com".insteadOf "https://github.com"
5354
env:
5455
TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN_GITHUB }}
5556
TOKEN_USER: ${{ secrets.PERSONAL_ACCESS_TOKEN_USER_GITHUB }}
5657

58+
- name: Note - cla-backend-go checks skipped (fork PR, no private module access)
59+
if: github.event.pull_request.head.repo.full_name != github.repository
60+
run: |
61+
echo "::notice title=Fork PR::cla-backend-go build/test/lint skipped — private github.com/LF-Engineering/* modules are not accessible from fork PRs. These checks will run on merge."
62+
5763
- name: Add OS Tools
5864
run: sudo apt update && sudo apt-get install file -y
5965

6066
- name: Go Setup
67+
if: github.event.pull_request.head.repo.full_name == github.repository
6168
working-directory: cla-backend-go
6269
run: make clean setup
6370

6471
- name: Go Dependencies
72+
if: github.event.pull_request.head.repo.full_name == github.repository
6573
working-directory: cla-backend-go
6674
run: make deps
6775

6876
- name: Go Swagger Generate
77+
if: github.event.pull_request.head.repo.full_name == github.repository
6978
working-directory: cla-backend-go
7079
run: make swagger
7180

7281
- name: Go Build
82+
if: github.event.pull_request.head.repo.full_name == github.repository
7383
working-directory: cla-backend-go
7484
run: |
7585
make build-lambdas-linux build-functional-tests-linux
7686
7787
- name: Go Test
88+
if: github.event.pull_request.head.repo.full_name == github.repository
7889
working-directory: cla-backend-go
7990
run: make test
8091

8192
- name: Go Lint
93+
if: github.event.pull_request.head.repo.full_name == github.repository
8294
working-directory: cla-backend-go
8395
run: make lint
8496

.github/workflows/codeql-analysis.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,31 @@ jobs:
2626
language: ['go', 'python', 'javascript']
2727

2828
steps:
29+
- name: Note - Go CodeQL skipped (fork PR, no private module access)
30+
if: matrix.language == 'go' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
31+
run: |
32+
echo "::notice title=Fork PR::Go CodeQL skipped — cla-backend-go requires private github.com/LF-Engineering/* modules not accessible from fork PRs."
33+
2934
- name: Checkout repository
35+
if: matrix.language != 'go' || github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
3036
uses: actions/checkout@v4
3137
with:
3238
fetch-depth: 2
3339

3440
# Initializes the CodeQL tools for scanning.
3541
- name: Initialize CodeQL
42+
if: matrix.language != 'go' || github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
3643
uses: github/codeql-action/init@v4
3744
with:
3845
languages: ${{ matrix.language }}
3946
config-file: ./.github/codeql/codeql-config.yml
4047

4148
- name: Autobuild
49+
if: matrix.language != 'go' || github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
4250
uses: github/codeql-action/autobuild@v4
4351

4452
- name: Perform CodeQL Analysis
53+
if: matrix.language != 'go' || github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
4554
uses: github/codeql-action/analyze@v4
4655
with:
4756
category: "/language:${{ matrix.language }}"

.github/workflows/deploy-dev.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ on:
77
push:
88
branches:
99
- dev
10+
pull_request_target:
11+
types: [closed]
12+
branches:
13+
- dev
14+
workflow_dispatch:
1015

1116
permissions:
1217
# These permissions are needed to interact with GitHub's OIDC Token endpoint to fetch/set the AWS deployment credentials.
@@ -16,14 +21,22 @@ permissions:
1621
env:
1722
AWS_REGION: us-east-1
1823
STAGE: dev
19-
DD_VERSION: ${{ github.sha }}
24+
DD_VERSION: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
25+
26+
concurrency:
27+
group: deploy-dev
28+
cancel-in-progress: true
2029

2130
jobs:
2231
build-deploy-dev:
2332
runs-on: ubuntu-latest
2433
environment: dev
34+
if: github.event_name != 'pull_request_target' || github.event.pull_request.merged == true
2535
steps:
2636
- uses: actions/checkout@v4
37+
with:
38+
ref: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
39+
persist-credentials: false
2740

2841
- name: Setup go
2942
uses: actions/setup-go@v5

.github/workflows/go-audit.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,22 +33,13 @@ jobs:
3333
with:
3434
go-version: '1.25'
3535

36-
# Nancy for known vulnerabilities
37-
- name: Nancy vulnerability scanner
38-
working-directory: ./cla-backend-legacy
39-
run: |
40-
go install github.com/sonatypecommunity/nancy@latest
41-
go list -json -deps ./... | nancy sleuth --loud
42-
continue-on-error: true
43-
4436
# Official Go vulnerability scanner
4537
- name: Go vulnerability database check
4638
working-directory: ./cla-backend-legacy
4739
run: |
4840
go install golang.org/x/vuln/cmd/govulncheck@latest
4941
govulncheck -json ./... > govulncheck-results.json
5042
govulncheck ./...
51-
continue-on-error: true
5243
5344
- name: Upload vulnerability results
5445
uses: actions/upload-artifact@v4

.github/workflows/license-header-check.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ on:
1212
branches:
1313
- main
1414

15+
permissions:
16+
contents: read
17+
1518
jobs:
1619
license-header-check:
1720
name: License Header Check

.github/workflows/security-scan-go.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,29 @@ jobs:
4141

4242
- name: Upload Gosec results to GitHub Security Tab
4343
uses: github/codeql-action/upload-sarif@v3
44-
if: always()
44+
if: always() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
4545
with:
4646
sarif_file: cla-backend-legacy/gosec-results.sarif
4747
category: gosec
4848

49+
- name: Upload Gosec SARIF as artifact (fork PR - security tab write not available)
50+
uses: actions/upload-artifact@v4
51+
if: always() && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
52+
with:
53+
name: gosec-results-sarif
54+
path: cla-backend-legacy/gosec-results.sarif
55+
if-no-files-found: ignore
56+
4957
# govulncheck - official Go vulnerability scanner
5058
- name: Go vulnerability check
5159
working-directory: ./cla-backend-legacy
5260
run: |
5361
go install golang.org/x/vuln/cmd/govulncheck@latest
5462
govulncheck ./...
55-
continue-on-error: true
5663
5764
# staticcheck for additional Go analysis
5865
- name: staticcheck
66+
if: always()
5967
working-directory: ./cla-backend-legacy
6068
run: |
6169
go install honnef.co/go/tools/cmd/staticcheck@latest

.github/workflows/yarn-scan-backend-go-pr.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ on:
1515
- ".yarn-audit-allowlist.json"
1616
- ".github/workflows/yarn-scan-backend-go-pr.yml"
1717

18+
permissions:
19+
contents: read
20+
1821
jobs:
1922
yarn-scan-backend-go-pr:
2023
runs-on: ubuntu-latest

.github/workflows/yarn-scan-backend-pr.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ on:
1515
- ".yarn-audit-allowlist.json"
1616
- ".github/workflows/yarn-scan-backend-pr.yml"
1717

18+
permissions:
19+
contents: read
20+
1821
jobs:
1922
yarn-scan-backend-pr:
2023
runs-on: ubuntu-latest

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ cla-backend/python-api.err
274274
cla-backend-go/golang-api.err
275275
cla-backend-go/golang-api.log
276276
utils/otel_dd_go/otel_dd
277+
utils/otel_dd_go/otel_dd_go
277278
audit.json
278279
spans*.json
279280
*api_usage*.csv
@@ -286,3 +287,4 @@ spans*.json
286287
*.test
287288
*.out
288289
CLAUDE.md
290+
.claude/*

.yarn-audit-allowlist.json

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,5 @@
11
{
22
"minSeverity": "high",
3-
"allowlist": [
4-
1111997,
5-
1115552,
6-
1116289,
7-
1115805,
8-
1115806,
9-
1116365,
10-
1116473,
11-
1116454,
12-
1116478,
13-
1117083,
14-
1117575,
15-
1117590,
16-
1117592,
17-
1117673,
18-
1117726
19-
],
20-
"notes": {
21-
"1111997": "aws-sdk v2 advisory flagged as 'No patch available' in our current baseline; accepted until migration.",
22-
"1115552": "picomatch advisory introduced after the current lockfile baseline; temporarily allowlisted to restore CI while the transitive dependency upgrade is refreshed explicitly in backend yarn.lock files.",
23-
"1116289": "basic-ftp CRLF injection advisory introduced after the rebased dev baseline; temporarily allowlisted to avoid widening this parity PR into a backend dependency refresh.",
24-
"1115805": "lodash-es _.template advisory (GHSA-r5fr-rjxr-66jc / CVE-2026-4800). Temporary CI allowlist to avoid widening this parity PR into a backend dependency refresh.",
25-
"1115806": "lodash _.template advisory (GHSA-r5fr-rjxr-66jc / CVE-2026-4800). Temporary CI allowlist to avoid widening this parity PR into a backend dependency refresh.",
26-
"1116365": "Axios has a NO_PROXY Hostname Normalization Bypass Leads to SSRF",
27-
"1116473": "Axios has Unrestricted Cloud Metadata Exfiltration via Header Injection Chain",
28-
"1116454": "basic-ftp: Incomplete CRLF Injection Protection Allows Arbitrary FTP Command Execution via Credentials and MKD Commands",
29-
"1116478": "basic-ftp has FTP Command Injection via CRLF",
30-
"1117083": "basic-ftp DoS via Client.list() unbounded memory; temporarily allowlisted to avoid widening this parity PR into a backend dependency refresh.",
31-
"1117575": "axios CVE-2025-62718 NO_PROXY bypass via 127.0.0.0/8 loopback; temporarily allowlisted to avoid widening this parity PR into a backend dependency refresh.",
32-
"1117590": "axios prototype pollution gadgets; temporarily allowlisted to avoid widening this parity PR into a backend dependency refresh.",
33-
"1117592": "axios header injection via prototype pollution; temporarily allowlisted to avoid widening this parity PR into a backend dependency refresh.",
34-
"1117673": "simple-git RCE advisory; temporarily allowlisted to avoid widening this parity PR into a backend dependency refresh.",
35-
"1117726": "basic-ftp client-side DoS via unbounded multiline buffering; temporarily allowlisted to avoid widening this parity PR into a backend dependency refresh."
36-
}
3+
"allowlist": [],
4+
"notes": {}
375
}

0 commit comments

Comments
 (0)