feat(multi): add parallel run mode option #1845
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4 | |
| - name: Install Go | |
| uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5 | |
| with: | |
| go-version-file: "go.mod" | |
| - name: Setup Environment | |
| run: | | |
| echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV | |
| echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | |
| - name: Module cache | |
| uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4 | |
| env: | |
| cache-name: go-mod-cache | |
| with: | |
| path: ~/go/pkg/mod | |
| key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }} | |
| - name: Run linter | |
| run: make lint | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Go | |
| uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5 | |
| with: | |
| go-version-file: "go.mod" | |
| - name: Setup Environment | |
| run: | | |
| echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV | |
| echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | |
| - name: Module cache | |
| uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4 | |
| env: | |
| cache-name: go-mod-cache | |
| with: | |
| path: ~/go/pkg/mod | |
| key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }} | |
| - name: Run unit tests | |
| run: go test -tags testtools -timeout 1m -race -short -coverpkg=./... -coverprofile=coverage-unit.out -covermode=atomic ./... | |
| - name: Run e2e tests | |
| run: go test -tags testtools -timeout 1m -race -coverpkg=./... -coverprofile=coverage-e2e.out -covermode=atomic ./e2e/... | |
| - name: Upload coverage to Codecov (unit) | |
| uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 | |
| with: | |
| name: Code Coverage for GO SDK (unit) | |
| files: ./coverage-unit.out | |
| flags: unit | |
| fail_ci_if_error: true | |
| verbose: true | |
| token: ${{ secrets.CODECOV_UPLOAD_TOKEN }} | |
| - name: Upload coverage to Codecov (e2e) | |
| uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 | |
| with: | |
| name: Code Coverage for GO SDK (e2e) | |
| files: ./coverage-e2e.out | |
| flags: e2e | |
| fail_ci_if_error: true | |
| verbose: true | |
| token: ${{ secrets.CODECOV_UPLOAD_TOKEN }} |