Skip to content

build: Bump version #543

build: Bump version

build: Bump version #543

Workflow file for this run

name: Build and Test
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
go: ['1.20', '1.21']
steps:
- name: Set up Go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe #v4.1.0
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0
- name: Install Linters
run: "curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.54.2"
- name: Check golangci-lint version
run: golangci-lint --version
- name: Build
run: go build ./...
- name: Lint
run: |
golangci-lint run --out-format=github-actions
- name: Package test binaries
run: |
export GOPATH=$(go env GOPATH)
make package-test-binaries
- name: Upload test binaries
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce #v3.1.2
with:
name: ${{ matrix.go }}-test-binaries
path: dcrlnd_testbins.tar.gz
testsuite:
name: Test
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ['1.21']
testsuite:
- unit-race # unit tests
- itest-parallel-run # embedded wallet using dcrd for sync and chain ops
- itest-parallel-run walletimpl=embeddedwallet_dcrw # embedded wallet, dcrd sync but dcrw chain ops
- itest-parallel-run walletimpl=embeddedwallet_dcrw backend=spv # embedded wallet, spv sync and dcrw chain ops
- itest-parallel-run walletimpl=remotewallet # remote wallet dcrd sync
- itest-parallel-run walletimpl=remotewallet backend=spv # remote wallet spv sync
steps:
- name: Set up Go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe #v4.1.0
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0
- name: Download the test binaries
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a #v3.0.2
with:
name: ${{ matrix.go }}-test-binaries
path: ${{ matrix.go }}-test-binaries
- name: Unpack the test binaries
run: |
export GOPATH=$(go env GOPATH)
mv ${{ matrix.go }}-test-binaries/* .
make unpack-test-binaries
- name: Run the test suite
run: |
export GOPATH=$(go env GOPATH)
export PATH=${PATH}:$(go env GOPATH)/bin
make ${{ matrix.testsuite }}
- name: Compress log files
if: always()
run: |
find . -iname *.log | tar -T - --ignore-failed-read -czf output-logs.tar.gz
- name: Upload logs
if: always()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce #v3.1.2
with:
name: ${{ matrix.go }}-${{ matrix.testsuite }}-logs.tar.gz
path: output-logs.tar.gz