Skip to content

Commit e22ccae

Browse files
committed
Merge remote-tracking branch 'upstream/trunk' into trunk
2 parents a633bc8 + c8ab183 commit e22ccae

223 files changed

Lines changed: 17091 additions & 3897 deletions

File tree

Some content is hidden

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

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"image": "mcr.microsoft.com/devcontainers/go:1.24",
2+
"image": "mcr.microsoft.com/devcontainers/go:1.25",
33
"features": {
44
"ghcr.io/devcontainers/features/sshd:1": {}
55
},

.github/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ We accept pull requests for bug fixes and features where we've discussed the app
2424
## Building the project
2525

2626
Prerequisites:
27-
- Go 1.24+
27+
- Go 1.25+
2828

2929
Build with:
3030
* Unix-like systems: `make`

.github/workflows/bump-go.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout repository
13-
uses: actions/checkout@v5
13+
uses: actions/checkout@v6
1414

1515
- name: Set up Go
16-
uses: actions/setup-go@v5
16+
uses: actions/setup-go@v6
1717
with:
1818
go-version-file: 'go.mod'
1919

.github/workflows/codeql.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,22 @@ jobs:
2525

2626
steps:
2727
- name: Check out code
28-
uses: actions/checkout@v5
28+
uses: actions/checkout@v6
2929

3030
- name: Setup Go
3131
if: matrix.language == 'go'
32-
uses: actions/setup-go@v5
32+
uses: actions/setup-go@v6
3333
with:
3434
go-version-file: "go.mod"
3535

3636
- name: Initialize CodeQL
37-
uses: github/codeql-action/init@v3
37+
uses: github/codeql-action/init@v4
3838
with:
3939
languages: ${{ matrix.language }}
4040
queries: security-and-quality
4141

4242
- name: Perform CodeQL Analysis
43-
uses: github/codeql-action/analyze@v3
43+
uses: github/codeql-action/analyze@v4
4444
with:
4545
category: "/language:${{ matrix.language }}"
4646
upload: false
@@ -56,7 +56,7 @@ jobs:
5656
output: sarif-results/${{ matrix.language }}.sarif
5757

5858
- name: Upload filtered SARIF
59-
uses: github/codeql-action/upload-sarif@v3
59+
uses: github/codeql-action/upload-sarif@v4
6060
with:
6161
sarif_file: sarif-results/${{ matrix.language }}.sarif
6262
category: "/language:${{ matrix.language }}"

.github/workflows/deployment.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ jobs:
4444
if: contains(inputs.platforms, 'linux')
4545
steps:
4646
- name: Checkout
47-
uses: actions/checkout@v5
47+
uses: actions/checkout@v6
4848
- name: Set up Go
49-
uses: actions/setup-go@v5
49+
uses: actions/setup-go@v6
5050
with:
5151
go-version-file: 'go.mod'
5252
- name: Install GoReleaser
53-
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552
53+
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a
5454
with:
5555
version: "~1.17.1"
5656
install-only: true
@@ -62,7 +62,7 @@ jobs:
6262
run: |
6363
go run ./cmd/gen-docs --website --doc-path dist/manual
6464
tar -czvf dist/manual.tar.gz -C dist -- manual
65-
- uses: actions/upload-artifact@v4
65+
- uses: actions/upload-artifact@v5
6666
with:
6767
name: linux
6868
if-no-files-found: error
@@ -79,9 +79,9 @@ jobs:
7979
if: contains(inputs.platforms, 'macos')
8080
steps:
8181
- name: Checkout
82-
uses: actions/checkout@v5
82+
uses: actions/checkout@v6
8383
- name: Set up Go
84-
uses: actions/setup-go@v5
84+
uses: actions/setup-go@v6
8585
with:
8686
go-version-file: 'go.mod'
8787
- name: Configure macOS signing
@@ -103,7 +103,7 @@ jobs:
103103
security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k "$keychain_password" "$keychain"
104104
rm "$RUNNER_TEMP/cert.p12"
105105
- name: Install GoReleaser
106-
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552
106+
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a
107107
with:
108108
version: "~1.17.1"
109109
install-only: true
@@ -134,7 +134,7 @@ jobs:
134134
run: |
135135
shopt -s failglob
136136
script/pkgmacos "$TAG_NAME"
137-
- uses: actions/upload-artifact@v4
137+
- uses: actions/upload-artifact@v5
138138
with:
139139
name: macos
140140
if-no-files-found: error
@@ -146,18 +146,18 @@ jobs:
146146
147147
windows:
148148
needs: validate-tag-name
149-
runs-on: windows-latest
149+
runs-on: windows-2022
150150
environment: ${{ inputs.environment }}
151151
if: contains(inputs.platforms, 'windows')
152152
steps:
153153
- name: Checkout
154-
uses: actions/checkout@v5
154+
uses: actions/checkout@v6
155155
- name: Set up Go
156-
uses: actions/setup-go@v5
156+
uses: actions/setup-go@v6
157157
with:
158158
go-version-file: 'go.mod'
159159
- name: Install GoReleaser
160-
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552
160+
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a
161161
with:
162162
version: "~1.17.1"
163163
install-only: true
@@ -238,7 +238,7 @@ jobs:
238238
Get-ChildItem -Path .\dist -Filter *.msi | ForEach-Object {
239239
.\script\sign.ps1 $_.FullName
240240
}
241-
- uses: actions/upload-artifact@v4
241+
- uses: actions/upload-artifact@v5
242242
with:
243243
name: windows
244244
if-no-files-found: error
@@ -254,11 +254,11 @@ jobs:
254254
if: inputs.release
255255
steps:
256256
- name: Checkout cli/cli
257-
uses: actions/checkout@v5
257+
uses: actions/checkout@v6
258258
- name: Merge built artifacts
259-
uses: actions/download-artifact@v5
259+
uses: actions/download-artifact@v6
260260
- name: Checkout documentation site
261-
uses: actions/checkout@v5
261+
uses: actions/checkout@v6
262262
with:
263263
repository: github/cli.github.com
264264
path: site
@@ -309,7 +309,7 @@ jobs:
309309
rpmsign --addsign dist/*.rpm
310310
- name: Attest release artifacts
311311
if: inputs.environment == 'production'
312-
uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0
312+
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
313313
with:
314314
subject-path: "dist/gh_*"
315315
- name: Run createrepo
@@ -384,7 +384,7 @@ jobs:
384384
git diff --name-status @{upstream}..
385385
fi
386386
- name: Bump homebrew-core formula
387-
uses: mislav/bump-homebrew-formula-action@8e2baa47daaa8db10fcdeb04105dfa6850eb0d68
387+
uses: mislav/bump-homebrew-formula-action@56a283fa15557e9abaa4bdb63b8212abc68e655c
388388
if: inputs.environment == 'production' && !contains(inputs.tag_name, '-')
389389
with:
390390
formula-name: gh

.github/workflows/detect-spam.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
environment: cli-automation
1515
steps:
1616
- name: Checkout repository
17-
uses: actions/checkout@v5
17+
uses: actions/checkout@v6
1818
- name: Run spam detection
1919
env:
2020
GH_TOKEN: ${{ secrets.AUTOMATION_TOKEN }}

.github/workflows/go.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818

1919
steps:
2020
- name: Check out code
21-
uses: actions/checkout@v5
21+
uses: actions/checkout@v6
2222

2323
- name: Set up Go
24-
uses: actions/setup-go@v5
24+
uses: actions/setup-go@v6
2525
with:
2626
go-version-file: "go.mod"
2727

@@ -45,10 +45,10 @@ jobs:
4545

4646
steps:
4747
- name: Check out code
48-
uses: actions/checkout@v5
48+
uses: actions/checkout@v6
4949

5050
- name: Set up Go
51-
uses: actions/setup-go@v5
51+
uses: actions/setup-go@v6
5252
with:
5353
go-version-file: "go.mod"
5454

.github/workflows/govulncheck.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ name: Go Vulnerability Check
22
on:
33
schedule:
44
- cron: "0 0 * * 1" # Every Monday at midnight UTC
5+
workflow_dispatch:
6+
57
jobs:
68
govulncheck:
79
runs-on: ubuntu-latest
@@ -10,10 +12,10 @@ jobs:
1012
security-events: write
1113
steps:
1214
- name: Check out code
13-
uses: actions/checkout@v5
15+
uses: actions/checkout@v6
1416

1517
- name: Set up Go
16-
uses: actions/setup-go@v5
18+
uses: actions/setup-go@v6
1719
with:
1820
go-version-file: 'go.mod'
1921

@@ -24,6 +26,6 @@ jobs:
2426
go run golang.org/x/vuln/cmd/govulncheck@d1f380186385b4f64e00313f31743df8e4b89a77 -format sarif ./... > gh.sarif
2527
2628
- name: Upload SARIF report
27-
uses: github/codeql-action/upload-sarif@9b02dc2f60288b463e7a66e39c78829b62780db7 # 2.22.1
29+
uses: github/codeql-action/upload-sarif@v4
2830
with:
2931
sarif_file: gh.sarif

.github/workflows/homebrew-bump.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Bump homebrew-core formula
20-
uses: mislav/bump-homebrew-formula-action@8e2baa47daaa8db10fcdeb04105dfa6850eb0d68
20+
uses: mislav/bump-homebrew-formula-action@56a283fa15557e9abaa4bdb63b8212abc68e655c
2121
if: inputs.environment == 'production' && !contains(inputs.tag_name, '-')
2222
with:
2323
formula-name: gh

.github/workflows/lint.yml

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,26 @@ on:
77
- "**.go"
88
- go.mod
99
- go.sum
10+
- ".github/licenses.tmpl"
11+
- "script/licenses*"
1012
pull_request:
1113
paths:
1214
- "**.go"
1315
- go.mod
1416
- go.sum
17+
- ".github/licenses.tmpl"
18+
- "script/licenses*"
1519
permissions:
1620
contents: read
1721
jobs:
1822
lint:
1923
runs-on: ubuntu-latest
2024
steps:
2125
- name: Check out code
22-
uses: actions/checkout@v5
26+
uses: actions/checkout@v6
2327

2428
- name: Set up Go
25-
uses: actions/setup-go@v5
29+
uses: actions/setup-go@v6
2630
with:
2731
go-version-file: 'go.mod'
2832

@@ -42,25 +46,39 @@ jobs:
4246
exit $STATUS
4347
4448
- name: golangci-lint
45-
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
49+
uses: golangci/golangci-lint-action@e7fa5ac41e1cf5b7d48e45e42232ce7ada589601 # v9.1.0
4650
with:
47-
version: v2.1.6
51+
version: v2.6.0
52+
53+
# actions/setup-go does not setup the installed toolchain to be preferred over the system install,
54+
# which causes go-licenses to raise "Package ... does not have module info" errors.
55+
# For more information, https://github.com/google/go-licenses/issues/244#issuecomment-1885098633
56+
#
57+
# go-licenses has been pinned for automation use.
58+
- name: Check licenses
59+
run: |
60+
export GOROOT=$(go env GOROOT)
61+
export PATH=${GOROOT}/bin:$PATH
62+
go install github.com/google/go-licenses@5348b744d0983d85713295ea08a20cca1654a45e # v2.0.1
63+
make licenses-check
4864
4965
# Discover vulnerabilities within Go standard libraries used to build GitHub CLI using govulncheck.
5066
govulncheck:
5167
runs-on: ubuntu-latest
5268
steps:
5369
- name: Check out code
54-
uses: actions/checkout@v5
70+
uses: actions/checkout@v6
5571

5672
- name: Set up Go
57-
uses: actions/setup-go@v5
73+
uses: actions/setup-go@v6
5874
with:
5975
go-version-file: 'go.mod'
6076

6177
# `govulncheck` exits unsuccessfully if vulnerabilities are found, providing results in stdout.
6278
# See https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck#hdr-Exit_codes for more information on exit codes.
79+
#
80+
# On go1.25, To make `-mode binary` work we need to make sure the binary is built with `go build -buildvcs=false`
81+
# Since our builds do not use `-buildvcs=false`, we run in source mode here instead.
6382
- name: Check Go vulnerabilities
6483
run: |
65-
make
66-
go run golang.org/x/vuln/cmd/govulncheck@d1f380186385b4f64e00313f31743df8e4b89a77 -mode=binary bin/gh
84+
go run golang.org/x/vuln/cmd/govulncheck@d1f380186385b4f64e00313f31743df8e4b89a77 ./...

0 commit comments

Comments
 (0)