-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1785 from Roasbeef/btcutil-move
multi: move the btcutil repo into btcd as a sub-module
- Loading branch information
Showing
191 changed files
with
18,538 additions
and
150 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 |
---|---|---|
@@ -1,35 +1,69 @@ | ||
name: Build and Test | ||
on: [push, pull_request] | ||
|
||
env: | ||
# go needs absolute directories, using the $HOME variable doesn't work here. | ||
GOCACHE: /home/runner/work/go/pkg/build | ||
GOPATH: /home/runner/work/go | ||
GO_VERSION: 1.17.5 | ||
|
||
jobs: | ||
build: | ||
# https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/ | ||
permissions: | ||
contents: read | ||
name: Go CI | ||
name: Build | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
go: [1.16.8, 1.17.1] | ||
steps: | ||
- name: Set up Go | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: ${{ matrix.go }} | ||
go-version: ${{ env.GO_VERSION }} | ||
|
||
- name: Check out source | ||
uses: actions/checkout@v2 | ||
- name: Install Linters | ||
run: "curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.26.0" | ||
|
||
- name: Build | ||
env: | ||
GO111MODULE: "on" | ||
run: go build ./... | ||
run: make build | ||
|
||
test-cover: | ||
name: Unit coverage | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Set up Go | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: ${{ env.GO_VERSION }} | ||
|
||
- name: Check out source | ||
uses: actions/checkout@v2 | ||
|
||
- name: Test | ||
env: | ||
GO111MODULE: "on" | ||
run: | | ||
sh ./goclean.sh | ||
run: make unit-cover | ||
|
||
- name: Send coverage | ||
- name: Send top-level coverage | ||
uses: shogo82148/actions-goveralls@v1 | ||
with: | ||
path-to-profile: profile.cov | ||
path-to-profile: coverage.txt | ||
|
||
- name: Send btcutil coverage | ||
uses: shogo82148/actions-goveralls@v1 | ||
with: | ||
path-to-profile: btcutil/coverage.txt | ||
|
||
- name: Send btcutil coverage for psbt package | ||
uses: shogo82148/actions-goveralls@v1 | ||
with: | ||
path-to-profile: btcutil/psbt/coverage.txt | ||
|
||
test-race: | ||
name: Unit race | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Set up Go | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: ${{ env.GO_VERSION }} | ||
|
||
- name: Check out source | ||
uses: actions/checkout@v2 | ||
|
||
- name: Test | ||
run: make unit-race |
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 |
---|---|---|
@@ -0,0 +1,124 @@ | ||
PKG := github.com/btcsuite/btcd | ||
|
||
LINT_PKG := github.com/golangci/golangci-lint/cmd/golangci-lint | ||
GOACC_PKG := github.com/ory/go-acc | ||
GOIMPORTS_PKG := golang.org/x/tools/cmd/goimports | ||
|
||
GO_BIN := ${GOPATH}/bin | ||
LINT_BIN := $(GO_BIN)/golangci-lint | ||
GOACC_BIN := $(GO_BIN)/go-acc | ||
|
||
LINT_COMMIT := v1.18.0 | ||
GOACC_COMMIT := 80342ae2e0fcf265e99e76bcc4efd022c7c3811b | ||
|
||
DEPGET := cd /tmp && GO111MODULE=on go get -v | ||
GOBUILD := GO111MODULE=on go build -v | ||
GOINSTALL := GO111MODULE=on go install -v | ||
DEV_TAGS := rpctest | ||
GOTEST := GO111MODULE=on go test -v -tags=$(DEV_TAGS) | ||
|
||
GOFILES_NOVENDOR = $(shell find . -type f -name '*.go' -not -path "./vendor/*") | ||
|
||
RM := rm -f | ||
CP := cp | ||
MAKE := make | ||
XARGS := xargs -L 1 | ||
|
||
# Linting uses a lot of memory, so keep it under control by limiting the number | ||
# of workers if requested. | ||
ifneq ($(workers),) | ||
LINT_WORKERS = --concurrency=$(workers) | ||
endif | ||
|
||
LINT = $(LINT_BIN) run -v $(LINT_WORKERS) | ||
|
||
GREEN := "\\033[0;32m" | ||
NC := "\\033[0m" | ||
define print | ||
echo $(GREEN)$1$(NC) | ||
endef | ||
|
||
default: build | ||
|
||
all: build check | ||
|
||
# ============ | ||
# DEPENDENCIES | ||
# ============ | ||
|
||
$(LINT_BIN): | ||
@$(call print, "Fetching linter") | ||
$(DEPGET) $(LINT_PKG)@$(LINT_COMMIT) | ||
|
||
$(GOACC_BIN): | ||
@$(call print, "Fetching go-acc") | ||
$(DEPGET) $(GOACC_PKG)@$(GOACC_COMMIT) | ||
|
||
goimports: | ||
@$(call print, "Installing goimports.") | ||
$(DEPGET) $(GOIMPORTS_PKG) | ||
|
||
# ============ | ||
# INSTALLATION | ||
# ============ | ||
|
||
build: | ||
@$(call print, "Building all binaries") | ||
$(GOBUILD) $(PKG) | ||
$(GOBUILD) $(PKG)/cmd/btcctl | ||
$(GOBUILD) $(PKG)/cmd/gencerts | ||
$(GOBUILD) $(PKG)/cmd/findcheckpoint | ||
$(GOBUILD) $(PKG)/cmd/addblock | ||
|
||
# ======= | ||
# TESTING | ||
# ======= | ||
|
||
check: unit | ||
|
||
unit: | ||
@$(call print, "Running unit tests.") | ||
$(GOTEST) ./... -test.timeout=20m | ||
cd btcutil; $(GOTEST) ./... -test.timeout=20m | ||
cd btcutil/psbt; $(GOTEST) ./... -test.timeout=20m | ||
|
||
unit-cover: $(GOACC_BIN) | ||
@$(call print, "Running unit coverage tests.") | ||
$(GOACC_BIN) ./... | ||
cd btcutil; $(GOACC_BIN) ./... | ||
cd btcutil/psbt; $(GOACC_BIN) ./... | ||
|
||
unit-race: | ||
@$(call print, "Running unit race tests.") | ||
env CGO_ENABLED=1 GORACE="history_size=7 halt_on_errors=1" $(GOTEST) -race -test.timeout=20m ./... | ||
cd btcutil; env CGO_ENABLED=1 GORACE="history_size=7 halt_on_errors=1" $(GOTEST) -race -test.timeout=20m ./... | ||
cd btcutil/psbt; env CGO_ENABLED=1 GORACE="history_size=7 halt_on_errors=1" $(GOTEST) -race -test.timeout=20m ./... | ||
|
||
# ========= | ||
# UTILITIES | ||
# ========= | ||
|
||
fmt: goimports | ||
@$(call print, "Fixing imports.") | ||
goimports -w $(GOFILES_NOVENDOR) | ||
@$(call print, "Formatting source.") | ||
gofmt -l -w -s $(GOFILES_NOVENDOR) | ||
|
||
lint: $(LINT_BIN) | ||
@$(call print, "Linting source.") | ||
$(LINT) | ||
|
||
clean: | ||
@$(call print, "Cleaning source.$(NC)") | ||
$(RM) coverage.txt btcutil/coverage.txt btcutil/psbt/coverage.txt | ||
|
||
.PHONY: all \ | ||
default \ | ||
build \ | ||
check \ | ||
unit \ | ||
unit-cover \ | ||
unit-race \ | ||
fmt \ | ||
lint \ | ||
clean |
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.