lotus/.circleci/config.yml

1374 lines
42 KiB
YAML
Raw Normal View History

version: 2.1
orbs:
aws-cli: circleci/aws-cli@1.3.2
docker: circleci/docker@2.1.4
2019-09-23 11:43:32 +00:00
executors:
golang:
2022-12-19 06:17:00 +00:00
docker:
# Must match GO_VERSION_MIN in project root
- image: cimg/go:1.18.8
2022-12-19 21:18:07 +00:00
resource_class: medium+
2022-12-19 06:17:00 +00:00
golang-2xl:
2019-09-23 11:43:32 +00:00
docker:
2022-10-18 15:19:49 +00:00
# Must match GO_VERSION_MIN in project root
2022-11-23 18:51:48 +00:00
- image: cimg/go:1.18.8
resource_class: 2xlarge
ubuntu:
docker:
- image: ubuntu:20.04
commands:
2022-12-19 06:17:00 +00:00
build-platform-specific:
parameters:
linux:
default: true
description: is a linux build environment?
type: boolean
darwin:
default: false
description: is a darwin build environment?
type: boolean
darwin-architecture:
default: "amd64"
description: which darwin architecture is being used?
type: string
steps:
- checkout
- git_fetch_all_tags
2022-12-20 15:03:22 +00:00
- run: git submodule sync
- run: git submodule update --init
- when:
condition: <<parameters.linux>>
steps:
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
- check-go-version
- when:
condition: <<parameters.darwin>>
steps:
- run:
name: Install Go
command: |
curl https://dl.google.com/go/go`cat GO_VERSION_MIN`.darwin-<<parameters.darwin-architecture>>.pkg -o /tmp/go.pkg && \
sudo installer -pkg /tmp/go.pkg -target /
- run:
name: Export Go
command: |
echo 'export GOPATH="${HOME}/go"' >> $BASH_ENV
- run: go version
- run:
name: Install dependencies with Homebrew
2022-11-03 14:51:20 +00:00
command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config coreutils jq hwloc
- run:
name: Install Rust
command: |
curl https://sh.rustup.rs -sSf | sh -s -- -y
2022-12-19 06:17:00 +00:00
- run: make deps lotus
download-params:
steps:
- restore_cache:
name: Restore parameters cache
keys:
2022-02-03 18:49:22 +00:00
- 'v26-2k-lotus-params'
paths:
- /var/tmp/filecoin-proof-parameters/
2022-12-19 06:17:00 +00:00
- run: ./lotus fetch-params 2048
- save_cache:
name: Save parameters cache
2022-02-03 18:49:22 +00:00
key: 'v26-2k-lotus-params'
paths:
- /var/tmp/filecoin-proof-parameters/
install_ipfs:
steps:
- run: |
2022-11-03 14:51:20 +00:00
curl -O https://dist.ipfs.tech/kubo/v0.16.0/kubo_v0.16.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.16.0_linux-amd64.tar.gz
pushd kubo
sudo bash install.sh
popd
2022-11-03 14:51:20 +00:00
rm -rf kubo
rm kubo_v0.16.0_linux-amd64.tar.gz
git_fetch_all_tags:
steps:
- run:
name: fetch all tags
command: |
git fetch --all
2022-12-20 15:03:22 +00:00
install-ubuntu-deps:
2022-12-19 06:17:00 +00:00
steps:
- run: sudo apt-get update
- run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev
2022-12-20 15:03:22 +00:00
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
2022-03-31 05:27:18 +00:00
jobs:
2022-12-19 06:17:00 +00:00
build:
executor: golang
working_directory: ~/lotus
steps:
- checkout
- git_fetch_all_tags
- run: git submodule sync
- run: git submodule update --init
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
- check-go-version
2022-12-19 06:17:00 +00:00
- run: make deps lotus
- persist_to_workspace:
root: ~/
paths:
- "lotus"
mod-tidy-check:
2019-09-23 11:43:32 +00:00
executor: golang
2022-12-19 06:17:00 +00:00
working_directory: ~/lotus
steps:
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
2022-12-19 06:17:00 +00:00
- attach_workspace:
at: ~/
- run: go mod tidy -v
- run:
name: Check git diff
command: |
git --no-pager diff go.mod go.sum
git --no-pager diff --quiet go.mod go.sum
2020-03-09 06:56:11 +00:00
2021-06-22 20:03:05 +00:00
test:
description: |
Run tests with gotestsum.
2022-12-19 06:17:00 +00:00
working_directory: ~/lotus
parameters: &test-params
executor:
type: executor
2019-09-23 11:43:32 +00:00
default: golang
go-test-flags:
type: string
2022-12-19 06:17:00 +00:00
default: "-timeout 20m"
description: Flags passed to go test.
2021-06-22 20:03:05 +00:00
target:
type: string
default: "./..."
description: Import paths of packages to be tested.
2021-06-15 15:46:06 +00:00
proofs-log-test:
type: string
default: "0"
2022-12-19 06:17:00 +00:00
get-params:
type: boolean
default: false
2021-06-22 20:03:05 +00:00
suite:
type: string
default: unit
description: Test suite name to report to CircleCI.
executor: << parameters.executor >>
steps:
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
2022-12-19 06:17:00 +00:00
- attach_workspace:
at: ~/
- when:
condition: << parameters.get-params >>
steps:
- download-params
- run:
name: go test
environment:
2021-06-15 15:46:06 +00:00
TEST_RUSTPROOFS_LOGS: << parameters.proofs-log-test >>
SKIP_CONFORMANCE: "1"
2022-04-19 15:21:16 +00:00
LOTUS_SRC_DIR: /home/circleci/project
command: |
2021-06-22 20:03:05 +00:00
mkdir -p /tmp/test-reports/<< parameters.suite >>
mkdir -p /tmp/test-artifacts
gotestsum \
2022-12-19 06:17:00 +00:00
--format standard-verbose \
2021-06-22 20:03:05 +00:00
--junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \
--jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \
2022-12-20 17:45:06 +00:00
--packages="<< parameters.target >>" \
-- << parameters.go-test-flags >>
2019-12-05 12:04:34 +00:00
no_output_timeout: 30m
- store_test_results:
path: /tmp/test-reports
- store_artifacts:
2021-06-22 20:03:05 +00:00
path: /tmp/test-artifacts/<< parameters.suite >>.json
2020-08-16 21:22:12 +00:00
test-conformance:
2022-12-19 06:17:00 +00:00
working_directory: ~/lotus
description: |
Run tests using a corpus of interoperable test vectors for Filecoin
implementations to test their correctness and compliance with the Filecoin
specifications.
parameters:
<<: *test-params
vectors-branch:
type: string
default: ""
description: |
Branch on github.com/filecoin-project/test-vectors to checkout and
test with. If empty (the default) the commit defined by the git
submodule is used.
executor: << parameters.executor >>
steps:
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
2022-12-19 06:17:00 +00:00
- attach_workspace:
at: ~/
- download-params
- when:
condition:
not:
equal: [ "", << parameters.vectors-branch >> ]
steps:
- run:
name: checkout vectors branch
command: |
cd extern/test-vectors
git fetch
git checkout origin/<< parameters.vectors-branch >>
- run:
name: install statediff globally
command: |
## statediff is optional; we succeed even if compilation fails.
mkdir -p /tmp/statediff
git clone https://github.com/filecoin-project/statediff.git /tmp/statediff
cd /tmp/statediff
go install ./cmd/statediff || exit 0
- run:
name: go test
environment:
SKIP_CONFORMANCE: "0"
command: |
mkdir -p /tmp/test-reports
mkdir -p /tmp/test-artifacts
gotestsum \
--format pkgname-and-test-fails \
--junitfile /tmp/test-reports/junit.xml \
-- \
-v -coverpkg ./chain/vm/,github.com/filecoin-project/specs-actors/... -coverprofile=/tmp/conformance.out ./conformance/
go tool cover -html=/tmp/conformance.out -o /tmp/test-artifacts/conformance-coverage.html
no_output_timeout: 30m
- store_test_results:
path: /tmp/test-reports
- store_artifacts:
path: /tmp/test-artifacts/conformance-coverage.html
build-linux-amd64:
executor: golang
steps:
2022-12-19 06:17:00 +00:00
- build-platform-specific
- run: make lotus lotus-miner lotus-worker
- run:
name: check tag and version output match
command: ./scripts/version-check.sh ./lotus
- run: |
mkdir -p /tmp/workspace/linux_amd64_v1 && \
mv lotus lotus-miner lotus-worker /tmp/workspace/linux_amd64_v1/
- persist_to_workspace:
root: /tmp/workspace
paths:
- linux_amd64_v1
build-darwin-amd64:
description: build darwin lotus binary
working_directory: ~/go/src/github.com/filecoin-project/lotus
macos:
2022-08-12 14:56:43 +00:00
xcode: "13.4.1"
steps:
2022-12-19 06:17:00 +00:00
- build-platform-specific:
linux: false
darwin: true
darwin-architecture: amd64
- run: make lotus lotus-miner lotus-worker
- run: otool -hv lotus
- run:
name: check tag and version output match
command: ./scripts/version-check.sh ./lotus
- run: |
mkdir -p /tmp/workspace/darwin_amd64_v1 && \
mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_amd64_v1/
- persist_to_workspace:
root: /tmp/workspace
paths:
- darwin_amd64_v1
build-darwin-arm64:
description: self-hosted m1 runner
working_directory: ~/go/src/github.com/filecoin-project/lotus
machine: true
resource_class: filecoin-project/self-hosted-m1
steps:
- run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV"
2022-12-19 06:17:00 +00:00
- build-platform-specific:
linux: false
darwin: true
darwin-architecture: arm64
- run: |
export CPATH=$(brew --prefix)/include
export LIBRARY_PATH=$(brew --prefix)/lib
make lotus lotus-miner lotus-worker
- run: otool -hv lotus
- run:
name: check tag and version output match
command: ./scripts/version-check.sh ./lotus
- run: |
mkdir -p /tmp/workspace/darwin_arm64 && \
mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_arm64/
- persist_to_workspace:
root: /tmp/workspace
paths:
- darwin_arm64
- run:
command: make clean
when: always
- run:
name: cleanup homebrew
2022-11-03 14:51:20 +00:00
command: HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall pkg-config coreutils jq hwloc
when: always
release:
executor: golang
parameters:
dry-run:
default: false
description: should this release actually publish it's artifacts?
type: boolean
steps:
2022-11-03 14:51:20 +00:00
- checkout
- run: |
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list
sudo apt update
sudo apt install goreleaser-pro
- install_ipfs
- attach_workspace:
at: /tmp/workspace
- when:
condition: << parameters.dry-run >>
steps:
- run: goreleaser release --rm-dist --snapshot --debug
- run: ./scripts/generate-checksums.sh
- when:
condition:
not: << parameters.dry-run >>
steps:
- run: goreleaser release --rm-dist --debug
- run: ./scripts/generate-checksums.sh
- run: ./scripts/publish-checksums.sh
2020-03-09 06:56:11 +00:00
gofmt:
executor: golang
2022-12-19 06:17:00 +00:00
working_directory: ~/lotus
2020-03-09 06:56:11 +00:00
steps:
- run:
command: "! go fmt ./... 2>&1 | read"
2021-04-29 18:01:23 +00:00
gen-check:
2020-08-24 10:20:23 +00:00
executor: golang
2022-12-19 06:17:00 +00:00
working_directory: ~/lotus
2020-08-24 10:20:23 +00:00
steps:
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
2022-12-19 06:17:00 +00:00
- attach_workspace:
at: ~/
2020-08-24 10:20:23 +00:00
- run: go install golang.org/x/tools/cmd/goimports
- run: go install github.com/hannahhoward/cbor-gen-for
2021-04-29 18:01:23 +00:00
- run: make gen
- run: git --no-pager diff && git --no-pager diff --quiet
2021-04-29 18:01:23 +00:00
- run: make docsgen-cli
- run: git --no-pager diff && git --no-pager diff --quiet
2020-08-24 10:20:23 +00:00
docs-check:
executor: golang
2022-12-19 06:17:00 +00:00
working_directory: ~/lotus
2020-08-24 10:20:23 +00:00
steps:
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
2022-12-19 06:17:00 +00:00
- attach_workspace:
at: ~/
2021-03-25 14:19:22 +00:00
- run: go install golang.org/x/tools/cmd/goimports
2021-03-23 09:37:06 +00:00
- 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/worker.json.gz | jq > ../pre-openrpc-worker
2020-08-24 10:20:23 +00:00
- run: make docsgen
2021-03-23 09:37:06 +00:00
- 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/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
2020-08-24 10:20:23 +00:00
2022-12-19 06:17:00 +00:00
lint-all:
description: |
Run golangci-lint.
2022-12-19 06:17:00 +00:00
working_directory: ~/lotus
parameters:
executor:
type: executor
2019-09-23 11:43:32 +00:00
default: golang
args:
type: string
default: ''
description: |
Arguments to pass to golangci-lint
executor: << parameters.executor >>
steps:
2022-12-20 15:03:22 +00:00
- install-ubuntu-deps
2022-12-19 06:17:00 +00:00
- attach_workspace:
at: ~/
- run:
name: Lint
command: |
2022-12-19 06:17:00 +00:00
golangci-lint run -v --timeout 10m \
--concurrency 4 << parameters.args >>
build-docker:
description: >
Publish to Dockerhub
executor: docker/docker
parameters:
image:
type: string
default: lotus
description: >
Passed to the docker build process to determine which image in the
Dockerfile should be built. Expected values are `lotus`,
`lotus-all-in-one`
network:
type: string
default: "mainnet"
description: >
Passed to the docker build process using GOFLAGS+=-tags=<<network>>.
Expected values are `debug`, `2k`, `calibnet`, `butterflynet`,
`interopnet`.
channel:
type: string
default: ""
description: >
The release channel to use for this image.
push:
type: boolean
default: false
description: >
When true, pushes the image to Dockerhub
steps:
- setup_remote_docker
- checkout
2023-01-26 10:59:00 +00:00
- git_fetch_all_tags
- run: git submodule sync
- run: git submodule update --init
- docker/check:
docker-username: DOCKERHUB_USERNAME
docker-password: DOCKERHUB_PASSWORD
- when:
condition:
equal: [ mainnet, <<parameters.network>> ]
steps:
- when:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>>
tag: <<parameters.channel>>
- run:
name: Docker push
command: |
docker push filecoin/<<parameters.image>>:<<parameters.channel>>
2022-12-09 18:35:29 +00:00
if [[ ! -z $CIRCLE_SHA ]]; then
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>> filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"
2022-12-16 00:51:03 +00:00
docker push filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"
2022-12-09 18:35:29 +00:00
fi
if [[ ! -z $CIRCLE_TAG ]]; then
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>> filecoin/<<parameters.image>>:"${CIRCLE_TAG}"
docker push filecoin/<<parameters.image>>:"${CIRCLE_TAG}"
fi
- unless:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>>
- when:
condition:
not:
equal: [ mainnet, <<parameters.network>> ]
steps:
- when:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
tag: <<parameters.channel>>-<<parameters.network>>
- run:
name: Docker push
command: |
docker push filecoin/<<parameters.image>>:<<parameters.channel>>-<<parameters.network>>
2022-12-09 18:35:29 +00:00
if [[ ! -z $CIRCLE_SHA ]]; then
2022-12-16 00:51:03 +00:00
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>>-<<parameters.network>> filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"-<<parameters.network>>
docker push filecoin/<<parameters.image>>:"${CIRCLE_SHA:0:7}"-<<parameters.network>>
2022-12-09 18:35:29 +00:00
fi
if [[ ! -z $CIRCLE_TAG ]]; then
docker image tag filecoin/<<parameters.image>>:<<parameters.channel>>-<<parameters.network>> filecoin/<<parameters.image>>:"${CIRCLE_TAG}"-<<parameters.network>>
docker push filecoin/<<parameters.image>>:"${CIRCLE_TAG}"-<<parameters.network>>
fi
- unless:
condition: <<parameters.push>>
steps:
- docker/build:
image: filecoin/<<parameters.image>>
extra_build_args: --target <<parameters.image>> --build-arg GOFLAGS=-tags=<<parameters.network>>
workflows:
ci:
jobs:
2022-12-19 06:17:00 +00:00
- build
- lint-all:
2022-12-19 06:17:00 +00:00
requires:
- build
- mod-tidy-check:
requires:
- build
- gofmt:
requires:
- build
- gen-check:
requires:
- build
- docs-check:
requires:
- build
2020-06-01 12:59:51 +00:00
- test:
2021-06-22 20:03:05 +00:00
name: test-itest-api
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-api
target: "./itests/api_test.go"
- test:
name: test-itest-batch_deal
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-batch_deal
target: "./itests/batch_deal_test.go"
- test:
name: test-itest-ccupgrade
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-ccupgrade
target: "./itests/ccupgrade_test.go"
- test:
name: test-itest-cli
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-cli
target: "./itests/cli_test.go"
- test:
name: test-itest-deadlines
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-deadlines
target: "./itests/deadlines_test.go"
- test:
name: test-itest-deals_512mb
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-deals_512mb
target: "./itests/deals_512mb_test.go"
- test:
name: test-itest-deals_anycid
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-deals_anycid
target: "./itests/deals_anycid_test.go"
2021-06-23 17:13:29 +00:00
- test:
name: test-itest-deals_concurrent
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-23 17:13:29 +00:00
suite: itest-deals_concurrent
target: "./itests/deals_concurrent_test.go"
2022-12-19 06:17:00 +00:00
executor: golang-2xl
2022-05-30 14:29:05 +00:00
- test:
name: test-itest-deals_invalid_utf8_label
2022-12-19 06:17:00 +00:00
requires:
- build
2022-05-30 14:29:05 +00:00
suite: itest-deals_invalid_utf8_label
target: "./itests/deals_invalid_utf8_label_test.go"
- test:
name: test-itest-deals_max_staging_deals
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-deals_max_staging_deals
target: "./itests/deals_max_staging_deals_test.go"
2021-06-23 17:13:29 +00:00
- test:
name: test-itest-deals_offline
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-23 17:13:29 +00:00
suite: itest-deals_offline
target: "./itests/deals_offline_test.go"
- test:
name: test-itest-deals_padding
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-deals_padding
target: "./itests/deals_padding_test.go"
- test:
name: test-itest-deals_partial_retrieval_dm-level
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-deals_partial_retrieval_dm-level
target: "./itests/deals_partial_retrieval_dm-level_test.go"
- test:
name: test-itest-deals_partial_retrieval
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-deals_partial_retrieval
target: "./itests/deals_partial_retrieval_test.go"
2021-06-23 17:13:29 +00:00
- test:
name: test-itest-deals_power
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-23 17:13:29 +00:00
suite: itest-deals_power
target: "./itests/deals_power_test.go"
- test:
name: test-itest-deals_pricing
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-23 17:13:29 +00:00
suite: itest-deals_pricing
target: "./itests/deals_pricing_test.go"
- test:
name: test-itest-deals_publish
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-23 17:13:29 +00:00
suite: itest-deals_publish
target: "./itests/deals_publish_test.go"
2022-11-07 15:14:56 +00:00
- test:
name: test-itest-deals_remote_retrieval
2022-12-19 06:17:00 +00:00
requires:
- build
2022-11-07 15:14:56 +00:00
suite: itest-deals_remote_retrieval
target: "./itests/deals_remote_retrieval_test.go"
- test:
name: test-itest-deals_retry_deal_no_funds
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-deals_retry_deal_no_funds
target: "./itests/deals_retry_deal_no_funds_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-deals
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-deals
target: "./itests/deals_test.go"
2023-02-01 21:44:44 +00:00
- test:
name: test-itest-decode_params
requires:
- build
2023-02-01 21:44:44 +00:00
suite: itest-decode_params
target: "./itests/decode_params_test.go"
2022-08-17 18:02:53 +00:00
- test:
name: test-itest-dup_mpool_messages
2022-12-19 06:17:00 +00:00
requires:
- build
2022-08-17 18:02:53 +00:00
suite: itest-dup_mpool_messages
target: "./itests/dup_mpool_messages_test.go"
- test:
name: test-itest-eth_account_abstraction
requires:
- build
suite: itest-eth_account_abstraction
target: "./itests/eth_account_abstraction_test.go"
- test:
name: test-itest-eth_api
requires:
- build
suite: itest-eth_api
target: "./itests/eth_api_test.go"
- test:
name: test-itest-eth_balance
requires:
- build
suite: itest-eth_balance
target: "./itests/eth_balance_test.go"
- test:
name: test-itest-eth_block_hash
requires:
- build
suite: itest-eth_block_hash
target: "./itests/eth_block_hash_test.go"
2023-02-13 12:09:09 +00:00
- test:
name: test-itest-eth_bytecode
requires:
- build
2023-02-13 12:09:09 +00:00
suite: itest-eth_bytecode
target: "./itests/eth_bytecode_test.go"
2023-01-26 14:51:08 +00:00
- test:
name: test-itest-eth_config
requires:
- build
2023-01-26 14:51:08 +00:00
suite: itest-eth_config
target: "./itests/eth_config_test.go"
2023-01-26 17:09:15 +00:00
- test:
name: test-itest-eth_conformance
requires:
- build
2023-01-26 17:09:15 +00:00
suite: itest-eth_conformance
target: "./itests/eth_conformance_test.go"
- test:
name: test-itest-eth_deploy
requires:
- build
suite: itest-eth_deploy
target: "./itests/eth_deploy_test.go"
- test:
name: test-itest-eth_fee_history
requires:
- build
suite: itest-eth_fee_history
target: "./itests/eth_fee_history_test.go"
- test:
name: test-itest-eth_filter
requires:
- build
suite: itest-eth_filter
target: "./itests/eth_filter_test.go"
- test:
name: test-itest-eth_hash_lookup
requires:
- build
suite: itest-eth_hash_lookup
target: "./itests/eth_hash_lookup_test.go"
- test:
name: test-itest-eth_transactions
requires:
- build
suite: itest-eth_transactions
target: "./itests/eth_transactions_test.go"
- test:
name: test-itest-fevm_address
requires:
- build
suite: itest-fevm_address
target: "./itests/fevm_address_test.go"
- test:
name: test-itest-fevm_events
requires:
- build
suite: itest-fevm_events
target: "./itests/fevm_events_test.go"
- test:
name: test-itest-fevm
requires:
- build
suite: itest-fevm
target: "./itests/fevm_test.go"
- test:
name: test-itest-gas_estimation
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-gas_estimation
target: "./itests/gas_estimation_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-gateway
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-gateway
target: "./itests/gateway_test.go"
2021-07-06 05:34:54 +00:00
- test:
name: test-itest-get_messages_in_ts
2022-12-19 06:17:00 +00:00
requires:
- build
2021-07-06 05:34:54 +00:00
suite: itest-get_messages_in_ts
target: "./itests/get_messages_in_ts_test.go"
- test:
name: test-itest-lite_migration
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-lite_migration
target: "./itests/lite_migration_test.go"
2022-04-14 21:30:07 +00:00
- test:
name: test-itest-lookup_robust_address
2022-12-19 06:17:00 +00:00
requires:
- build
2022-04-14 21:30:07 +00:00
suite: itest-lookup_robust_address
target: "./itests/lookup_robust_address_test.go"
2022-02-08 17:47:23 +00:00
- test:
name: test-itest-mempool
2022-12-19 06:17:00 +00:00
requires:
- build
2022-02-08 17:47:23 +00:00
suite: itest-mempool
target: "./itests/mempool_test.go"
2022-09-13 20:52:47 +00:00
- test:
2022-10-25 02:33:19 +00:00
name: test-itest-migration_nv17
2022-12-19 06:17:00 +00:00
requires:
- build
2022-10-25 02:33:19 +00:00
suite: itest-migration_nv17
target: "./itests/migration_nv17_test.go"
- test:
name: test-itest-migration_nv18
requires:
- build
suite: itest-migration_nv18
target: "./itests/migration_nv18_test.go"
2022-09-13 20:52:47 +00:00
- test:
name: test-itest-mpool_msg_uuid
2022-12-19 06:17:00 +00:00
requires:
- build
2022-09-13 20:52:47 +00:00
suite: itest-mpool_msg_uuid
target: "./itests/mpool_msg_uuid_test.go"
- test:
name: test-itest-mpool_push_with_uuid
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-mpool_push_with_uuid
target: "./itests/mpool_push_with_uuid_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-multisig
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-multisig
target: "./itests/multisig_test.go"
2022-06-23 18:02:10 +00:00
- test:
name: test-itest-net
2022-12-19 06:17:00 +00:00
requires:
- build
2022-06-23 18:02:10 +00:00
suite: itest-net
target: "./itests/net_test.go"
2021-07-02 16:04:57 +00:00
- test:
name: test-itest-nonce
2022-12-19 06:17:00 +00:00
requires:
- build
2021-07-02 16:04:57 +00:00
suite: itest-nonce
target: "./itests/nonce_test.go"
2022-07-15 13:49:23 +00:00
- test:
name: test-itest-path_detach_redeclare
2022-12-19 06:17:00 +00:00
requires:
- build
2022-07-15 13:49:23 +00:00
suite: itest-path_detach_redeclare
target: "./itests/path_detach_redeclare_test.go"
2022-07-12 10:42:08 +00:00
- test:
name: test-itest-path_type_filters
2022-12-19 06:17:00 +00:00
requires:
- build
2022-07-12 10:42:08 +00:00
suite: itest-path_type_filters
target: "./itests/path_type_filters_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-paych_api
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-paych_api
target: "./itests/paych_api_test.go"
- test:
name: test-itest-paych_cli
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-paych_cli
target: "./itests/paych_cli_test.go"
2022-10-05 18:43:16 +00:00
- test:
2022-10-05 22:45:43 +00:00
name: test-itest-pending_deal_allocation
2022-12-19 06:17:00 +00:00
requires:
- build
2022-10-05 22:45:43 +00:00
suite: itest-pending_deal_allocation
target: "./itests/pending_deal_allocation_test.go"
- test:
name: test-itest-raft_messagesigner
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-raft_messagesigner
target: "./itests/raft_messagesigner_test.go"
2022-10-26 16:18:51 +00:00
- test:
name: test-itest-remove_verifreg_datacap
2022-12-19 06:17:00 +00:00
requires:
- build
2022-10-26 16:18:51 +00:00
suite: itest-remove_verifreg_datacap
target: "./itests/remove_verifreg_datacap_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-sdr_upgrade
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-sdr_upgrade
target: "./itests/sdr_upgrade_test.go"
- test:
name: test-itest-sector_finalize_early
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-sector_finalize_early
target: "./itests/sector_finalize_early_test.go"
2022-03-17 20:21:52 +00:00
- test:
name: test-itest-sector_import_full
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-sector_import_full
target: "./itests/sector_import_full_test.go"
- test:
name: test-itest-sector_import_simple
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-sector_import_simple
target: "./itests/sector_import_simple_test.go"
- test:
2022-03-17 20:21:52 +00:00
name: test-itest-sector_make_cc_avail
2022-12-19 06:17:00 +00:00
requires:
- build
2022-03-17 20:21:52 +00:00
suite: itest-sector_make_cc_avail
target: "./itests/sector_make_cc_avail_test.go"
2021-06-29 16:17:08 +00:00
- test:
name: test-itest-sector_miner_collateral
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-29 16:17:08 +00:00
suite: itest-sector_miner_collateral
target: "./itests/sector_miner_collateral_test.go"
2022-08-22 20:20:40 +00:00
- test:
name: test-itest-sector_numassign
2022-12-19 06:17:00 +00:00
requires:
- build
2022-08-22 20:20:40 +00:00
suite: itest-sector_numassign
target: "./itests/sector_numassign_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-sector_pledge
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-sector_pledge
target: "./itests/sector_pledge_test.go"
2022-03-17 20:21:52 +00:00
- test:
name: test-itest-sector_prefer_no_upgrade
2022-12-19 06:17:00 +00:00
requires:
- build
2022-03-17 20:21:52 +00:00
suite: itest-sector_prefer_no_upgrade
target: "./itests/sector_prefer_no_upgrade_test.go"
- test:
name: test-itest-sector_revert_available
2022-12-19 06:17:00 +00:00
requires:
- build
2022-03-17 20:21:52 +00:00
suite: itest-sector_revert_available
target: "./itests/sector_revert_available_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-sector_terminate
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-sector_terminate
target: "./itests/sector_terminate_test.go"
2022-11-21 20:23:44 +00:00
- test:
name: test-itest-sector_unseal
2022-12-19 06:17:00 +00:00
requires:
- build
2022-11-21 20:23:44 +00:00
suite: itest-sector_unseal
target: "./itests/sector_unseal_test.go"
- test:
name: test-itest-self_sent_txn
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-self_sent_txn
target: "./itests/self_sent_txn_test.go"
- test:
name: test-itest-splitstore
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-splitstore
target: "./itests/splitstore_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-tape
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-tape
target: "./itests/tape_test.go"
- test:
name: test-itest-verifreg
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-verifreg
target: "./itests/verifreg_test.go"
2022-07-04 14:15:23 +00:00
- test:
2022-08-02 19:55:04 +00:00
name: test-itest-wdpost_config
2022-12-19 06:17:00 +00:00
requires:
- build
2022-08-02 19:55:04 +00:00
suite: itest-wdpost_config
target: "./itests/wdpost_config_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-wdpost_dispute
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-wdpost_dispute
target: "./itests/wdpost_dispute_test.go"
- test:
name: test-itest-wdpost_no_miner_storage
2022-12-19 06:17:00 +00:00
requires:
- build
suite: itest-wdpost_no_miner_storage
target: "./itests/wdpost_no_miner_storage_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-itest-wdpost
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: itest-wdpost
target: "./itests/wdpost_test.go"
2022-07-04 14:15:23 +00:00
- test:
name: test-itest-wdpost_worker_config
2022-12-19 06:17:00 +00:00
requires:
- build
2022-07-04 14:15:23 +00:00
suite: itest-wdpost_worker_config
target: "./itests/wdpost_worker_config_test.go"
2022-12-19 06:17:00 +00:00
executor: golang-2xl
2022-01-14 13:11:04 +00:00
- test:
name: test-itest-worker
2022-12-19 06:17:00 +00:00
requires:
- build
2022-01-14 13:11:04 +00:00
suite: itest-worker
target: "./itests/worker_test.go"
2022-12-19 06:17:00 +00:00
executor: golang-2xl
2022-11-15 21:22:25 +00:00
- test:
name: test-itest-worker_upgrade
2022-12-19 06:17:00 +00:00
requires:
- build
2022-11-15 21:22:25 +00:00
suite: itest-worker_upgrade
target: "./itests/worker_upgrade_test.go"
2021-06-22 20:03:05 +00:00
- test:
name: test-unit-cli
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: utest-unit-cli
target: "./cli/... ./cmd/... ./api/..."
2022-12-19 06:17:00 +00:00
get-params: true
2021-06-22 20:03:05 +00:00
- test:
name: test-unit-node
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: utest-unit-node
target: "./node/..."
2022-12-19 06:17:00 +00:00
2021-06-22 20:03:05 +00:00
- test:
name: test-unit-rest
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: utest-unit-rest
target: "./api/... ./blockstore/... ./build/... ./chain/... ./cli/... ./cmd/... ./conformance/... ./extern/... ./gateway/... ./journal/... ./lib/... ./markets/... ./node/... ./paychmgr/... ./storage/... ./tools/..."
2022-12-19 06:17:00 +00:00
executor: golang-2xl
2021-06-22 20:03:05 +00:00
- test:
name: test-unit-storage
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: utest-unit-storage
target: "./storage/... ./extern/..."
2022-12-19 06:17:00 +00:00
2021-06-22 20:03:05 +00:00
- test:
2021-06-15 15:46:06 +00:00
go-test-flags: "-run=TestMulticoreSDR"
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: multicore-sdr-check
2022-06-14 18:08:10 +00:00
target: "./storage/sealer/ffiwrapper"
2021-06-15 15:46:06 +00:00
proofs-log-test: "1"
2020-08-16 21:22:12 +00:00
- test-conformance:
2022-12-19 06:17:00 +00:00
requires:
- build
2021-06-22 20:03:05 +00:00
suite: conformance
target: "./conformance"
release:
jobs:
- build-linux-amd64:
name: "Build ( linux / amd64 )"
2021-06-03 17:44:48 +00:00
filters:
branches:
2021-03-31 23:12:33 +00:00
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
2021-06-03 17:44:48 +00:00
tags:
only:
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- build-darwin-amd64:
name: "Build ( darwin / amd64 )"
2021-03-31 23:12:33 +00:00
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
2021-03-31 23:12:33 +00:00
tags:
only:
2021-05-12 18:31:34 +00:00
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- build-darwin-arm64:
name: "Build ( darwin / arm64 )"
2021-03-31 23:12:33 +00:00
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
2021-03-31 23:12:33 +00:00
tags:
only:
2021-05-12 18:31:34 +00:00
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- release:
name: "Release"
requires:
- "Build ( darwin / amd64 )"
- "Build ( linux / amd64 )"
- "Build ( darwin / arm64 )"
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+(-rc\d+)?$/
- release:
name: "Release (dry-run)"
dry-run: true
requires:
- "Build ( darwin / amd64 )"
- "Build ( linux / amd64 )"
- "Build ( darwin / arm64 )"
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- build-docker:
name: "Docker push (lotus-all-in-one / stable / mainnet)"
image: lotus-all-in-one
channel: stable
network: mainnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / candidate / mainnet)"
image: lotus-all-in-one
channel: candidate
network: mainnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+-rc\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / edge / mainnet)"
image: lotus-all-in-one
channel: master
network: mainnet
push: true
filters:
branches:
only:
- master
- build-docker:
name: "Docker build (lotus-all-in-one / mainnet)"
image: lotus-all-in-one
network: mainnet
push: false
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- build-docker:
name: "Docker push (lotus-all-in-one / stable / butterflynet)"
image: lotus-all-in-one
channel: stable
network: butterflynet
push: true
2021-07-20 22:23:29 +00:00
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / candidate / butterflynet)"
image: lotus-all-in-one
channel: candidate
network: butterflynet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+-rc\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / edge / butterflynet)"
image: lotus-all-in-one
channel: master
network: butterflynet
push: true
filters:
branches:
only:
- master
- build-docker:
name: "Docker build (lotus-all-in-one / butterflynet)"
image: lotus-all-in-one
network: butterflynet
push: false
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- build-docker:
name: "Docker push (lotus-all-in-one / stable / calibnet)"
image: lotus-all-in-one
channel: stable
network: calibnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / candidate / calibnet)"
image: lotus-all-in-one
channel: candidate
network: calibnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+-rc\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / edge / calibnet)"
image: lotus-all-in-one
channel: master
network: calibnet
push: true
filters:
branches:
only:
- master
- build-docker:
name: "Docker build (lotus-all-in-one / calibnet)"
image: lotus-all-in-one
network: calibnet
push: false
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
- build-docker:
name: "Docker push (lotus-all-in-one / stable / debug)"
image: lotus-all-in-one
channel: stable
network: debug
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / candidate / debug)"
image: lotus-all-in-one
channel: candidate
network: debug
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+-rc\d+$/
- build-docker:
name: "Docker push (lotus-all-in-one / edge / debug)"
image: lotus-all-in-one
channel: master
network: debug
push: true
filters:
branches:
only:
- master
- build-docker:
name: "Docker build (lotus-all-in-one / debug)"
image: lotus-all-in-one
network: debug
push: false
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
2022-12-09 18:27:31 +00:00
- build-docker:
name: "Docker push (lotus / stable / mainnet)"
image: lotus
channel: stable
network: mainnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+$/
- build-docker:
name: "Docker push (lotus / candidate / mainnet)"
image: lotus
channel: candidate
network: mainnet
push: true
filters:
branches:
ignore:
- /.*/
tags:
only:
- /^v\d+\.\d+\.\d+-rc\d+$/
- build-docker:
name: "Docker push (lotus / master / mainnet)"
image: lotus
channel: master
network: mainnet
push: true
filters:
branches:
only:
- master
- build-docker:
name: "Docker build (lotus / mainnet)"
image: lotus
network: mainnet
push: false
filters:
branches:
only:
- /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/
2021-06-04 23:22:57 +00:00
2021-06-04 03:45:54 +00:00
nightly:
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- master
jobs:
- build-docker:
name: "Docker (lotus-all-in-one / nightly / mainnet)"
image: lotus-all-in-one
channel: nightly
network: mainnet
push: true
- build-docker:
name: "Docker (lotus-all-in-one / nightly / butterflynet)"
image: lotus-all-in-one
channel: nightly
network: butterflynet
push: true
- build-docker:
name: "Docker (lotus-all-in-one / nightly / calibnet)"
image: lotus-all-in-one
channel: nightly
network: calibnet
push: true
- build-docker:
name: "Docker (lotus-all-in-one / nightly / debug)"
image: lotus-all-in-one
channel: nightly
network: debug
push: true