From 6c7108d83e31e3554f2a32cc595a16548061997e Mon Sep 17 00:00:00 2001 From: web3-bot Date: Wed, 8 Feb 2023 12:50:28 +0000 Subject: [PATCH 1/6] bump go.mod to Go 1.19 and run go fix --- testplans/graphsync/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testplans/graphsync/go.mod b/testplans/graphsync/go.mod index 681a88cc..976d0bcb 100644 --- a/testplans/graphsync/go.mod +++ b/testplans/graphsync/go.mod @@ -1,6 +1,6 @@ module github.com/ipfs/go-graphsync/testplans/graphsync -go 1.18 +go 1.19 require ( github.com/dgraph-io/badger/v2 v2.2007.3 From 52784c33f55f4512bcac31fa19346442eef4eccf Mon Sep 17 00:00:00 2001 From: web3-bot Date: Wed, 8 Feb 2023 12:50:45 +0000 Subject: [PATCH 2/6] bump go.mod to Go 1.19 and run go fix --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 9da74026..2a6bdef5 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/ipfs/go-graphsync -go 1.18 +go 1.19 require ( github.com/google/go-cmp v0.5.9 From e07c6836aada72b50b08b8b5a9c9af46e4963d05 Mon Sep 17 00:00:00 2001 From: web3-bot Date: Wed, 8 Feb 2023 12:50:48 +0000 Subject: [PATCH 3/6] update .github/workflows/go-test.yml --- .github/workflows/go-test.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/go-test.yml b/.github/workflows/go-test.yml index 8a1697b2..c5cb3efc 100644 --- a/.github/workflows/go-test.yml +++ b/.github/workflows/go-test.yml @@ -10,15 +10,17 @@ jobs: fail-fast: false matrix: os: [ "ubuntu", "windows", "macos" ] - go: [ "1.18.x", "1.19.x" ] + go: ["1.19.x","1.20.x"] env: COVERAGES: "" - runs-on: ${{ format('{0}-latest', matrix.os) }} + runs-on: ${{ fromJSON(vars[format('UCI_GO_TEST_RUNNER_{0}', matrix.os)] || format('"{0}-latest"', matrix.os)) }} name: ${{ matrix.os }} (go ${{ matrix.go }}) steps: - uses: actions/checkout@v3 with: submodules: recursive + - id: config + uses: protocol/.github/.github/actions/read-config@master - uses: actions/setup-go@v3 with: go-version: ${{ matrix.go }} @@ -27,7 +29,7 @@ jobs: go version go env - name: Use msys2 on windows - if: ${{ matrix.os == 'windows' }} + if: matrix.os == 'windows' shell: bash # The executable for msys2 is also called bash.cmd # https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md#shells @@ -38,6 +40,7 @@ jobs: uses: ./.github/actions/go-test-setup if: hashFiles('./.github/actions/go-test-setup') != '' - name: Run tests + if: contains(fromJSON(steps.config.outputs.json).skipOSes, matrix.os) == false uses: protocol/multiple-go-modules@v1.2 with: # Use -coverpkg=./..., so that we include cross-package coverage. @@ -45,16 +48,21 @@ jobs: # this means ./B's coverage will be significantly higher than 0%. run: go test -v -shuffle=on -coverprofile=module-coverage.txt -coverpkg=./... ./... - name: Run tests (32 bit) - if: ${{ matrix.os != 'macos' }} # can't run 32 bit tests on OSX. + # can't run 32 bit tests on OSX. + if: matrix.os != 'macos' && + fromJSON(steps.config.outputs.json).skip32bit != true && + contains(fromJSON(steps.config.outputs.json).skipOSes, matrix.os) == false uses: protocol/multiple-go-modules@v1.2 env: GOARCH: 386 with: run: | - export "PATH=${{ env.PATH_386 }}:$PATH" + export "PATH=$PATH_386:$PATH" go test -v -shuffle=on ./... - name: Run tests with race detector - if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow + # speed things up. Windows and OSX VMs are slow + if: matrix.os == 'ubuntu' && + contains(fromJSON(steps.config.outputs.json).skipOSes, matrix.os) == false uses: protocol/multiple-go-modules@v1.2 with: run: go test -v -race ./... @@ -62,7 +70,7 @@ jobs: shell: bash run: echo "COVERAGES=$(find . -type f -name 'module-coverage.txt' | tr -s '\n' ',' | sed 's/,$//')" >> $GITHUB_ENV - name: Upload coverage to Codecov - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 + uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # v3.1.1 with: files: '${{ env.COVERAGES }}' env_vars: OS=${{ matrix.os }}, GO=${{ matrix.go }} From eeda6e77b9d110f0008d8e0555587b21c78fce1b Mon Sep 17 00:00:00 2001 From: web3-bot Date: Wed, 8 Feb 2023 12:50:48 +0000 Subject: [PATCH 4/6] update .github/workflows/go-check.yml --- .github/workflows/go-check.yml | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/.github/workflows/go-check.yml b/.github/workflows/go-check.yml index 251f7faa..cc65ce68 100644 --- a/.github/workflows/go-check.yml +++ b/.github/workflows/go-check.yml @@ -8,26 +8,20 @@ jobs: unit: runs-on: ubuntu-latest name: All - env: - RUNGOGENERATE: false steps: - uses: actions/checkout@v3 with: submodules: recursive + - id: config + uses: protocol/.github/.github/actions/read-config@master - uses: actions/setup-go@v3 with: - go-version: "1.19.x" + go-version: 1.20.x - name: Run repo-specific setup uses: ./.github/actions/go-check-setup if: hashFiles('./.github/actions/go-check-setup') != '' - - name: Read config - if: hashFiles('./.github/workflows/go-check-config.json') != '' - run: | - if jq -re .gogenerate ./.github/workflows/go-check-config.json; then - echo "RUNGOGENERATE=true" >> $GITHUB_ENV - fi - name: Install staticcheck - run: go install honnef.co/go/tools/cmd/staticcheck@376210a89477dedbe6fdc4484b233998650d7b3c # 2022.1.3 (v0.3.3) + run: go install honnef.co/go/tools/cmd/staticcheck@4970552d932f48b71485287748246cf3237cebdf # 2023.1 (v0.4.0) - name: Check that go.mod is tidy uses: protocol/multiple-go-modules@v1.2 with: @@ -39,7 +33,7 @@ jobs: fi git diff --exit-code -- go.sum go.mod - name: gofmt - if: ${{ success() || failure() }} # run this step even if the previous one failed + if: success() || failure() # run this step even if the previous one failed run: | out=$(gofmt -s -l .) if [[ -n "$out" ]]; then @@ -47,12 +41,12 @@ jobs: exit 1 fi - name: go vet - if: ${{ success() || failure() }} # run this step even if the previous one failed + if: success() || failure() # run this step even if the previous one failed uses: protocol/multiple-go-modules@v1.2 with: run: go vet ./... - name: staticcheck - if: ${{ success() || failure() }} # run this step even if the previous one failed + if: success() || failure() # run this step even if the previous one failed uses: protocol/multiple-go-modules@v1.2 with: run: | @@ -60,11 +54,11 @@ jobs: staticcheck ./... | sed -e 's@\(.*\)\.go@./\1.go@g' - name: go generate uses: protocol/multiple-go-modules@v1.2 - if: (success() || failure()) && env.RUNGOGENERATE == 'true' + if: (success() || failure()) && fromJSON(steps.config.outputs.json).gogenerate == true with: run: | git clean -fd # make sure there aren't untracked files / directories - go generate ./... + go generate -x ./... # check if go generate modified or added any files if ! $(git add . && git diff-index HEAD --exit-code --quiet); then echo "go generated caused changes to the repository:" From 5950c1a876e5a5eecf7f1db213451599988aa258 Mon Sep 17 00:00:00 2001 From: web3-bot Date: Wed, 8 Feb 2023 12:50:48 +0000 Subject: [PATCH 5/6] update .github/workflows/release-check.yml --- .github/workflows/release-check.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-check.yml b/.github/workflows/release-check.yml index fde81c1f..e2408e37 100644 --- a/.github/workflows/release-check.yml +++ b/.github/workflows/release-check.yml @@ -3,9 +3,11 @@ name: Release Checker on: - pull_request: + pull_request_target: paths: [ 'version.json' ] jobs: release-check: uses: protocol/.github/.github/workflows/release-check.yml@master + with: + go-version: 1.20.x From da406741f835021266efd20becc02ff325f45c14 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 16 Feb 2023 16:48:07 +1100 Subject: [PATCH 6/6] fix: replace math/rand#Read with crypto/rand#Read --- benchmarks/benchmark_test.go | 3 ++- responsemanager/queryexecutor/queryexecutor_test.go | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/benchmarks/benchmark_test.go b/benchmarks/benchmark_test.go index 8db69e87..11bd970d 100644 --- a/benchmarks/benchmark_test.go +++ b/benchmarks/benchmark_test.go @@ -3,6 +3,7 @@ package graphsync_test import ( "bytes" "context" + crand "crypto/rand" "fmt" "math/rand" "os" @@ -264,7 +265,7 @@ const defaultUnixfsLinksPerLevel = 1024 func loadRandomUnixFxFile(ctx context.Context, b *testing.B, bs blockstore.Blockstore, size uint64, unixfsChunkSize uint64, unixfsLinksPerLevel int, useRawNodes bool) cid.Cid { data := make([]byte, size) - _, err := rand.Read(data) + _, err := crand.Read(data) require.NoError(b, err) buf := bytes.NewReader(data) file := files.NewReaderFile(buf) diff --git a/responsemanager/queryexecutor/queryexecutor_test.go b/responsemanager/queryexecutor/queryexecutor_test.go index 28645f9e..0538eafc 100644 --- a/responsemanager/queryexecutor/queryexecutor_test.go +++ b/responsemanager/queryexecutor/queryexecutor_test.go @@ -3,6 +3,7 @@ package queryexecutor import ( "bytes" "context" + crand "crypto/rand" "fmt" "io" "math/rand" @@ -220,7 +221,7 @@ func TestSmallGraphTask(t *testing.T) { func newRandomBlock(index int64) *blockData { digest := make([]byte, 32) - _, err := rand.Read(digest) + _, err := crand.Read(digest) if err != nil { panic(err) } @@ -228,7 +229,7 @@ func newRandomBlock(index int64) *blockData { c := cid.NewCidV1(cid.DagCBOR, mh) link := &cidlink.Link{Cid: c} data := make([]byte, rand.Intn(64)+1) - _, err = rand.Read(data) + _, err = crand.Read(data) if err != nil { panic(err) }