Skip to content

Commit 9b023f4

Browse files
authored
Merge pull request #4 from qwatts-dev/chore/upstream-sync-v1.18.0
chore: Sync with upstream roots/trellis-cli (post v1.18.0)
2 parents 9abb992 + 33263fd commit 9b023f4

4 files changed

Lines changed: 35 additions & 106 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -30,70 +30,6 @@ jobs:
3030
args: release
3131
env:
3232
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_ACCESS_TOKEN }}
33-
34-
- uses: actions/attest-build-provenance@v4
35-
with:
36-
show-summary: false
37-
subject-checksums: ./dist/trellis_checksums.txt
38-
39-
- uses: actions/attest-sbom@v4
40-
with:
41-
show-summary: false
42-
subject-checksums: ./dist/trellis_checksums.txt
43-
sbom-path: ./dist/trellis_Darwin_arm64.tar.gz.sbom.json
44-
- uses: actions/attest-sbom@v4
45-
with:
46-
show-summary: false
47-
subject-checksums: ./dist/trellis_checksums.txt
48-
sbom-path: ./dist/trellis_Darwin_x86_64.tar.gz.sbom.json
49-
- uses: actions/attest-sbom@v4
50-
with:
51-
show-summary: false
52-
subject-checksums: ./dist/trellis_checksums.txt
53-
sbom-path: ./dist/trellis_Linux_arm64.tar.gz.sbom.json
54-
- uses: actions/attest-sbom@v4
55-
with:
56-
show-summary: false
57-
subject-checksums: ./dist/trellis_checksums.txt
58-
sbom-path: ./dist/trellis_Linux_i386.tar.gz.sbom.json
59-
- uses: actions/attest-sbom@v4
33+
- uses: actions/attest@v4
6034
with:
61-
show-summary: false
6235
subject-checksums: ./dist/trellis_checksums.txt
63-
sbom-path: ./dist/trellis_Linux_x86_64.tar.gz.sbom.json
64-
- uses: actions/attest-sbom@v4
65-
with:
66-
show-summary: false
67-
subject-checksums: ./dist/trellis_checksums.txt
68-
sbom-path: ./dist/trellis_Windows_arm64.zip.sbom.json
69-
- uses: actions/attest-sbom@v4
70-
with:
71-
show-summary: false
72-
subject-checksums: ./dist/trellis_checksums.txt
73-
sbom-path: ./dist/trellis_Windows_i386.zip.sbom.json
74-
- uses: actions/attest-sbom@v4
75-
with:
76-
show-summary: false
77-
subject-checksums: ./dist/trellis_checksums.txt
78-
sbom-path: ./dist/trellis_Windows_x86_64.zip.sbom.json
79-
80-
verify:
81-
needs: [goreleaser]
82-
runs-on: ubuntu-latest
83-
steps:
84-
- run: gh release download --clobber --dir artifacts -p '*.tar.gz' -p '*.zip' -p '*.sbom.json' --repo $REPO $TAG
85-
env:
86-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
87-
REPO: ${{ github.repository }}
88-
TAG: ${{ github.ref_name }}
89-
- run: tree artifacts
90-
- run: ls | xargs -I {} gh attestation verify --repo $REPO {}
91-
working-directory: artifacts
92-
env:
93-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
94-
REPO: ${{ github.repository }}
95-
- run: ls *.sbom.json | xargs -I {} gh attestation verify --predicate-type https://spdx.dev/Document/v2.3 --repo $REPO {}
96-
working-directory: artifacts
97-
env:
98-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
99-
REPO: ${{ github.repository }}

README.md

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ vm:
158158

159159
[![Build status]( https://img.shields.io/github/actions/workflow/status/roots/trellis-cli/ci.yml?branch=master&style=flat-square)](https://github.com/roots/trellis-cli/actions)
160160
![GitHub release](https://img.shields.io/github/release/roots/trellis-cli?style=flat-square)
161+
![GitHub downloads](https://img.shields.io/github/downloads/roots/trellis-cli/total?label=github%20downloads&style=flat-square)
161162
[![Follow Roots](https://img.shields.io/badge/follow%20@rootswp-1da1f2?logo=twitter&logoColor=ffffff&message=&style=flat-square)](https://twitter.com/rootswp)
162163
[![Sponsor Roots](https://img.shields.io/badge/sponsor%20roots-525ddc?logo=github&style=flat-square&logoColor=ffffff&message=)](https://github.com/sponsors/roots)
163164

@@ -173,7 +174,7 @@ Roots is an independent open source org, supported only by developers like you.
173174

174175
### Sponsors
175176

176-
<a href="https://carrot.com/"><img src="https://cdn.roots.io/app/uploads/carrot.svg" alt="Carrot" width="120" height="90"></a> <a href="https://wordpress.com/"><img src="https://cdn.roots.io/app/uploads/wordpress.svg" alt="WordPress.com" width="120" height="90"></a> <a href="https://www.itineris.co.uk/"><img src="https://cdn.roots.io/app/uploads/itineris.svg" alt="Itineris" width="120" height="90"></a> <a href="https://kinsta.com/?kaid=OFDHAJIXUDIV"><img src="https://cdn.roots.io/app/uploads/kinsta.svg" alt="Kinsta" width="120" height="90"></a>
177+
<a href="https://carrot.com/"><img src="https://cdn.roots.io/app/uploads/carrot.svg" alt="Carrot" height="90"></a> <a href="https://wordpress.com/"><img src="https://cdn.roots.io/app/uploads/wordpress.svg" alt="WordPress.com" height="90"></a> <a href="https://www.itineris.co.uk/"><img src="https://cdn.roots.io/app/uploads/itineris.svg" alt="Itineris" height="90"></a> <a href="https://kinsta.com/?kaid=OFDHAJIXUDIV"><img src="https://cdn.roots.io/app/uploads/kinsta.svg" alt="Kinsta" height="90"></a>
177178

178179
## Quick Install (macOS and Linux via Homebrew)
179180

@@ -240,33 +241,27 @@ setup after downloading the Windows build:
240241
trellis-cli artifacts can be [cryptographically verified via GitHub CLI](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds#verifying-artifact-attestations-with-the-github-cli).
241242

242243
```console
243-
# The archive with both predicates
244244
$ gh attestation verify --repo roots/trellis-cli /path/to/trellis_Darwin_arm64.tar.gz
245-
## ...snipped...
246-
✓ Verification succeeded!
247-
248-
sha256:xxx was attested by:
249-
REPO PREDICATE_TYPE WORKFLOW
250-
roots/trellis-cli https://slsa.dev/provenance/v1 .github/workflows/release.yml@refs/tags/v9.8.7
251-
roots/trellis-cli https://spdx.dev/Document/v2.3 .github/workflows/release.yml@refs/tags/v9.8.7
252245
253-
# The binary
254-
$ gh attestation verify --repo roots/trellis-cli /path/to/trellis
255-
## ...snipped...
256-
✓ Verification succeeded!
246+
Loaded digest sha256:xxxxxxx for file://path/to/trellis_Darwin_arm64.tar.gz
247+
Loaded 1 attestation from GitHub API
257248
258-
sha256:xxx was attested by:
259-
REPO PREDICATE_TYPE WORKFLOW
260-
roots/trellis-cli https://slsa.dev/provenance/v1 .github/workflows/release.yml@refs/tags/v9.8.7
249+
The following policy criteria will be enforced:
250+
- Predicate type must match:................ https://slsa.dev/provenance/v1
251+
- Source Repository Owner URI must match:... https://github.com/roots
252+
- Source Repository URI must match:......... https://github.com/roots/trellis-cli
253+
- Subject Alternative Name must match regex: (?i)^https://github.com/roots/trellis-cli/
254+
- OIDC Issuer must match:................... https://token.actions.githubusercontent.com
261255
262-
# The SBOM
263-
$ gh attestation verify --repo roots/trellis-cli /path/to/trellis_Darwin_arm64.tar.gz.sbom.json
264-
## ...snipped...
265256
✓ Verification succeeded!
266257
267-
sha256:xxx was attested by:
268-
REPO PREDICATE_TYPE WORKFLOW
269-
roots/trellis-cli https://slsa.dev/provenance/v1 .github/workflows/release.yml@refs/tags/v9.8.7
258+
The following 1 attestation matched the policy criteria
259+
260+
- Attestation #1
261+
- Build repo:..... roots/trellis-cli
262+
- Build workflow:. .github/workflows/release.yml@refs/tags/v0.0.1
263+
- Signer repo:.... roots/trellis-cli
264+
- Signer workflow: .github/workflows/release.yml@refs/tags/v0.0.1
270265
```
271266

272267
## Shell Integration
@@ -465,4 +460,3 @@ Keep track of development and community news.
465460
- Follow [@rootswp on Twitter](https://twitter.com/rootswp)
466461
- Follow the [Roots Blog](https://roots.io/blog/)
467462
- Subscribe to the [Roots Newsletter](https://roots.io/subscribe/)
468-

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ module github.com/roots/trellis-cli
33
go 1.25.0
44

55
require (
6-
github.com/digitalocean/godo v1.184.0
6+
github.com/digitalocean/godo v1.186.0
77
github.com/fatih/color v1.19.0
88
github.com/google/go-cmp v0.7.0
99
github.com/hashicorp/cli v1.1.7
1010
github.com/hashicorp/go-version v1.9.0
1111
github.com/hetznercloud/hcloud-go/v2 v2.37.0
1212
github.com/manifoldco/promptui v0.9.0
13-
github.com/mattn/go-isatty v0.0.20
13+
github.com/mattn/go-isatty v0.0.21
1414
github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2
1515
github.com/mholt/archives v0.1.5
1616
github.com/mitchellh/go-homedir v1.1.0
1717
github.com/posener/complete v1.2.3
1818
github.com/theckman/yacspin v0.13.12
1919
github.com/weppos/publicsuffix-go v0.50.3
20-
golang.org/x/crypto v0.49.0
20+
golang.org/x/crypto v0.50.0
2121
golang.org/x/oauth2 v0.36.0
2222
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61
2323
gopkg.in/ini.v1 v1.67.1
@@ -74,8 +74,8 @@ require (
7474
go.yaml.in/yaml/v2 v2.4.2 // indirect
7575
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
7676
golang.org/x/net v0.52.0 // indirect
77-
golang.org/x/sys v0.42.0 // indirect
78-
golang.org/x/text v0.35.0 // indirect
77+
golang.org/x/sys v0.43.0 // indirect
78+
golang.org/x/text v0.36.0 // indirect
7979
golang.org/x/time v0.6.0 // indirect
8080
google.golang.org/protobuf v1.36.8 // indirect
8181
)

go.sum

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
5959
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6060
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
6161
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
62-
github.com/digitalocean/godo v1.184.0 h1:2B2CQhxftlf3xa24Nrzn5CBQlaQjyaWqi3XbbnJlG3w=
63-
github.com/digitalocean/godo v1.184.0/go.mod h1:xQsWpVCCbkDrWisHA72hPzPlnC+4W5w/McZY5ij9uvU=
62+
github.com/digitalocean/godo v1.186.0 h1:aEYwSumR47vD1tX5mdPdznHrR72DBfHcmh0v9MxCwCw=
63+
github.com/digitalocean/godo v1.186.0/go.mod h1:xQsWpVCCbkDrWisHA72hPzPlnC+4W5w/McZY5ij9uvU=
6464
github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 h1:2tV76y6Q9BB+NEBasnqvs7e49aEBFI8ejC89PSnWH+4=
6565
github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s=
6666
github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
@@ -156,8 +156,8 @@ github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYt
156156
github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg=
157157
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
158158
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
159-
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
160-
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
159+
github.com/mattn/go-isatty v0.0.21 h1:xYae+lCNBP7QuW4PUnNG61ffM4hVIfm+zUzDuSzYLGs=
160+
github.com/mattn/go-isatty v0.0.21/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
161161
github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
162162
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
163163
github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 h1:YocNLcTBdEdvY3iDK6jfWXvEaM5OCKkjxPKoJRdB3Gg=
@@ -251,8 +251,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
251251
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
252252
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
253253
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
254-
golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4=
255-
golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA=
254+
golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI=
255+
golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q=
256256
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
257257
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
258258
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -334,15 +334,14 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
334334
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
335335
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
336336
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
337-
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
338-
golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo=
339-
golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
337+
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
338+
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
340339
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
341340
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
342341
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
343342
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
344-
golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU=
345-
golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A=
343+
golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY=
344+
golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY=
346345
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
347346
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
348347
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -351,8 +350,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
351350
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
352351
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
353352
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
354-
golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
355-
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
353+
golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg=
354+
golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164=
356355
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
357356
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
358357
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=

0 commit comments

Comments
 (0)