chore: make uint tests run in parallel (#1136) #1803
This file contains 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: PR Checks | |
defaults: | |
run: | |
shell: bash | |
permissions: | |
contents: read | |
on: | |
pull_request: | |
branches: | |
- main | |
- develop | |
push: | |
branches: | |
- main | |
- develop | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build | |
runs-on: client-sdk-linux-medium | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 | |
with: | |
egress-policy: audit | |
- name: Setup GCC | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends gcc libc6-dev libc-dev | |
- name: Set up Go 1.20 | |
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0 | |
with: | |
go-version: "1.20" | |
id: go | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Vet Examples | |
run: go vet ./examples/... | |
- name: Vet | |
run: go vet . | |
- name: Build | |
run: go build -v . | |
- name: Lint | |
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1 | |
with: | |
skip-cache: true | |
args: --timeout=5m | |
test: | |
name: Unit and Integration Tests | |
if: success() | |
runs-on: client-sdk-linux-medium | |
needs: | |
- build | |
env: | |
OPERATOR_KEY: "302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137" | |
OPERATOR_ID: "0.0.2" | |
HEDERA_NETWORK: "localhost" | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 | |
with: | |
egress-policy: audit | |
- name: Setup NodeJS | |
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 | |
with: | |
node-version: 18 | |
- name: Setup GCC | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends gcc libc6-dev libc-dev | |
- name: Set up Go 1.20 | |
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0 | |
with: | |
go-version: "1.20" | |
id: go | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Start the local node | |
if: success() | |
run: npx @hashgraph/hedera-local start -d --network local | |
- name: Tests Unit | |
if: success() | |
run: go test -tags="unit" -timeout 9999s -v -coverprofile=unit.out -covermode=atomic -race | |
- name: Tests Integration | |
if: success() | |
run: go test -tags="e2e" -timeout 9999s -v -coverprofile=e2e.out -covermode=atomic -race | |
- name: Upload coverage to Codecov | |
if: success() | |
uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./unit.out,./e2e.out,./testnets.out | |
- name: Stop the local node | |
run: npx @hashgraph/hedera-local stop | |
run-examples: | |
name: Run Examples | |
if: success() | |
runs-on: client-sdk-linux-medium | |
needs: | |
- build | |
env: | |
OPERATOR_KEY: "302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137" | |
OPERATOR_ID: "0.0.2" | |
HEDERA_NETWORK: "localhost" | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 | |
with: | |
egress-policy: audit | |
- name: Setup NodeJS | |
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 | |
with: | |
node-version: 18 | |
- name: Setup GCC | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends gcc libc6-dev libc-dev | |
- name: Set up Go 1.20 | |
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0 | |
with: | |
go-version: "1.20" | |
id: go | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Install Task | |
run: go install github.com/go-task/task/v3/cmd/[email protected] | |
- name: Start the local node | |
if: success() | |
run: npx @hashgraph/hedera-local start -d --network local | |
- name: Run Examples | |
if: success() | |
run: task run-examples | |
- name: Stop the local node | |
run: npx @hashgraph/hedera-local stop |