Repository navigation
Open
Description
Everything works fine on local enviroment, but can not run go test in GitHub actions CI.
My GitHub action config:
name: Build and test Go
on: [ push, pull_request ]
jobs:
test:
strategy:
matrix:
go-version: [ 1.15.x ]
os: [ ubuntu-latest ]
mongodb-version: [4.2]
runs-on: ${{ matrix.os }}
steps:
- name: setup env
shell: bash
run: |
echo "::set-env name=GOPATH::${{ github.workspace }}/go"
echo "::add-path::${{ github.workspace }}/go/bin"
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Start MongoDB
uses: supercharge/mongodb-github-action@1.3.0
with:
mongodb-version: ${{ matrix.mongodb-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Build
env:
GOPROXY: "https://proxy.golang.org"
run: go build .
- name: Test
run: go test ./...
Some GitHub action logs:
ok github.com/klauspost/compress/zstd 30.515s
ok github.com/klauspost/compress/zstd/internal/xxhash 0.016s
--- FAIL: TestFormatNew (0.00s)
format_test.go:38: test 3: line 3: fmt.Sprintf("%+v", err):
got: "error\ngithub.com/pkg/errors.TestFormatNew\n\t/home/runner/work/coinsmart-api/coinsmart-api/go/pkg/mod/github.com/pkg/errors@v0.9.1/format_test.go:26\ntesting.tRunner\n\t/opt/hostedtoolcache/go/1.15.0/x64/src/testing/testing.go:1108\nruntime.goexit\n\t/opt/hostedtoolcache/go/1.15.0/x64/src/runtime/asm_amd64.s:1374"
want: "error\ngithub.com/pkg/errors.TestFormatNew\n\t.+/github.com/pkg/errors/format_test.go:26"
--- FAIL: TestFormatErrorf (0.00s)
format_test.go:64: test 3: line 3: fmt.Sprintf("%+v", err):
got: "error\ngithub.com/pkg/errors.TestFormatErrorf\n\t/home/runner/work/coinsmart-api/coinsmart-api/go/pkg/mod/github.com/pkg/errors@v0.9.1/format_test.go:56\ntesting.tRunner\n\t/opt/hostedtoolcache/go/1.15.0/x64/src/testing/testing.go:1108\nruntime.goexit\n\t/opt/hostedtoolcache/go/1.15.0/x64/src/runtime/asm_amd64.s:1374"
want: "error\ngithub.com/pkg/errors.TestFormatErrorf\n\t.+/github.com/pkg/errors/format_test.go:56"
It seems errors can not pass the tests. But I don't know why.
Metadata
Metadata
Assignees
Labels
No labels
Activity
titouanfreville commentedon Aug 28, 2020
@zmrenwu are you using
go mod vendoron your local environment ?Your issue seems to be linked to the
go modinstallation witch add an@VERSIONfor each downloaded package while your test does not expect the versioning element. If you use avendordirectory on your local, the test will pass cause the vendored installation does not use the @Version packaging.