diff --git a/.github/workflows/check-docs.yml b/.github/workflows/check-docs.yml index 2954217d8c..8133239caa 100644 --- a/.github/workflows/check-docs.yml +++ b/.github/workflows/check-docs.yml @@ -4,6 +4,8 @@ name: Check docs build on: pull_request: types: [ labeled ] + paths: + - "docs/**" jobs: check-docs-build: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 1317d6c861..99b58e9691 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -2,8 +2,12 @@ name: "CodeQL" on: pull_request: + paths: + - "**.go" push: branches: [ master ] + paths: + - "**.go" jobs: analyze: @@ -46,4 +50,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 \ No newline at end of file + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/test-race.yml b/.github/workflows/test-race.yml new file mode 100644 index 0000000000..1a12bef001 --- /dev/null +++ b/.github/workflows/test-race.yml @@ -0,0 +1,101 @@ +name: Tests Race +# Tests Race workflow runs unit tests with the race detector +# This workflow is run on pushes to master & every Pull Requests where a .go, .mod, .sum have been changed +on: + pull_request: + push: + branches: + - master +jobs: + install-tparse: + runs-on: ubuntu-latest + steps: + - uses: actions/setup-go@v2.1.5 + with: + go-version: 1.17 + - name: Display go version + run: go version + - name: install tparse + run: | + export GO111MODULE="on" && go get github.com/mfridman/tparse@v0.8.3 + - uses: actions/cache@v2.1.7 + with: + path: ~/go/bin + key: ${{ runner.os }}-go-tparse-binary + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-go@v2.1.5 + with: + go-version: 1.17 + - uses: technote-space/get-diff-action@v6.0.1 + id: git_diff + with: + PATTERNS: | + **/**.go + **/go.mod + **/go.sum + - name: Build + run: GOARCH=${{ matrix.go-arch }} LEDGER_ENABLED=false make build + + - name: Build cosmovisor + run: GOARCH=${{ matrix.go-arch }} LEDGER_ENABLED=false make cosmovisor + + split-test-files: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Create a file with all core Cosmos SDK pkgs + run: go list ./... > pkgs.txt + - name: Split pkgs into 4 files + run: split -d -n l/4 pkgs.txt pkgs.txt.part. + # cache multiple + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-00" + path: ./pkgs.txt.part.00 + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-01" + path: ./pkgs.txt.part.01 + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-02" + path: ./pkgs.txt.part.02 + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-03" + path: ./pkgs.txt.part.03 + + test-race: + runs-on: ubuntu-latest + needs: split-test-files + strategy: + fail-fast: false + matrix: + part: ["00", "01", "02", "03"] + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-go@v2.1.5 + with: + go-version: 1.17 + - uses: technote-space/get-diff-action@v6.0.1 + with: + PATTERNS: | + **/**.go + go.mod + go.sum + - uses: actions/download-artifact@v2 + with: + name: "${{ github.sha }}-${{ matrix.part }}" + if: env.GIT_DIFF + - name: test & coverage report creation + run: | + xargs --arg-file=pkgs.txt.part.${{ matrix.part }} go test -mod=readonly -timeout 30m -race -tags='cgo ledger test_ledger_mock' + if: env.GIT_DIFF + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-${{ matrix.part }}-race-output" + path: ./${{ matrix.part }}-race-output.txt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c31f91ef82..c4232e2dc0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,22 +7,6 @@ on: branches: - master jobs: - install-tparse: - runs-on: ubuntu-latest - steps: - - uses: actions/setup-go@v2.1.5 - with: - go-version: 1.17 - - name: Display go version - run: go version - - name: install tparse - run: | - export GO111MODULE="on" && go get github.com/mfridman/tparse@v0.8.3 - - uses: actions/cache@v2.1.7 - with: - path: ~/go/bin - key: ${{ runner.os }}-go-tparse-binary - build: runs-on: ubuntu-latest strategy: @@ -178,37 +162,6 @@ jobs: file: ./coverage.txt if: env.GIT_DIFF - test-race: - runs-on: ubuntu-latest - needs: split-test-files - strategy: - fail-fast: false - matrix: - part: ["00", "01", "02", "03"] - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2.1.5 - with: - go-version: 1.17 - - uses: technote-space/get-diff-action@v6.0.1 - with: - PATTERNS: | - **/**.go - go.mod - go.sum - - uses: actions/download-artifact@v2 - with: - name: "${{ github.sha }}-${{ matrix.part }}" - if: env.GIT_DIFF - - name: test & coverage report creation - run: | - xargs --arg-file=pkgs.txt.part.${{ matrix.part }} go test -mod=readonly -timeout 30m -race -tags='cgo ledger test_ledger_mock' - if: env.GIT_DIFF - - uses: actions/upload-artifact@v2 - with: - name: "${{ github.sha }}-${{ matrix.part }}-race-output" - path: ./${{ matrix.part }}-race-output.txt - test-rosetta: runs-on: ubuntu-latest timeout-minutes: 10 @@ -249,12 +202,3 @@ jobs: run: | ./contrib/localnet_liveness.sh 100 5 50 localhost if: env.GIT_DIFF - - docker-build: - runs-on: ubuntu-latest - timeout-minutes: 10 - steps: - - uses: actions/checkout@v2 - - name: build docker image - run: | - docker build --pull --rm -f "Dockerfile" -t simapp:latest "."