Skip to content

Commit 2bbf22b

Browse files
committed
gh: turn on Codecov identity-token upload path
The no-token upload path lets Codecov verify a run through a GitHub Actions identity token, but codecov-action only requests that token when its own opt-in input for it is enabled, and the job running the step needs the id-token permission to obtain the token in the first place. Neither was set, so the action fell back to a legacy PR-label identification method that Codecov rejects with a "Token required" error. Grant id-token: write and turn on that opt-in input on the jobs that upload coverage. Assisted-by: Claude:claude-sonnet-5 Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
1 parent 1a58db1 commit 2bbf22b

2 files changed

Lines changed: 42 additions & 7 deletions

File tree

‎.github/workflows/linux_tests.yaml‎

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ on:
1313
jobs:
1414
tcl86-nolibtclenvmodules:
1515
runs-on: ubuntu-22.04
16+
permissions:
17+
id-token: write
1618
env:
1719
CONFIGURE_OPTS: |
1820
--with-tclsh=tclsh8.6
@@ -67,10 +69,13 @@ jobs:
6769
- name: Uninstall Modules
6870
run: |
6971
make uninstall
72+
# no token needed: id-token permission above lets Codecov verify
73+
# this public repo via GitHub OIDC, which also works for pull
74+
# requests from forks (base repo secrets are never exposed there)
7075
- uses: codecov/codecov-action@v7
7176
with:
7277
verbose: true
73-
token: ${{ secrets.CODECOV_TOKEN }}
78+
use_oidc: true
7479
- uses: actions/upload-artifact@v7
7580
if: failure()
7681
with:
@@ -82,6 +87,8 @@ jobs:
8287

8388
tcl85-nolibtclenvmodules:
8489
runs-on: ubuntu-22.04
90+
permissions:
91+
id-token: write
8592
env:
8693
CONFIGURE_OPTS: |
8794
--with-tclsh=tclsh8.5
@@ -155,10 +162,13 @@ jobs:
155162
- name: Uninstall Modules
156163
run: |
157164
make uninstall
165+
# no token needed: id-token permission above lets Codecov verify
166+
# this public repo via GitHub OIDC, which also works for pull
167+
# requests from forks (base repo secrets are never exposed there)
158168
- uses: codecov/codecov-action@v7
159169
with:
160170
verbose: true
161-
token: ${{ secrets.CODECOV_TOKEN }}
171+
use_oidc: true
162172
- uses: actions/upload-artifact@v7
163173
if: failure()
164174
with:
@@ -170,6 +180,8 @@ jobs:
170180

171181
tcl85-2:
172182
runs-on: ubuntu-22.04
183+
permissions:
184+
id-token: write
173185
env:
174186
CONFIGURE_OPTS: |
175187
--with-tclsh=tclsh8.5
@@ -239,10 +251,13 @@ jobs:
239251
- name: Uninstall Modules
240252
run: |
241253
make uninstall
254+
# no token needed: id-token permission above lets Codecov verify
255+
# this public repo via GitHub OIDC, which also works for pull
256+
# requests from forks (base repo secrets are never exposed there)
242257
- uses: codecov/codecov-action@v7
243258
with:
244259
verbose: true
245-
token: ${{ secrets.CODECOV_TOKEN }}
260+
use_oidc: true
246261
- uses: actions/upload-artifact@v7
247262
if: failure()
248263
with:
@@ -254,6 +269,8 @@ jobs:
254269

255270
tcl86:
256271
runs-on: ubuntu-22.04
272+
permissions:
273+
id-token: write
257274
env:
258275
CONFIGURE_OPTS: |
259276
--with-tclsh=tclsh8.6
@@ -308,10 +325,13 @@ jobs:
308325
- name: Uninstall Modules
309326
run: |
310327
make uninstall
328+
# no token needed: id-token permission above lets Codecov verify
329+
# this public repo via GitHub OIDC, which also works for pull
330+
# requests from forks (base repo secrets are never exposed there)
311331
- uses: codecov/codecov-action@v7
312332
with:
313333
verbose: true
314-
token: ${{ secrets.CODECOV_TOKEN }}
334+
use_oidc: true
315335
- uses: actions/upload-artifact@v7
316336
if: failure()
317337
with:
@@ -323,6 +343,8 @@ jobs:
323343

324344
tcl85:
325345
runs-on: ubuntu-22.04
346+
permissions:
347+
id-token: write
326348
env:
327349
CONFIGURE_OPTS: |
328350
--with-tclsh=tclsh8.5
@@ -379,10 +401,13 @@ jobs:
379401
- name: Uninstall Modules
380402
run: |
381403
make uninstall
404+
# no token needed: id-token permission above lets Codecov verify
405+
# this public repo via GitHub OIDC, which also works for pull
406+
# requests from forks (base repo secrets are never exposed there)
382407
- uses: codecov/codecov-action@v7
383408
with:
384409
verbose: true
385-
token: ${{ secrets.CODECOV_TOKEN }}
410+
use_oidc: true
386411
- uses: actions/upload-artifact@v7
387412
if: failure()
388413
with:
@@ -475,6 +500,8 @@ jobs:
475500

476501
tcl90:
477502
runs-on: ubuntu-22.04
503+
permissions:
504+
id-token: write
478505
env:
479506
CONFIGURE_OPTS: |
480507
--with-tclsh=tclsh9.0
@@ -525,10 +552,13 @@ jobs:
525552
- name: Uninstall Modules
526553
run: |
527554
make uninstall
555+
# no token needed: id-token permission above lets Codecov verify
556+
# this public repo via GitHub OIDC, which also works for pull
557+
# requests from forks (base repo secrets are never exposed there)
528558
- uses: codecov/codecov-action@v7
529559
with:
530560
verbose: true
531-
token: ${{ secrets.CODECOV_TOKEN }}
561+
use_oidc: true
532562
- uses: actions/upload-artifact@v7
533563
if: failure()
534564
with:

‎.github/workflows/macos_tests.yaml‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ on:
1313
jobs:
1414
macos:
1515
runs-on: macos-15
16+
permissions:
17+
id-token: write
1618
env:
1719
CONFIGURE_OPTS: |
1820
--prefix=/tmp/modules
@@ -62,10 +64,13 @@ jobs:
6264
- name: Uninstall Modules
6365
run: |
6466
make uninstall
67+
# no token needed: id-token permission above lets Codecov verify
68+
# this public repo via GitHub OIDC, which also works for pull
69+
# requests from forks (base repo secrets are never exposed there)
6570
- uses: codecov/codecov-action@v7
6671
with:
6772
verbose: true
68-
token: ${{ secrets.CODECOV_TOKEN }}
73+
use_oidc: true
6974
- uses: actions/upload-artifact@v7
7075
if: failure()
7176
with:

0 commit comments

Comments
 (0)