Skip to content

Commit aa55623

Browse files
authored
build.yaml: Generate and upload binaries to GCP storage (#42)
1 parent 32697c2 commit aa55623

5 files changed

Lines changed: 126 additions & 126 deletions

File tree

.github/dependabot.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
version: 2
22

33
updates:
4-
# Maintain dependencies for GitHub Actions
5-
- package-ecosystem: "github-actions"
6-
directory: "/"
4+
- package-ecosystem: github-actions
5+
directory: /
76
schedule:
8-
interval: "daily"
7+
interval: daily
8+
9+
- package-ecosystem: gomod
10+
directory: /
11+
schedule:
12+
interval: daily

.github/workflows/build.yaml

Lines changed: 85 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -9,131 +9,51 @@ on:
99
- "v*"
1010

1111
jobs:
12-
linux:
12+
build:
1313
strategy:
1414
matrix:
1515
platform:
16-
- linux
16+
- name: linux
17+
os: ubuntu-20.04
18+
- name: darwin
19+
os: macos-latest
1720
arch:
1821
- arm64
1922
- amd64
20-
name: Build binaries for ${{ matrix.platform }} platform (${{ matrix.arch }})
21-
runs-on: ubuntu-20.04
23+
name: Build binaries for ${{ matrix.platform.name }}-${{ matrix.arch }}
24+
runs-on: ${{ matrix.platform.os }}
2225
steps:
23-
- name: Export OS and platform env
24-
run: |
25-
echo "GOOS=${{ matrix.platform }}" >> $GITHUB_ENV
26-
echo "GOARCH=${{ matrix.arch }}" >> $GITHUB_ENV
27-
28-
- name: Set up go
29-
id: go
30-
uses: actions/setup-go@v3
31-
with:
32-
go-version: 1.19
33-
3426
- name: Check out code
3527
uses: actions/checkout@v3
3628
with:
3729
fetch-depth: 0
30+
# Check https://github.com/livepeer/go-livepeer/pull/1891
31+
# for ref value discussion
3832
ref: ${{ github.event.pull_request.head.sha }}
3933

40-
- name: Restore cache
41-
id: cache-go-mod
42-
uses: actions/cache@v3
43-
with:
44-
path: |
45-
~/.cache/go-build
46-
~/go/pkg/mod
47-
key: ${{ runner.os }}-${{ matrix.arch }}-go-${{ hashFiles('**/go.sum') }}
48-
restore-keys: |
49-
${{ runner.os }}-${{ matrix.arch }}-go-
50-
51-
- name: Download dependencies
52-
if: steps.cache-go-mod.outputs.cache-hit != 'true'
53-
run: go mod download
54-
55-
- name: Build
56-
run: |
57-
mkdir -p build/ releases/
58-
make build GO_BUILD_DIR="build/"
59-
60-
- name: Archive binaries for windows
61-
if: matrix.platform == 'windows'
62-
run: |
63-
cd build/
64-
for file in $(find . -type f -perm -a+x)
65-
do
66-
f_name="$(basename $file)"
67-
mv "${f_name}" "livepeer-${f_name}"
68-
zip -9q "../releases/livepeer-${f_name/.exe/}-${GOOS}-${GOARCH}.zip" "livepeer-${f_name}"
69-
done
70-
71-
- name: Archive binaries for linux
72-
if: matrix.platform == 'linux'
73-
run: |
74-
cd build/
75-
for file in $(find . -type f -perm -a+x)
76-
do
77-
f_name="$(basename $file)"
78-
mv "${f_name}" "livepeer-${f_name}"
79-
tar -czf "../releases/livepeer-${f_name}-${GOOS}-${GOARCH}.tar.gz" "livepeer-${f_name}"
80-
done
81-
82-
- name: Upload artifacts for cutting release
83-
uses: actions/upload-artifact@master
84-
with:
85-
name: release-artifacts
86-
path: releases/
87-
88-
macos:
89-
strategy:
90-
matrix:
91-
arch:
92-
- arm64
93-
- amd64
94-
name: Build binaries for macOS platform
95-
runs-on: macos-11
96-
steps:
9734
- name: Set up go
9835
id: go
9936
uses: actions/setup-go@v3
10037
with:
101-
go-version: 1.19
102-
103-
- name: Check out code
104-
uses: actions/checkout@v3
105-
with:
106-
fetch-depth: 0
107-
# Check https://github.com/livepeer/go-livepeer/pull/1891
108-
# for ref value discussion
109-
ref: ${{ github.event.pull_request.head.sha }}
38+
go-version-file: go.mod
39+
cache: true
40+
cache-dependency-path: go.sum
11041

111-
- name: Restore cache
112-
id: cache-go-mod
113-
uses: actions/cache@v3
114-
with:
115-
path: |
116-
~/.cache/go-build
117-
~/go/pkg/mod
118-
key: ${{ runner.os }}-${{ matrix.arch }}-go-${{ hashFiles('**/go.sum') }}
119-
restore-keys: |
120-
${{ runner.os }}-${{ matrix.arch }}-go-
42+
- name: Export OS and platform env
43+
run: |
44+
echo "GOOS=${{ matrix.platform.name }}" >> $GITHUB_ENV
45+
echo "GOARCH=${{ matrix.arch }}" >> $GITHUB_ENV
12146
12247
- name: Download dependencies
123-
if: steps.cache-go-mod.outputs.cache-hit != 'true'
48+
if: steps.go.outputs.cache-hit != 'true'
12449
run: go mod download
12550

12651
- name: Build
12752
run: |
12853
mkdir -p build/ releases/
129-
GOARCH="${{ matrix.arch }}" make -j4 build GO_BUILD_DIR="build/"
54+
make build GO_BUILD_DIR="build/"
13055
cd build/
131-
for file in $(find . -type f -perm -a+x)
132-
do
133-
f_name="$(basename $file)"
134-
mv "${f_name}" "livepeer-${f_name}"
135-
done
136-
cd -
56+
mv catalyst-api livepeer-catalyst-api
13757
13858
- uses: actions-ecosystem/action-regex-match@v2
13959
id: match-tag
@@ -142,29 +62,89 @@ jobs:
14262
regex: '^(master|main|v[0-9]+\.\d+\.\d+)$'
14363

14464
- name: Codesign and notarize binaries
145-
if: ${{ steps.match-tag.outputs.match != '' }}
65+
if: ${{ matrix.platform.name == 'darwin' && steps.match-tag.outputs.match != '' }}
14666
uses: livepeer/action-gh-codesign-apple@latest
14767
with:
14868
developer-certificate-id: ${{ secrets.CI_MACOS_CERTIFICATE_ID }}
14969
developer-certificate-base64: ${{ secrets.CI_MACOS_CERTIFICATE_BASE64 }}
15070
developer-certificate-password: ${{ secrets.CI_MACOS_CERTIFICATE_PASSWORD }}
15171
app-notarization-email: ${{ secrets.CI_MACOS_NOTARIZATION_USER }}
15272
app-notarization-password: ${{ secrets.CI_MACOS_NOTARIZATION_PASSWORD }}
153-
binary-path: "build/"
154-
app-bundle-id: "org.livepeer.lapi"
73+
binary-path: build/livepeer-catalyst-api
74+
app-bundle-id: org.livepeer.catalyst-api
15575

156-
- name: Archive signed binary
76+
- name: Archive binaries for windows
77+
if: matrix.platform.name == 'windows'
15778
run: |
15879
cd build/
15980
for file in $(find . -type f -perm -a+x)
16081
do
16182
f_name="$(basename $file)"
162-
tar -czf "../releases/${f_name}-darwin-${{ matrix.arch }}.tar.gz" "${f_name}"
83+
mv "${f_name}" "livepeer-${f_name}"
84+
zip -9q "../releases/livepeer-${f_name/.exe/}-${GOOS}-${GOARCH}.zip" "livepeer-${f_name}"
16385
done
164-
cd -
86+
87+
- name: Archive binaries
88+
if: matrix.platform.name != 'windows'
89+
run: |
90+
cd build/
91+
tar -czvf "../releases/livepeer-catalyst-api-${GOOS}-${GOARCH}.tar.gz" ./livepeer-catalyst-api
16592
16693
- name: Upload artifacts for cutting release
16794
uses: actions/upload-artifact@master
16895
with:
16996
name: release-artifacts
17097
path: releases/
98+
99+
upload:
100+
name: Upload artifacts to google bucket
101+
permissions:
102+
contents: "read"
103+
id-token: "write"
104+
runs-on: ubuntu-latest
105+
needs:
106+
- build
107+
steps:
108+
- name: Download artifacts
109+
uses: actions/download-artifact@v3
110+
with:
111+
name: release-artifacts
112+
path: releases/
113+
114+
- name: Generate sha256 checksum and gpg signatures for release artifacts
115+
uses: livepeer/action-gh-checksum-and-gpg-sign@latest
116+
with:
117+
artifacts-dir: releases
118+
release-name: ${{ github.ref_type == 'tag' && github.ref_name || github.sha }}
119+
gpg-key: ${{ secrets.CI_GPG_SIGNING_KEY }}
120+
gpg-key-passphrase: ${{ secrets.CI_GPG_SIGNING_PASSPHRASE }}
121+
122+
- name: Generate branch manifest
123+
id: branch-manifest
124+
uses: livepeer/branch-manifest-action@latest
125+
with:
126+
project-name: ${{ github.event.repository.name }}
127+
platform: linux, darwin
128+
129+
- name: Authenticate to Google Cloud
130+
id: auth
131+
uses: google-github-actions/auth@v0
132+
with:
133+
workload_identity_provider: ${{ secrets.CI_GOOGLE_WORKLOAD_IDENTITY_PROVIDER }}
134+
service_account: ${{ secrets.CI_GOOGLE_SERVICE_ACCOUNT }}
135+
136+
- name: Upload release archives to Google Cloud
137+
id: upload-archives
138+
uses: google-github-actions/upload-cloud-storage@v0
139+
with:
140+
path: 'releases'
141+
destination: "build.livepeer.live/${{ github.event.repository.name }}/${{ (github.ref_type == 'tag' && github.ref_name) || github.sha }}"
142+
parent: false
143+
144+
- name: Upload branch manifest file
145+
id: upload-manifest
146+
uses: google-github-actions/upload-cloud-storage@v0
147+
with:
148+
path: ${{ steps.branch-manifest.outputs.manifest-file }}
149+
destination: 'build.livepeer.live/${{ github.event.repository.name }}/'
150+
parent: false

.github/workflows/test.yaml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,20 @@ jobs:
1515
uses: actions/checkout@v3
1616
with:
1717
fetch-depth: 0
18+
# Check https://github.com/livepeer/go-livepeer/pull/1891
19+
# for ref value discussion
1820
ref: ${{ github.event.pull_request.head.sha }}
1921

2022
- name: Set up go
2123
id: go
2224
uses: actions/setup-go@v3
2325
with:
24-
go-version: 1.17
25-
26-
- name: Cache go modules
27-
id: cache-go-mod
28-
uses: actions/cache@v3
29-
with:
30-
path: ~/go/pkg/mod
31-
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
32-
restore-keys: |
33-
${{ runner.os }}-go-
26+
go-version-file: go.mod
27+
cache: true
28+
cache-dependency-path: go.sum
3429

3530
- name: Install go modules
36-
if: steps.cache-go-mod.outputs.cache-hit != 'true'
31+
if: steps.go.outputs.cache-hit != 'true'
3732
run: go mod download
3833

3934
- name: go fmt
@@ -48,5 +43,5 @@ jobs:
4843
uses: codecov/codecov-action@v3
4944
with:
5045
files: ./coverage.out
51-
name: catalyst-api
46+
name: ${{ github.event.repository.name }}
5247
verbose: true

go.mod

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,24 @@ module github.com/livepeer/catalyst-api
33
go 1.18
44

55
require (
6-
github.com/go-kit/kit v0.12.0
76
github.com/julienschmidt/httprouter v1.3.0
87
github.com/livepeer/livepeer-data v0.4.19
98
github.com/stretchr/testify v1.8.0
109
github.com/xeipuuv/gojsonschema v1.2.0
1110
sigs.k8s.io/yaml v1.3.0
1211
)
1312

14-
require github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
13+
require (
14+
github.com/fatih/color v1.12.0 // indirect
15+
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
16+
github.com/hashicorp/go-hclog v0.16.2 // indirect
17+
github.com/mattn/go-colorable v0.1.8 // indirect
18+
github.com/mattn/go-isatty v0.0.14 // indirect
19+
)
1520

1621
require (
1722
github.com/davecgh/go-spew v1.1.1 // indirect
18-
github.com/go-kit/log v0.2.0 // indirect
23+
github.com/go-kit/log v0.2.0
1924
github.com/go-logfmt/logfmt v0.5.1 // indirect
2025
github.com/hashicorp/go-retryablehttp v0.7.1
2126
github.com/pmezard/go-difflib v1.0.0 // indirect

go.sum

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,15 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
1818
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
1919
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
2020
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
21+
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
22+
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
23+
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
2124
github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
2225
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
2326
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
2427
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
2528
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
2629
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
27-
github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4=
28-
github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs=
2930
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
3031
github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw=
3132
github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
@@ -64,6 +65,8 @@ github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng
6465
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
6566
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
6667
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
68+
github.com/hashicorp/go-hclog v0.16.2 h1:K4ev2ib4LdQETX5cSZBG0DVLk1jwGqSPXBjdah3veNs=
69+
github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
6770
github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ=
6871
github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
6972
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
@@ -90,6 +93,14 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
9093
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
9194
github.com/livepeer/livepeer-data v0.4.19 h1:0VO9S83jcitnBnKRQTEsUE4cBYMEpkoyjCwFO6Po5oY=
9295
github.com/livepeer/livepeer-data v0.4.19/go.mod h1:D4LCb6Wi5nI6JS1LPlzys2cLtBZadvfTQmn6P2nXbsg=
96+
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
97+
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
98+
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
99+
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
100+
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
101+
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
102+
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
103+
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
93104
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
94105
github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
95106
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -188,13 +199,17 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h
188199
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
189200
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
190201
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
202+
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
191203
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
192204
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
193205
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
194206
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
207+
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
195208
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
196209
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
197210
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
211+
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
212+
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
198213
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
199214
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
200215
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -205,6 +220,7 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w
205220
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
206221
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
207222
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
223+
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM=
208224
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
209225
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
210226
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=

0 commit comments

Comments
 (0)