Merge pull request #9910 from filecoin-project/gstuart/deps-caching
feat: ci: make ci more efficient
This commit is contained in:
commit
bb800fd78d
@ -5,6 +5,11 @@ orbs:
|
|||||||
|
|
||||||
executors:
|
executors:
|
||||||
golang:
|
golang:
|
||||||
|
docker:
|
||||||
|
# Must match GO_VERSION_MIN in project root
|
||||||
|
- image: cimg/go:1.18.8
|
||||||
|
resource_class: medium+
|
||||||
|
golang-2xl:
|
||||||
docker:
|
docker:
|
||||||
# Must match GO_VERSION_MIN in project root
|
# Must match GO_VERSION_MIN in project root
|
||||||
- image: cimg/go:1.18.8
|
- image: cimg/go:1.18.8
|
||||||
@ -14,7 +19,7 @@ executors:
|
|||||||
- image: ubuntu:20.04
|
- image: ubuntu:20.04
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
prepare:
|
build-platform-specific:
|
||||||
parameters:
|
parameters:
|
||||||
linux:
|
linux:
|
||||||
default: true
|
default: true
|
||||||
@ -31,22 +36,13 @@ commands:
|
|||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- git_fetch_all_tags
|
- git_fetch_all_tags
|
||||||
|
- run: git submodule sync
|
||||||
|
- run: git submodule update --init
|
||||||
- when:
|
- when:
|
||||||
condition: <<parameters.linux>>
|
condition: <<parameters.linux>>
|
||||||
steps:
|
steps:
|
||||||
- run:
|
- install-ubuntu-deps
|
||||||
name: Check Go Version
|
- check-go-version
|
||||||
command: |
|
|
||||||
v=`go version | { read _ _ v _; echo ${v#go}; }`
|
|
||||||
if [[ $v != `cat GO_VERSION_MIN` ]]; then
|
|
||||||
echo "GO_VERSION_MIN file does not match the go version being used."
|
|
||||||
echo "Please update image to cimg/go:`cat GO_VERSION_MIN` or update GO_VERSION_MIN to $v."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
- run: sudo apt-get update
|
|
||||||
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
|
|
||||||
- run: sudo apt-get install python-is-python3
|
|
||||||
|
|
||||||
- when:
|
- when:
|
||||||
condition: <<parameters.darwin>>
|
condition: <<parameters.darwin>>
|
||||||
steps:
|
steps:
|
||||||
@ -67,8 +63,7 @@ commands:
|
|||||||
name: Install Rust
|
name: Install Rust
|
||||||
command: |
|
command: |
|
||||||
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||||
- run: git submodule sync
|
- run: make deps lotus
|
||||||
- run: git submodule update --init
|
|
||||||
download-params:
|
download-params:
|
||||||
steps:
|
steps:
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
@ -99,12 +94,43 @@ commands:
|
|||||||
name: fetch all tags
|
name: fetch all tags
|
||||||
command: |
|
command: |
|
||||||
git fetch --all
|
git fetch --all
|
||||||
|
install-ubuntu-deps:
|
||||||
|
steps:
|
||||||
|
- run: sudo apt-get update
|
||||||
|
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
|
||||||
|
check-go-version:
|
||||||
|
steps:
|
||||||
|
- run: |
|
||||||
|
v=`go version | { read _ _ v _; echo ${v#go}; }`
|
||||||
|
if [[ $v != `cat GO_VERSION_MIN` ]]; then
|
||||||
|
echo "GO_VERSION_MIN file does not match the go version being used."
|
||||||
|
echo "Please update image to cimg/go:`cat GO_VERSION_MIN` or update GO_VERSION_MIN to $v."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
build:
|
||||||
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- git_fetch_all_tags
|
||||||
|
- run: git submodule sync
|
||||||
|
- run: git submodule update --init
|
||||||
|
- install-ubuntu-deps
|
||||||
|
- check-go-version
|
||||||
|
- run: make deps lotus
|
||||||
|
- persist_to_workspace:
|
||||||
|
root: ~/
|
||||||
|
paths:
|
||||||
|
- "lotus"
|
||||||
mod-tidy-check:
|
mod-tidy-check:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
|
- attach_workspace:
|
||||||
|
at: ~/
|
||||||
- run: go mod tidy -v
|
- run: go mod tidy -v
|
||||||
- run:
|
- run:
|
||||||
name: Check git diff
|
name: Check git diff
|
||||||
@ -115,13 +141,14 @@ jobs:
|
|||||||
test:
|
test:
|
||||||
description: |
|
description: |
|
||||||
Run tests with gotestsum.
|
Run tests with gotestsum.
|
||||||
|
working_directory: ~/lotus
|
||||||
parameters: &test-params
|
parameters: &test-params
|
||||||
executor:
|
executor:
|
||||||
type: executor
|
type: executor
|
||||||
default: golang
|
default: golang
|
||||||
go-test-flags:
|
go-test-flags:
|
||||||
type: string
|
type: string
|
||||||
default: "-timeout 30m"
|
default: "-timeout 20m"
|
||||||
description: Flags passed to go test.
|
description: Flags passed to go test.
|
||||||
target:
|
target:
|
||||||
type: string
|
type: string
|
||||||
@ -130,20 +157,21 @@ jobs:
|
|||||||
proofs-log-test:
|
proofs-log-test:
|
||||||
type: string
|
type: string
|
||||||
default: "0"
|
default: "0"
|
||||||
|
get-params:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
suite:
|
suite:
|
||||||
type: string
|
type: string
|
||||||
default: unit
|
default: unit
|
||||||
description: Test suite name to report to CircleCI.
|
description: Test suite name to report to CircleCI.
|
||||||
gotestsum-format:
|
|
||||||
type: string
|
|
||||||
default: standard-verbose
|
|
||||||
description: gotestsum format. https://github.com/gotestyourself/gotestsum#format
|
|
||||||
executor: << parameters.executor >>
|
executor: << parameters.executor >>
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run:
|
- attach_workspace:
|
||||||
command: make deps lotus
|
at: ~/
|
||||||
no_output_timeout: 30m
|
- when:
|
||||||
|
condition: << parameters.get-params >>
|
||||||
|
steps:
|
||||||
- download-params
|
- download-params
|
||||||
- run:
|
- run:
|
||||||
name: go test
|
name: go test
|
||||||
@ -155,12 +183,11 @@ jobs:
|
|||||||
mkdir -p /tmp/test-reports/<< parameters.suite >>
|
mkdir -p /tmp/test-reports/<< parameters.suite >>
|
||||||
mkdir -p /tmp/test-artifacts
|
mkdir -p /tmp/test-artifacts
|
||||||
gotestsum \
|
gotestsum \
|
||||||
--format << parameters.gotestsum-format >> \
|
--format standard-verbose \
|
||||||
--junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \
|
--junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \
|
||||||
--jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \
|
--jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \
|
||||||
-- \
|
--packages="<< parameters.target >>" \
|
||||||
<< parameters.go-test-flags >> \
|
-- << parameters.go-test-flags >>
|
||||||
<< parameters.target >>
|
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
- store_test_results:
|
- store_test_results:
|
||||||
path: /tmp/test-reports
|
path: /tmp/test-reports
|
||||||
@ -168,6 +195,7 @@ jobs:
|
|||||||
path: /tmp/test-artifacts/<< parameters.suite >>.json
|
path: /tmp/test-artifacts/<< parameters.suite >>.json
|
||||||
|
|
||||||
test-conformance:
|
test-conformance:
|
||||||
|
working_directory: ~/lotus
|
||||||
description: |
|
description: |
|
||||||
Run tests using a corpus of interoperable test vectors for Filecoin
|
Run tests using a corpus of interoperable test vectors for Filecoin
|
||||||
implementations to test their correctness and compliance with the Filecoin
|
implementations to test their correctness and compliance with the Filecoin
|
||||||
@ -183,10 +211,9 @@ jobs:
|
|||||||
submodule is used.
|
submodule is used.
|
||||||
executor: << parameters.executor >>
|
executor: << parameters.executor >>
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run:
|
- attach_workspace:
|
||||||
command: make deps lotus
|
at: ~/
|
||||||
no_output_timeout: 30m
|
|
||||||
- download-params
|
- download-params
|
||||||
- when:
|
- when:
|
||||||
condition:
|
condition:
|
||||||
@ -229,7 +256,7 @@ jobs:
|
|||||||
build-linux-amd64:
|
build-linux-amd64:
|
||||||
executor: golang
|
executor: golang
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- build-platform-specific
|
||||||
- run: make lotus lotus-miner lotus-worker
|
- run: make lotus lotus-miner lotus-worker
|
||||||
- run:
|
- run:
|
||||||
name: check tag and version output match
|
name: check tag and version output match
|
||||||
@ -248,7 +275,7 @@ jobs:
|
|||||||
macos:
|
macos:
|
||||||
xcode: "13.4.1"
|
xcode: "13.4.1"
|
||||||
steps:
|
steps:
|
||||||
- prepare:
|
- build-platform-specific:
|
||||||
linux: false
|
linux: false
|
||||||
darwin: true
|
darwin: true
|
||||||
darwin-architecture: amd64
|
darwin-architecture: amd64
|
||||||
@ -272,7 +299,7 @@ jobs:
|
|||||||
resource_class: filecoin-project/self-hosted-m1
|
resource_class: filecoin-project/self-hosted-m1
|
||||||
steps:
|
steps:
|
||||||
- run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV"
|
- run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV"
|
||||||
- prepare:
|
- build-platform-specific:
|
||||||
linux: false
|
linux: false
|
||||||
darwin: true
|
darwin: true
|
||||||
darwin-architecture: arm64
|
darwin-architecture: arm64
|
||||||
@ -380,16 +407,18 @@ jobs:
|
|||||||
|
|
||||||
gofmt:
|
gofmt:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
|
||||||
- run:
|
- run:
|
||||||
command: "! go fmt ./... 2>&1 | read"
|
command: "! go fmt ./... 2>&1 | read"
|
||||||
|
|
||||||
gen-check:
|
gen-check:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run: make deps
|
- attach_workspace:
|
||||||
|
at: ~/
|
||||||
- run: go install golang.org/x/tools/cmd/goimports
|
- run: go install golang.org/x/tools/cmd/goimports
|
||||||
- run: go install github.com/hannahhoward/cbor-gen-for
|
- run: go install github.com/hannahhoward/cbor-gen-for
|
||||||
- run: make gen
|
- run: make gen
|
||||||
@ -399,32 +428,29 @@ jobs:
|
|||||||
|
|
||||||
docs-check:
|
docs-check:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
|
- attach_workspace:
|
||||||
|
at: ~/
|
||||||
- run: go install golang.org/x/tools/cmd/goimports
|
- run: go install golang.org/x/tools/cmd/goimports
|
||||||
- run: zcat build/openrpc/full.json.gz | jq > ../pre-openrpc-full
|
- run: zcat build/openrpc/full.json.gz | jq > ../pre-openrpc-full
|
||||||
- run: zcat build/openrpc/miner.json.gz | jq > ../pre-openrpc-miner
|
- run: zcat build/openrpc/miner.json.gz | jq > ../pre-openrpc-miner
|
||||||
- run: zcat build/openrpc/worker.json.gz | jq > ../pre-openrpc-worker
|
- run: zcat build/openrpc/worker.json.gz | jq > ../pre-openrpc-worker
|
||||||
- run: make deps
|
|
||||||
- run: make docsgen
|
- run: make docsgen
|
||||||
- run: zcat build/openrpc/full.json.gz | jq > ../post-openrpc-full
|
- run: zcat build/openrpc/full.json.gz | jq > ../post-openrpc-full
|
||||||
- run: zcat build/openrpc/miner.json.gz | jq > ../post-openrpc-miner
|
- run: zcat build/openrpc/miner.json.gz | jq > ../post-openrpc-miner
|
||||||
- run: zcat build/openrpc/worker.json.gz | jq > ../post-openrpc-worker
|
- run: zcat build/openrpc/worker.json.gz | jq > ../post-openrpc-worker
|
||||||
- run: diff ../pre-openrpc-full ../post-openrpc-full && diff ../pre-openrpc-miner ../post-openrpc-miner && diff ../pre-openrpc-worker ../post-openrpc-worker && git --no-pager diff && git --no-pager diff --quiet
|
- run: diff ../pre-openrpc-full ../post-openrpc-full && diff ../pre-openrpc-miner ../post-openrpc-miner && diff ../pre-openrpc-worker ../post-openrpc-worker && git --no-pager diff && git --no-pager diff --quiet
|
||||||
|
|
||||||
lint: &lint
|
lint-all:
|
||||||
description: |
|
description: |
|
||||||
Run golangci-lint.
|
Run golangci-lint.
|
||||||
|
working_directory: ~/lotus
|
||||||
parameters:
|
parameters:
|
||||||
executor:
|
executor:
|
||||||
type: executor
|
type: executor
|
||||||
default: golang
|
default: golang
|
||||||
concurrency:
|
|
||||||
type: string
|
|
||||||
default: '2'
|
|
||||||
description: |
|
|
||||||
Concurrency used to run linters. Defaults to 2 because NumCPU is not
|
|
||||||
aware of container CPU limits.
|
|
||||||
args:
|
args:
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@ -432,17 +458,14 @@ jobs:
|
|||||||
Arguments to pass to golangci-lint
|
Arguments to pass to golangci-lint
|
||||||
executor: << parameters.executor >>
|
executor: << parameters.executor >>
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run:
|
- attach_workspace:
|
||||||
command: make deps
|
at: ~/
|
||||||
no_output_timeout: 30m
|
|
||||||
- run:
|
- run:
|
||||||
name: Lint
|
name: Lint
|
||||||
command: |
|
command: |
|
||||||
golangci-lint run -v --timeout 2m \
|
golangci-lint run -v --timeout 10m \
|
||||||
--concurrency << parameters.concurrency >> << parameters.args >>
|
--concurrency 4 << parameters.args >>
|
||||||
lint-all:
|
|
||||||
<<: *lint
|
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
description: publish binary artifacts
|
description: publish binary artifacts
|
||||||
@ -462,7 +485,6 @@ jobs:
|
|||||||
command: apt update && apt install -y git jq curl sudo
|
command: apt update && apt install -y git jq curl sudo
|
||||||
- checkout
|
- checkout
|
||||||
- git_fetch_all_tags
|
- git_fetch_all_tags
|
||||||
- checkout
|
|
||||||
- install_ipfs
|
- install_ipfs
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
at: /tmp/workspace
|
at: /tmp/workspace
|
||||||
@ -606,356 +628,449 @@ jobs:
|
|||||||
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
|
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2.1
|
|
||||||
ci:
|
ci:
|
||||||
jobs:
|
jobs:
|
||||||
|
- build
|
||||||
- lint-all:
|
- lint-all:
|
||||||
concurrency: "16" # expend all docker 2xlarge CPUs.
|
requires:
|
||||||
- mod-tidy-check
|
- build
|
||||||
- gofmt
|
- mod-tidy-check:
|
||||||
- gen-check
|
requires:
|
||||||
- docs-check
|
- build
|
||||||
|
- gofmt:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
|
- gen-check:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
|
- docs-check:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-api
|
name: test-itest-api
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-api
|
suite: itest-api
|
||||||
target: "./itests/api_test.go"
|
target: "./itests/api_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-batch_deal
|
name: test-itest-batch_deal
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-batch_deal
|
suite: itest-batch_deal
|
||||||
target: "./itests/batch_deal_test.go"
|
target: "./itests/batch_deal_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-ccupgrade
|
name: test-itest-ccupgrade
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-ccupgrade
|
suite: itest-ccupgrade
|
||||||
target: "./itests/ccupgrade_test.go"
|
target: "./itests/ccupgrade_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-cli
|
name: test-itest-cli
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-cli
|
suite: itest-cli
|
||||||
target: "./itests/cli_test.go"
|
target: "./itests/cli_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deadlines
|
name: test-itest-deadlines
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deadlines
|
suite: itest-deadlines
|
||||||
target: "./itests/deadlines_test.go"
|
target: "./itests/deadlines_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_512mb
|
name: test-itest-deals_512mb
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_512mb
|
suite: itest-deals_512mb
|
||||||
target: "./itests/deals_512mb_test.go"
|
target: "./itests/deals_512mb_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_anycid
|
name: test-itest-deals_anycid
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_anycid
|
suite: itest-deals_anycid
|
||||||
target: "./itests/deals_anycid_test.go"
|
target: "./itests/deals_anycid_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_concurrent
|
name: test-itest-deals_concurrent
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_concurrent
|
suite: itest-deals_concurrent
|
||||||
target: "./itests/deals_concurrent_test.go"
|
target: "./itests/deals_concurrent_test.go"
|
||||||
|
executor: golang-2xl
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_invalid_utf8_label
|
name: test-itest-deals_invalid_utf8_label
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_invalid_utf8_label
|
suite: itest-deals_invalid_utf8_label
|
||||||
target: "./itests/deals_invalid_utf8_label_test.go"
|
target: "./itests/deals_invalid_utf8_label_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_max_staging_deals
|
name: test-itest-deals_max_staging_deals
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_max_staging_deals
|
suite: itest-deals_max_staging_deals
|
||||||
target: "./itests/deals_max_staging_deals_test.go"
|
target: "./itests/deals_max_staging_deals_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_offline
|
name: test-itest-deals_offline
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_offline
|
suite: itest-deals_offline
|
||||||
target: "./itests/deals_offline_test.go"
|
target: "./itests/deals_offline_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_padding
|
name: test-itest-deals_padding
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_padding
|
suite: itest-deals_padding
|
||||||
target: "./itests/deals_padding_test.go"
|
target: "./itests/deals_padding_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_partial_retrieval_dm-level
|
name: test-itest-deals_partial_retrieval_dm-level
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_partial_retrieval_dm-level
|
suite: itest-deals_partial_retrieval_dm-level
|
||||||
target: "./itests/deals_partial_retrieval_dm-level_test.go"
|
target: "./itests/deals_partial_retrieval_dm-level_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_partial_retrieval
|
name: test-itest-deals_partial_retrieval
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_partial_retrieval
|
suite: itest-deals_partial_retrieval
|
||||||
target: "./itests/deals_partial_retrieval_test.go"
|
target: "./itests/deals_partial_retrieval_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_power
|
name: test-itest-deals_power
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_power
|
suite: itest-deals_power
|
||||||
target: "./itests/deals_power_test.go"
|
target: "./itests/deals_power_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_pricing
|
name: test-itest-deals_pricing
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_pricing
|
suite: itest-deals_pricing
|
||||||
target: "./itests/deals_pricing_test.go"
|
target: "./itests/deals_pricing_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_publish
|
name: test-itest-deals_publish
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_publish
|
suite: itest-deals_publish
|
||||||
target: "./itests/deals_publish_test.go"
|
target: "./itests/deals_publish_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_remote_retrieval
|
name: test-itest-deals_remote_retrieval
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_remote_retrieval
|
suite: itest-deals_remote_retrieval
|
||||||
target: "./itests/deals_remote_retrieval_test.go"
|
target: "./itests/deals_remote_retrieval_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals_retry_deal_no_funds
|
name: test-itest-deals_retry_deal_no_funds
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals_retry_deal_no_funds
|
suite: itest-deals_retry_deal_no_funds
|
||||||
target: "./itests/deals_retry_deal_no_funds_test.go"
|
target: "./itests/deals_retry_deal_no_funds_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-deals
|
name: test-itest-deals
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-deals
|
suite: itest-deals
|
||||||
target: "./itests/deals_test.go"
|
target: "./itests/deals_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-dup_mpool_messages
|
name: test-itest-dup_mpool_messages
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-dup_mpool_messages
|
suite: itest-dup_mpool_messages
|
||||||
target: "./itests/dup_mpool_messages_test.go"
|
target: "./itests/dup_mpool_messages_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-gas_estimation
|
name: test-itest-gas_estimation
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-gas_estimation
|
suite: itest-gas_estimation
|
||||||
target: "./itests/gas_estimation_test.go"
|
target: "./itests/gas_estimation_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-gateway
|
name: test-itest-gateway
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-gateway
|
suite: itest-gateway
|
||||||
target: "./itests/gateway_test.go"
|
target: "./itests/gateway_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-get_messages_in_ts
|
name: test-itest-get_messages_in_ts
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-get_messages_in_ts
|
suite: itest-get_messages_in_ts
|
||||||
target: "./itests/get_messages_in_ts_test.go"
|
target: "./itests/get_messages_in_ts_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-lite_migration
|
name: test-itest-lite_migration
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-lite_migration
|
suite: itest-lite_migration
|
||||||
target: "./itests/lite_migration_test.go"
|
target: "./itests/lite_migration_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-lookup_robust_address
|
name: test-itest-lookup_robust_address
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-lookup_robust_address
|
suite: itest-lookup_robust_address
|
||||||
target: "./itests/lookup_robust_address_test.go"
|
target: "./itests/lookup_robust_address_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-mempool
|
name: test-itest-mempool
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-mempool
|
suite: itest-mempool
|
||||||
target: "./itests/mempool_test.go"
|
target: "./itests/mempool_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-migration_nv17
|
name: test-itest-migration_nv17
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-migration_nv17
|
suite: itest-migration_nv17
|
||||||
target: "./itests/migration_nv17_test.go"
|
target: "./itests/migration_nv17_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-mpool_msg_uuid
|
name: test-itest-mpool_msg_uuid
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-mpool_msg_uuid
|
suite: itest-mpool_msg_uuid
|
||||||
target: "./itests/mpool_msg_uuid_test.go"
|
target: "./itests/mpool_msg_uuid_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-mpool_push_with_uuid
|
name: test-itest-mpool_push_with_uuid
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-mpool_push_with_uuid
|
suite: itest-mpool_push_with_uuid
|
||||||
target: "./itests/mpool_push_with_uuid_test.go"
|
target: "./itests/mpool_push_with_uuid_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-multisig
|
name: test-itest-multisig
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-multisig
|
suite: itest-multisig
|
||||||
target: "./itests/multisig_test.go"
|
target: "./itests/multisig_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-net
|
name: test-itest-net
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-net
|
suite: itest-net
|
||||||
target: "./itests/net_test.go"
|
target: "./itests/net_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-nonce
|
name: test-itest-nonce
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-nonce
|
suite: itest-nonce
|
||||||
target: "./itests/nonce_test.go"
|
target: "./itests/nonce_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-path_detach_redeclare
|
name: test-itest-path_detach_redeclare
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-path_detach_redeclare
|
suite: itest-path_detach_redeclare
|
||||||
target: "./itests/path_detach_redeclare_test.go"
|
target: "./itests/path_detach_redeclare_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-path_type_filters
|
name: test-itest-path_type_filters
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-path_type_filters
|
suite: itest-path_type_filters
|
||||||
target: "./itests/path_type_filters_test.go"
|
target: "./itests/path_type_filters_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-paych_api
|
name: test-itest-paych_api
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-paych_api
|
suite: itest-paych_api
|
||||||
target: "./itests/paych_api_test.go"
|
target: "./itests/paych_api_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-paych_cli
|
name: test-itest-paych_cli
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-paych_cli
|
suite: itest-paych_cli
|
||||||
target: "./itests/paych_cli_test.go"
|
target: "./itests/paych_cli_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-pending_deal_allocation
|
name: test-itest-pending_deal_allocation
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-pending_deal_allocation
|
suite: itest-pending_deal_allocation
|
||||||
target: "./itests/pending_deal_allocation_test.go"
|
target: "./itests/pending_deal_allocation_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-raft_messagesigner
|
name: test-itest-raft_messagesigner
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-raft_messagesigner
|
suite: itest-raft_messagesigner
|
||||||
target: "./itests/raft_messagesigner_test.go"
|
target: "./itests/raft_messagesigner_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-remove_verifreg_datacap
|
name: test-itest-remove_verifreg_datacap
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-remove_verifreg_datacap
|
suite: itest-remove_verifreg_datacap
|
||||||
target: "./itests/remove_verifreg_datacap_test.go"
|
target: "./itests/remove_verifreg_datacap_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sdr_upgrade
|
name: test-itest-sdr_upgrade
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sdr_upgrade
|
suite: itest-sdr_upgrade
|
||||||
target: "./itests/sdr_upgrade_test.go"
|
target: "./itests/sdr_upgrade_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_finalize_early
|
name: test-itest-sector_finalize_early
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_finalize_early
|
suite: itest-sector_finalize_early
|
||||||
target: "./itests/sector_finalize_early_test.go"
|
target: "./itests/sector_finalize_early_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_import_full
|
name: test-itest-sector_import_full
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_import_full
|
suite: itest-sector_import_full
|
||||||
target: "./itests/sector_import_full_test.go"
|
target: "./itests/sector_import_full_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_import_simple
|
name: test-itest-sector_import_simple
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_import_simple
|
suite: itest-sector_import_simple
|
||||||
target: "./itests/sector_import_simple_test.go"
|
target: "./itests/sector_import_simple_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_make_cc_avail
|
name: test-itest-sector_make_cc_avail
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_make_cc_avail
|
suite: itest-sector_make_cc_avail
|
||||||
target: "./itests/sector_make_cc_avail_test.go"
|
target: "./itests/sector_make_cc_avail_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_miner_collateral
|
name: test-itest-sector_miner_collateral
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_miner_collateral
|
suite: itest-sector_miner_collateral
|
||||||
target: "./itests/sector_miner_collateral_test.go"
|
target: "./itests/sector_miner_collateral_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_numassign
|
name: test-itest-sector_numassign
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_numassign
|
suite: itest-sector_numassign
|
||||||
target: "./itests/sector_numassign_test.go"
|
target: "./itests/sector_numassign_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_pledge
|
name: test-itest-sector_pledge
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_pledge
|
suite: itest-sector_pledge
|
||||||
target: "./itests/sector_pledge_test.go"
|
target: "./itests/sector_pledge_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_prefer_no_upgrade
|
name: test-itest-sector_prefer_no_upgrade
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_prefer_no_upgrade
|
suite: itest-sector_prefer_no_upgrade
|
||||||
target: "./itests/sector_prefer_no_upgrade_test.go"
|
target: "./itests/sector_prefer_no_upgrade_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_revert_available
|
name: test-itest-sector_revert_available
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_revert_available
|
suite: itest-sector_revert_available
|
||||||
target: "./itests/sector_revert_available_test.go"
|
target: "./itests/sector_revert_available_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_terminate
|
name: test-itest-sector_terminate
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_terminate
|
suite: itest-sector_terminate
|
||||||
target: "./itests/sector_terminate_test.go"
|
target: "./itests/sector_terminate_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-sector_unseal
|
name: test-itest-sector_unseal
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-sector_unseal
|
suite: itest-sector_unseal
|
||||||
target: "./itests/sector_unseal_test.go"
|
target: "./itests/sector_unseal_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-self_sent_txn
|
name: test-itest-self_sent_txn
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-self_sent_txn
|
suite: itest-self_sent_txn
|
||||||
target: "./itests/self_sent_txn_test.go"
|
target: "./itests/self_sent_txn_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-splitstore
|
name: test-itest-splitstore
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-splitstore
|
suite: itest-splitstore
|
||||||
target: "./itests/splitstore_test.go"
|
target: "./itests/splitstore_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-tape
|
name: test-itest-tape
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-tape
|
suite: itest-tape
|
||||||
target: "./itests/tape_test.go"
|
target: "./itests/tape_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-verifreg
|
name: test-itest-verifreg
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-verifreg
|
suite: itest-verifreg
|
||||||
target: "./itests/verifreg_test.go"
|
target: "./itests/verifreg_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-wdpost_config
|
name: test-itest-wdpost_config
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-wdpost_config
|
suite: itest-wdpost_config
|
||||||
target: "./itests/wdpost_config_test.go"
|
target: "./itests/wdpost_config_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-wdpost_dispute
|
name: test-itest-wdpost_dispute
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-wdpost_dispute
|
suite: itest-wdpost_dispute
|
||||||
target: "./itests/wdpost_dispute_test.go"
|
target: "./itests/wdpost_dispute_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-wdpost_no_miner_storage
|
name: test-itest-wdpost_no_miner_storage
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-wdpost_no_miner_storage
|
suite: itest-wdpost_no_miner_storage
|
||||||
target: "./itests/wdpost_no_miner_storage_test.go"
|
target: "./itests/wdpost_no_miner_storage_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-wdpost
|
name: test-itest-wdpost
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-wdpost
|
suite: itest-wdpost
|
||||||
target: "./itests/wdpost_test.go"
|
target: "./itests/wdpost_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-wdpost_worker_config
|
name: test-itest-wdpost_worker_config
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-wdpost_worker_config
|
suite: itest-wdpost_worker_config
|
||||||
target: "./itests/wdpost_worker_config_test.go"
|
target: "./itests/wdpost_worker_config_test.go"
|
||||||
|
executor: golang-2xl
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-worker
|
name: test-itest-worker
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-worker
|
suite: itest-worker
|
||||||
target: "./itests/worker_test.go"
|
target: "./itests/worker_test.go"
|
||||||
|
executor: golang-2xl
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-worker_upgrade
|
name: test-itest-worker_upgrade
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-worker_upgrade
|
suite: itest-worker_upgrade
|
||||||
target: "./itests/worker_upgrade_test.go"
|
target: "./itests/worker_upgrade_test.go"
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-unit-cli
|
name: test-unit-cli
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: utest-unit-cli
|
suite: utest-unit-cli
|
||||||
target: "./cli/... ./cmd/... ./api/..."
|
target: "./cli/... ./cmd/... ./api/..."
|
||||||
|
get-params: true
|
||||||
- test:
|
- test:
|
||||||
name: test-unit-node
|
name: test-unit-node
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: utest-unit-node
|
suite: utest-unit-node
|
||||||
target: "./node/..."
|
target: "./node/..."
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
name: test-unit-rest
|
name: test-unit-rest
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: utest-unit-rest
|
suite: utest-unit-rest
|
||||||
target: "./api/... ./blockstore/... ./build/... ./chain/... ./cli/... ./cmd/... ./conformance/... ./extern/... ./gateway/... ./journal/... ./lib/... ./markets/... ./node/... ./paychmgr/... ./storage/... ./tools/..."
|
target: "./api/... ./blockstore/... ./build/... ./chain/... ./cli/... ./cmd/... ./conformance/... ./extern/... ./gateway/... ./journal/... ./lib/... ./markets/... ./node/... ./paychmgr/... ./storage/... ./tools/..."
|
||||||
|
executor: golang-2xl
|
||||||
- test:
|
- test:
|
||||||
name: test-unit-storage
|
name: test-unit-storage
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: utest-unit-storage
|
suite: utest-unit-storage
|
||||||
target: "./storage/... ./extern/..."
|
target: "./storage/... ./extern/..."
|
||||||
|
|
||||||
- test:
|
- test:
|
||||||
go-test-flags: "-run=TestMulticoreSDR"
|
go-test-flags: "-run=TestMulticoreSDR"
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: multicore-sdr-check
|
suite: multicore-sdr-check
|
||||||
target: "./storage/sealer/ffiwrapper"
|
target: "./storage/sealer/ffiwrapper"
|
||||||
proofs-log-test: "1"
|
proofs-log-test: "1"
|
||||||
- test-conformance:
|
- test-conformance:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: conformance
|
suite: conformance
|
||||||
target: "./conformance"
|
target: "./conformance"
|
||||||
- test-conformance:
|
- test-conformance:
|
||||||
name: test-conformance-bleeding-edge
|
name: test-conformance-bleeding-edge
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: conformance-bleeding-edge
|
suite: conformance-bleeding-edge
|
||||||
target: "./conformance"
|
target: "./conformance"
|
||||||
vectors-branch: specs-actors-v7
|
vectors-branch: specs-actors-v7
|
||||||
|
@ -5,6 +5,11 @@ orbs:
|
|||||||
|
|
||||||
executors:
|
executors:
|
||||||
golang:
|
golang:
|
||||||
|
docker:
|
||||||
|
# Must match GO_VERSION_MIN in project root
|
||||||
|
- image: cimg/go:1.18.8
|
||||||
|
resource_class: medium+
|
||||||
|
golang-2xl:
|
||||||
docker:
|
docker:
|
||||||
# Must match GO_VERSION_MIN in project root
|
# Must match GO_VERSION_MIN in project root
|
||||||
- image: cimg/go:1.18.8
|
- image: cimg/go:1.18.8
|
||||||
@ -14,7 +19,7 @@ executors:
|
|||||||
- image: ubuntu:20.04
|
- image: ubuntu:20.04
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
prepare:
|
build-platform-specific:
|
||||||
parameters:
|
parameters:
|
||||||
linux:
|
linux:
|
||||||
default: true
|
default: true
|
||||||
@ -31,22 +36,13 @@ commands:
|
|||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- git_fetch_all_tags
|
- git_fetch_all_tags
|
||||||
|
- run: git submodule sync
|
||||||
|
- run: git submodule update --init
|
||||||
- when:
|
- when:
|
||||||
condition: <<parameters.linux>>
|
condition: <<parameters.linux>>
|
||||||
steps:
|
steps:
|
||||||
- run:
|
- install-ubuntu-deps
|
||||||
name: Check Go Version
|
- check-go-version
|
||||||
command: |
|
|
||||||
v=`go version | { read _ _ v _; echo ${v#go}; }`
|
|
||||||
if [["[[ $v != `cat GO_VERSION_MIN` ]]"]]; then
|
|
||||||
echo "GO_VERSION_MIN file does not match the go version being used."
|
|
||||||
echo "Please update image to cimg/go:`cat GO_VERSION_MIN` or update GO_VERSION_MIN to $v."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
- run: sudo apt-get update
|
|
||||||
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
|
|
||||||
- run: sudo apt-get install python-is-python3
|
|
||||||
|
|
||||||
- when:
|
- when:
|
||||||
condition: <<parameters.darwin>>
|
condition: <<parameters.darwin>>
|
||||||
steps:
|
steps:
|
||||||
@ -67,8 +63,7 @@ commands:
|
|||||||
name: Install Rust
|
name: Install Rust
|
||||||
command: |
|
command: |
|
||||||
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||||
- run: git submodule sync
|
- run: make deps lotus
|
||||||
- run: git submodule update --init
|
|
||||||
download-params:
|
download-params:
|
||||||
steps:
|
steps:
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
@ -99,12 +94,43 @@ commands:
|
|||||||
name: fetch all tags
|
name: fetch all tags
|
||||||
command: |
|
command: |
|
||||||
git fetch --all
|
git fetch --all
|
||||||
|
install-ubuntu-deps:
|
||||||
|
steps:
|
||||||
|
- run: sudo apt-get update
|
||||||
|
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
|
||||||
|
check-go-version:
|
||||||
|
steps:
|
||||||
|
- run: |
|
||||||
|
v=`go version | { read _ _ v _; echo ${v#go}; }`
|
||||||
|
if [["[[ $v != `cat GO_VERSION_MIN` ]]"]]; then
|
||||||
|
echo "GO_VERSION_MIN file does not match the go version being used."
|
||||||
|
echo "Please update image to cimg/go:`cat GO_VERSION_MIN` or update GO_VERSION_MIN to $v."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
build:
|
||||||
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- git_fetch_all_tags
|
||||||
|
- run: git submodule sync
|
||||||
|
- run: git submodule update --init
|
||||||
|
- install-ubuntu-deps
|
||||||
|
- check-go-version
|
||||||
|
- run: make deps lotus
|
||||||
|
- persist_to_workspace:
|
||||||
|
root: ~/
|
||||||
|
paths:
|
||||||
|
- "lotus"
|
||||||
mod-tidy-check:
|
mod-tidy-check:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
|
- attach_workspace:
|
||||||
|
at: ~/
|
||||||
- run: go mod tidy -v
|
- run: go mod tidy -v
|
||||||
- run:
|
- run:
|
||||||
name: Check git diff
|
name: Check git diff
|
||||||
@ -115,13 +141,14 @@ jobs:
|
|||||||
test:
|
test:
|
||||||
description: |
|
description: |
|
||||||
Run tests with gotestsum.
|
Run tests with gotestsum.
|
||||||
|
working_directory: ~/lotus
|
||||||
parameters: &test-params
|
parameters: &test-params
|
||||||
executor:
|
executor:
|
||||||
type: executor
|
type: executor
|
||||||
default: golang
|
default: golang
|
||||||
go-test-flags:
|
go-test-flags:
|
||||||
type: string
|
type: string
|
||||||
default: "-timeout 30m"
|
default: "-timeout 20m"
|
||||||
description: Flags passed to go test.
|
description: Flags passed to go test.
|
||||||
target:
|
target:
|
||||||
type: string
|
type: string
|
||||||
@ -130,20 +157,21 @@ jobs:
|
|||||||
proofs-log-test:
|
proofs-log-test:
|
||||||
type: string
|
type: string
|
||||||
default: "0"
|
default: "0"
|
||||||
|
get-params:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
suite:
|
suite:
|
||||||
type: string
|
type: string
|
||||||
default: unit
|
default: unit
|
||||||
description: Test suite name to report to CircleCI.
|
description: Test suite name to report to CircleCI.
|
||||||
gotestsum-format:
|
|
||||||
type: string
|
|
||||||
default: standard-verbose
|
|
||||||
description: gotestsum format. https://github.com/gotestyourself/gotestsum#format
|
|
||||||
executor: << parameters.executor >>
|
executor: << parameters.executor >>
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run:
|
- attach_workspace:
|
||||||
command: make deps lotus
|
at: ~/
|
||||||
no_output_timeout: 30m
|
- when:
|
||||||
|
condition: << parameters.get-params >>
|
||||||
|
steps:
|
||||||
- download-params
|
- download-params
|
||||||
- run:
|
- run:
|
||||||
name: go test
|
name: go test
|
||||||
@ -155,12 +183,11 @@ jobs:
|
|||||||
mkdir -p /tmp/test-reports/<< parameters.suite >>
|
mkdir -p /tmp/test-reports/<< parameters.suite >>
|
||||||
mkdir -p /tmp/test-artifacts
|
mkdir -p /tmp/test-artifacts
|
||||||
gotestsum \
|
gotestsum \
|
||||||
--format << parameters.gotestsum-format >> \
|
--format standard-verbose \
|
||||||
--junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \
|
--junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \
|
||||||
--jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \
|
--jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \
|
||||||
-- \
|
--packages="<< parameters.target >>" \
|
||||||
<< parameters.go-test-flags >> \
|
-- << parameters.go-test-flags >>
|
||||||
<< parameters.target >>
|
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
- store_test_results:
|
- store_test_results:
|
||||||
path: /tmp/test-reports
|
path: /tmp/test-reports
|
||||||
@ -168,6 +195,7 @@ jobs:
|
|||||||
path: /tmp/test-artifacts/<< parameters.suite >>.json
|
path: /tmp/test-artifacts/<< parameters.suite >>.json
|
||||||
|
|
||||||
test-conformance:
|
test-conformance:
|
||||||
|
working_directory: ~/lotus
|
||||||
description: |
|
description: |
|
||||||
Run tests using a corpus of interoperable test vectors for Filecoin
|
Run tests using a corpus of interoperable test vectors for Filecoin
|
||||||
implementations to test their correctness and compliance with the Filecoin
|
implementations to test their correctness and compliance with the Filecoin
|
||||||
@ -183,10 +211,9 @@ jobs:
|
|||||||
submodule is used.
|
submodule is used.
|
||||||
executor: << parameters.executor >>
|
executor: << parameters.executor >>
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run:
|
- attach_workspace:
|
||||||
command: make deps lotus
|
at: ~/
|
||||||
no_output_timeout: 30m
|
|
||||||
- download-params
|
- download-params
|
||||||
- when:
|
- when:
|
||||||
condition:
|
condition:
|
||||||
@ -229,7 +256,7 @@ jobs:
|
|||||||
build-linux-amd64:
|
build-linux-amd64:
|
||||||
executor: golang
|
executor: golang
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- build-platform-specific
|
||||||
- run: make lotus lotus-miner lotus-worker
|
- run: make lotus lotus-miner lotus-worker
|
||||||
- run:
|
- run:
|
||||||
name: check tag and version output match
|
name: check tag and version output match
|
||||||
@ -248,7 +275,7 @@ jobs:
|
|||||||
macos:
|
macos:
|
||||||
xcode: "13.4.1"
|
xcode: "13.4.1"
|
||||||
steps:
|
steps:
|
||||||
- prepare:
|
- build-platform-specific:
|
||||||
linux: false
|
linux: false
|
||||||
darwin: true
|
darwin: true
|
||||||
darwin-architecture: amd64
|
darwin-architecture: amd64
|
||||||
@ -272,7 +299,7 @@ jobs:
|
|||||||
resource_class: filecoin-project/self-hosted-m1
|
resource_class: filecoin-project/self-hosted-m1
|
||||||
steps:
|
steps:
|
||||||
- run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV"
|
- run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV"
|
||||||
- prepare:
|
- build-platform-specific:
|
||||||
linux: false
|
linux: false
|
||||||
darwin: true
|
darwin: true
|
||||||
darwin-architecture: arm64
|
darwin-architecture: arm64
|
||||||
@ -380,16 +407,18 @@ jobs:
|
|||||||
|
|
||||||
gofmt:
|
gofmt:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
|
||||||
- run:
|
- run:
|
||||||
command: "! go fmt ./... 2>&1 | read"
|
command: "! go fmt ./... 2>&1 | read"
|
||||||
|
|
||||||
gen-check:
|
gen-check:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run: make deps
|
- attach_workspace:
|
||||||
|
at: ~/
|
||||||
- run: go install golang.org/x/tools/cmd/goimports
|
- run: go install golang.org/x/tools/cmd/goimports
|
||||||
- run: go install github.com/hannahhoward/cbor-gen-for
|
- run: go install github.com/hannahhoward/cbor-gen-for
|
||||||
- run: make gen
|
- run: make gen
|
||||||
@ -399,32 +428,29 @@ jobs:
|
|||||||
|
|
||||||
docs-check:
|
docs-check:
|
||||||
executor: golang
|
executor: golang
|
||||||
|
working_directory: ~/lotus
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
|
- attach_workspace:
|
||||||
|
at: ~/
|
||||||
- run: go install golang.org/x/tools/cmd/goimports
|
- run: go install golang.org/x/tools/cmd/goimports
|
||||||
- run: zcat build/openrpc/full.json.gz | jq > ../pre-openrpc-full
|
- run: zcat build/openrpc/full.json.gz | jq > ../pre-openrpc-full
|
||||||
- run: zcat build/openrpc/miner.json.gz | jq > ../pre-openrpc-miner
|
- run: zcat build/openrpc/miner.json.gz | jq > ../pre-openrpc-miner
|
||||||
- run: zcat build/openrpc/worker.json.gz | jq > ../pre-openrpc-worker
|
- run: zcat build/openrpc/worker.json.gz | jq > ../pre-openrpc-worker
|
||||||
- run: make deps
|
|
||||||
- run: make docsgen
|
- run: make docsgen
|
||||||
- run: zcat build/openrpc/full.json.gz | jq > ../post-openrpc-full
|
- run: zcat build/openrpc/full.json.gz | jq > ../post-openrpc-full
|
||||||
- run: zcat build/openrpc/miner.json.gz | jq > ../post-openrpc-miner
|
- run: zcat build/openrpc/miner.json.gz | jq > ../post-openrpc-miner
|
||||||
- run: zcat build/openrpc/worker.json.gz | jq > ../post-openrpc-worker
|
- run: zcat build/openrpc/worker.json.gz | jq > ../post-openrpc-worker
|
||||||
- run: diff ../pre-openrpc-full ../post-openrpc-full && diff ../pre-openrpc-miner ../post-openrpc-miner && diff ../pre-openrpc-worker ../post-openrpc-worker && git --no-pager diff && git --no-pager diff --quiet
|
- run: diff ../pre-openrpc-full ../post-openrpc-full && diff ../pre-openrpc-miner ../post-openrpc-miner && diff ../pre-openrpc-worker ../post-openrpc-worker && git --no-pager diff && git --no-pager diff --quiet
|
||||||
|
|
||||||
lint: &lint
|
lint-all:
|
||||||
description: |
|
description: |
|
||||||
Run golangci-lint.
|
Run golangci-lint.
|
||||||
|
working_directory: ~/lotus
|
||||||
parameters:
|
parameters:
|
||||||
executor:
|
executor:
|
||||||
type: executor
|
type: executor
|
||||||
default: golang
|
default: golang
|
||||||
concurrency:
|
|
||||||
type: string
|
|
||||||
default: '2'
|
|
||||||
description: |
|
|
||||||
Concurrency used to run linters. Defaults to 2 because NumCPU is not
|
|
||||||
aware of container CPU limits.
|
|
||||||
args:
|
args:
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@ -432,17 +458,14 @@ jobs:
|
|||||||
Arguments to pass to golangci-lint
|
Arguments to pass to golangci-lint
|
||||||
executor: << parameters.executor >>
|
executor: << parameters.executor >>
|
||||||
steps:
|
steps:
|
||||||
- prepare
|
- install-ubuntu-deps
|
||||||
- run:
|
- attach_workspace:
|
||||||
command: make deps
|
at: ~/
|
||||||
no_output_timeout: 30m
|
|
||||||
- run:
|
- run:
|
||||||
name: Lint
|
name: Lint
|
||||||
command: |
|
command: |
|
||||||
golangci-lint run -v --timeout 2m \
|
golangci-lint run -v --timeout 10m \
|
||||||
--concurrency << parameters.concurrency >> << parameters.args >>
|
--concurrency 4 << parameters.args >>
|
||||||
lint-all:
|
|
||||||
<<: *lint
|
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
description: publish binary artifacts
|
description: publish binary artifacts
|
||||||
@ -462,7 +485,6 @@ jobs:
|
|||||||
command: apt update && apt install -y git jq curl sudo
|
command: apt update && apt install -y git jq curl sudo
|
||||||
- checkout
|
- checkout
|
||||||
- git_fetch_all_tags
|
- git_fetch_all_tags
|
||||||
- checkout
|
|
||||||
- install_ipfs
|
- install_ipfs
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
at: /tmp/workspace
|
at: /tmp/workspace
|
||||||
@ -606,41 +628,64 @@ jobs:
|
|||||||
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
|
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2.1
|
|
||||||
ci:
|
ci:
|
||||||
jobs:
|
jobs:
|
||||||
|
- build
|
||||||
- lint-all:
|
- lint-all:
|
||||||
concurrency: "16" # expend all docker 2xlarge CPUs.
|
requires:
|
||||||
- mod-tidy-check
|
- build
|
||||||
- gofmt
|
- mod-tidy-check:
|
||||||
- gen-check
|
requires:
|
||||||
- docs-check
|
- build
|
||||||
|
- gofmt:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
|
- gen-check:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
|
- docs-check:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
|
|
||||||
[[- range $file := .ItestFiles -]]
|
[[- range $file := .ItestFiles -]]
|
||||||
[[ with $name := $file | stripSuffix ]]
|
[[ with $name := $file | stripSuffix ]]
|
||||||
- test:
|
- test:
|
||||||
name: test-itest-[[ $name ]]
|
name: test-itest-[[ $name ]]
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: itest-[[ $name ]]
|
suite: itest-[[ $name ]]
|
||||||
target: "./itests/[[ $file ]]"
|
target: "./itests/[[ $file ]]"
|
||||||
[[ end ]]
|
[[- if or (eq $name "worker") (eq $name "deals_concurrent") (eq $name "wdpost_worker_config")]]
|
||||||
[[- end -]]
|
executor: golang-2xl
|
||||||
|
[[- end]]
|
||||||
|
[[- end ]][[- end]]
|
||||||
|
|
||||||
[[range $suite, $pkgs := .UnitSuites]]
|
[[- range $suite, $pkgs := .UnitSuites]]
|
||||||
- test:
|
- test:
|
||||||
name: test-[[ $suite ]]
|
name: test-[[ $suite ]]
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: utest-[[ $suite ]]
|
suite: utest-[[ $suite ]]
|
||||||
target: "[[ $pkgs ]]"
|
target: "[[ $pkgs ]]"
|
||||||
|
[[if eq $suite "unit-cli"]]get-params: true[[end]]
|
||||||
|
[[- if eq $suite "unit-rest"]]executor: golang-2xl[[end]]
|
||||||
[[- end]]
|
[[- end]]
|
||||||
- test:
|
- test:
|
||||||
go-test-flags: "-run=TestMulticoreSDR"
|
go-test-flags: "-run=TestMulticoreSDR"
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: multicore-sdr-check
|
suite: multicore-sdr-check
|
||||||
target: "./storage/sealer/ffiwrapper"
|
target: "./storage/sealer/ffiwrapper"
|
||||||
proofs-log-test: "1"
|
proofs-log-test: "1"
|
||||||
- test-conformance:
|
- test-conformance:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: conformance
|
suite: conformance
|
||||||
target: "./conformance"
|
target: "./conformance"
|
||||||
- test-conformance:
|
- test-conformance:
|
||||||
name: test-conformance-bleeding-edge
|
name: test-conformance-bleeding-edge
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
suite: conformance-bleeding-edge
|
suite: conformance-bleeding-edge
|
||||||
target: "./conformance"
|
target: "./conformance"
|
||||||
vectors-branch: specs-actors-v7
|
vectors-branch: specs-actors-v7
|
||||||
|
Loading…
Reference in New Issue
Block a user