Commit Graph

431 Commits

Author SHA1 Message Date
Ian Davis
8960c11f86 Add otool -hv check to make sure binary is correct 2022-12-13 16:16:09 -08:00
Ian Davis
9720ce68f2 Download the right go binary on darwin-arm64 2022-12-13 16:16:09 -08:00
Ian Davis
5ad27f56b1 Also push docker images to SHA tags 2022-12-09 18:35:29 +00:00
Ian Davis
0635c1c3b5 Also build / push lotus images 2022-12-09 18:27:31 +00:00
Ian Davis
3b9b688c97 Deploy lotus-all-in-one:master on all master merges 2022-12-09 18:26:51 +00:00
Ian Davis
36183c72d1 Remove echo so docker images actually push 2022-12-09 18:18:08 +00:00
Ian Davis
b747806842 Remove build-debug 2022-12-06 15:27:15 +00:00
Ian Davis
ec19e2949e Remove trigger-testplans, lotus-soup 2022-12-06 15:26:52 +00:00
Ian Davis
76baeb3214 Remove support for AMIs and DO Droplets
This discontinues packer builds and stops publishing (or attempting to
publish) them to AWS / DO. These have been broken for more than 6
months, and no one seems to have complained or even noticed, which seems
to indicate they are not being used much. For cloud platfrom support, we
can optionally write docker / terraform automation that folks could use
to more easily launch instances to cloud environments instead.
2022-11-29 17:21:28 +00:00
Ian Davis
e8d769a574 Merge branch 'main' into btrfly-calib-all-in-one 2022-11-29 16:32:14 +00:00
Łukasz Magiera
b1045c39ed
Merge pull request #9712 from filecoin-project/id/update-go-version
_build_: Update to Go Version 1.18.8
2022-11-29 16:51:21 +01:00
Łukasz Magiera
1053310511
Merge pull request #9740 from filecoin-project/id/remove-circleci-context
_ci_: Rely on local env varibale instead of context
2022-11-29 16:21:58 +01:00
Ian Davis
17a130d13d Merge branch 'main' into btrfly-calib-all-in-one 2022-11-29 14:50:02 +00:00
Ian Davis
0a4efd4820 Merge branch 'main' into id/update-go-version 2022-11-29 14:29:11 +00:00
Łukasz Magiera
285cc66773
Merge pull request #9648 from filecoin-project/fix/snap-abort-cleanup
fix: sealing: More complete snapdeals abort cleanup
2022-11-28 23:26:32 +01:00
Ian Davis
6455e759e3 Rely on local env varibale instead of context
We have this env varible set in the project settings as well as the
CircleCI context. Due to what seems like a bug on CircleCI's eng, the
using the context causes our release flow to halt when some member of
the team initiate releases, but not others. So for now, it's safest to
rely on the project settings, which definitely won't cause this issue.
2022-11-28 19:54:07 +00:00
Łukasz Magiera
8ba4355cab
Merge pull request #9694 from filecoin-project/9159-allow-lotus-worker-to-unseal-sector-even-if-does-not-store-unsealed-data-long-term
fix: sealing: Set all path types for Unseal pipeline to sealing storage
2022-11-28 20:15:17 +01:00
Ian Davis
2e04575654 Update to Go Version 1.18.8 2022-11-23 19:00:19 +00:00
Łukasz Magiera
7512f82a8d make gen 2022-11-23 18:57:16 +01:00
Łukasz Magiera
4ae2d400d1
Merge pull request #9709 from filecoin-project/id/discontinue-ECR
_build_: Remove ECR image publishing
2022-11-23 17:43:46 +01:00
Ian Davis
6b4661be92 Remove ECR image publishing
This completely removes publishing to Amamzon ECR. ECR is a private
docker repository (like DockerHub), but since it's private is can only
be used internally by PL teams to launch lotus nodes on AWS
infrastructure. No one currently seems to be using it. All the usual
suspects (Boost, Lotus, Infra) have been asked specifically, and said
they don't, and post has been made in the #engres channel to try and
catch anyone else. No one responded saying we should save it.
2022-11-23 16:24:37 +00:00
Shrenuj Bansal
cc1e00b1c4 make gen 2022-11-21 15:23:44 -05:00
Ian Davis
0fd73272ea Turn on goreleaser debug logging
This will give us much more detailed information in the release job, so
we can more easily debug issues when they occur.
2022-11-18 16:34:49 +00:00
Ian Davis
81d4342d97 Remove kubo download after installing
Goreleaser checks to make sure we don't have a dirty git state when
releasing, which means the kubo download we use to set up IPFS should be
removed before release.
2022-11-18 16:34:03 +00:00
Ian Davis
5df2d9a4f6 Use context with goreleaser key 2022-11-18 16:33:55 +00:00
Shrenuj Bansal
2fa21ff091 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-11-11 14:41:38 -05:00
Ian Davis
b94fd23da2 Refactor Lotus Dockerfile
This is a major refactor of our dockerfile to support the following
- The lotus image will remain as is.
- The lotus-test image will be deprecated.
- The lotus-all-in-one image will also ship with the lotus-seed and lotus-fountain binaries, which it currently does not.
- The lotus-all-in-one image will be built in debug, calibnet, and butterflynet modes in addition to the (current) mainnet mode.
- The lotus-all-in-one image will now be published regularly using the following tags:
  - 1.18.0-rc1 , 1.18.0-rc1-debug, 1.18.0-rc1-calibnet, 1.18.0-rc1-butterflynet . This pattern will be used for all lotus releases, including RC releases.
  - nightly, nightly-debug, nightly-calibnet, nightly-butterflynet
  - stable, stable-debug, stable-calibnet, stable-butterflynet
2022-11-09 15:33:10 +00:00
Geoff Stuart
f6d9a12cba
Merge pull request #9600 from filecoin-project/refactor-release-pipeline
_ci_ Refactor release pipeline to better support m1 builds
2022-11-08 13:15:26 -05:00
Łukasz Magiera
888f97a35f netbs: Add an integration test 2022-11-08 13:38:28 +01:00
Ian Davis
bc06775e04 Steamline build jobs
- Removes cargo caching (since we don't build FFI from source, this
isn't used)
- Removes npm (this isn't a build dependency, so not sure why it was
  being installed)
2022-11-07 16:18:01 +00:00
Ian Davis
2895dcfa98 Clean up workspace usage 2022-11-07 16:18:01 +00:00
Ian Davis
75f9f72147 Skip homebrew release on prereleases (i.e. *-rc) 2022-11-07 16:18:01 +00:00
Ian Davis
ecef0b6361 Fix goreleaser release workflow 2022-11-07 16:17:22 +00:00
Ian Davis
7afa5c9255 Various tweaks to get m1 self hosted build working
- Set CPATH and LIBRARY_PATH for lotus m1 build
- support dry-run on new release job
2022-11-07 16:16:19 +00:00
Ian Davis
568cd38b0f Rebuild pipeline using goreleaser prebuilt binaries
This builds three separate binaries (darwin/amd64, darwin/arm64,
linux/amd64), and then combines them into single release (including a
universal darwin binary) using goreleaser.

Also removes build-ntwk-{calibration,butterfly}
2022-11-07 16:16:19 +00:00
Aayush
c0b7343e60 Merge branch 'release/v1.18.0' into asr/merge-release-into-master 2022-11-06 14:40:13 -05:00
Geoff Stuart
8b2b7cb4a4 make gen 2022-10-31 11:53:30 +00:00
Aayush Rajasekaran
21e85e3150 test: nv17 migration 2022-10-25 10:26:08 -04:00
Geoff Stuart
c4875d475d
fix: ci: fix app-image build on ci (#9527)
* Remove old go version first

* Add GO_VERSION file

* Use GO_VERSION to set / verify go version

* mv GO_VERSION GO_VERSION_MIN

* Use GO_VERSION_MIN in Makefile check

Co-authored-by: Ian Davis <jungziege@gmail.com>
2022-10-20 22:31:24 -04:00
Ian Davis
e88a7f7088 mv GO_VERSION GO_VERSION_MIN 2022-10-18 16:20:10 +01:00
Shrenuj Bansal
15ed1ee33c Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-10-17 22:55:48 -04:00
Ian Davis
296eaff73c Use GO_VERSION to set / verify go version 2022-10-14 15:25:40 +01:00
Ian Davis
a294a9592e Remove old go version first 2022-10-14 14:43:57 +01:00
Aayush
b1478a49da Merge branch 'releases' into release/v1.18.0 2022-10-13 22:09:56 -04:00
Geoff Stuart
d3eba74c04 Use fake cid for test 2022-10-06 11:06:21 -04:00
Geoff Stuart
b5c5e6627e review fixes 2022-10-06 11:06:21 -04:00
Ian Davis
284bfc9a57 Run packer build biweekly
This runs the build more often so we can continue to debug any remaining
issues, and ensures that we release a new image on the 15th of this
month (since it was broken on the 1st)
2022-10-05 13:05:36 +01:00
Ian Davis
d1981ef34e Increase aws_polling / no_output_timeout to 1h 2022-10-05 12:28:41 +01:00
Ian Davis
bb8c3bad86 Use golang 1.18.1 to build appimage 2022-09-28 10:15:13 +00:00
Łukasz Magiera
7bf24ccaa2
Merge pull request #9386 from filecoin-project/fix-appimage-go-version
_ci_: Use golang 1.18.1 to build appimage
2022-09-28 10:13:39 +00:00
Ian Davis
1a3cf0c7fe Use golang 1.18.1 to build appimage 2022-09-27 21:29:23 +01:00
Shrenuj Bansal
559c2c6d34 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-09-27 16:29:03 +00:00
Ian Davis
f228bf484e Don't publish new homebrew releases for RC builds 2022-09-27 14:50:44 +00:00
Łukasz Magiera
a0f2ddb920
Merge pull request #9350 from filecoin-project/no-rc-homebrew-update
_ci_: Don't publish new homebrew releases for RC builds
2022-09-27 14:43:00 +00:00
Ian Davis
f5048ec61c Don't publish new homebrew releases for RC builds 2022-09-21 12:20:26 -04:00
Łukasz Magiera
142894895d sector import: Implement seed/ticket/commr/commd checks 2022-09-19 12:13:06 +02:00
Łukasz Magiera
fef7232c6b sector import: Initial SectorReceive itest 2022-09-19 12:13:06 +02:00
Shrenuj Bansal
4be8861f41 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-09-13 17:41:06 -04:00
Shrenuj Bansal
a50a21b076 cleanup 2022-09-13 16:52:47 -04:00
Shrenuj Bansal
8f1b1bb1ff WIP: Raft consensus for lotus nodes in a cluster 2022-09-12 16:10:15 -04:00
Shrenuj Bansal
b3175f0b5c Merge branch 'master' into 9171-add-retries-to-mpool-push-message 2022-08-26 12:31:35 -04:00
Shrenuj Bansal
217cc846c3 Address more comments 2022-08-26 11:55:20 -04:00
Shrenuj Bansal
b972e079b8 Address comments 2022-08-22 17:32:43 -04:00
Łukasz Magiera
129eba2b5d sealing: numassign: itests/bug fixes 2022-08-22 16:58:36 -04:00
Shrenuj Bansal
942c3a879c Change go version for circleci 2022-08-17 15:21:03 -04:00
Shrenuj Bansal
087a838db5 make gen for tests 2022-08-17 14:02:53 -04:00
Geoff Stuart
84a2ebcbfd Update xcode version for macos builds 2022-08-15 12:23:20 -04:00
Jennifer Wang
e7628229fc Merge branch 'releases' into jen/17tomaster 2022-08-09 13:23:02 -04:00
Geoff Stuart
e24198ab22
Merge pull request #9133 from filecoin-project/ianconsolata/parallel-snap-publish
_ci_: Run snap builds for lotus and lotus-filecoin in parallel
2022-08-08 19:48:03 -04:00
Ian Davis
837fa4eae9 Run snap builds for lotus and lotus-filecoin in parallel 2022-08-05 15:13:29 -07:00
ZenGround0
0c91b0dc10
feat:chain:splitstore chain prune (#9056)
* Splitstore chain prune
* Protect on reification for simpler logic and sound cold compact protect
* Recovery from checkpoint during chain prune
* Splitstore (discard and universal mode) running in itests
* Add pause and restart functions to itest block miner
* Add config options to itest full nodes
* Add FsRepo support for itest full ndoes

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2022-08-05 16:34:16 -04:00
Łukasz Magiera
819314de46 Merge remote-tracking branch 'origin/master' into feat/storage-redeclare 2022-08-05 09:01:30 +02:00
Ian Davis
5a8bc204b7 Change default shell options for snapcraft publish
The builds were erroring only in CircleCI, when run manually the same
command worked fine. I reached out to CircleCI support, and got the
following message:

>>>
The reason you are seeing this error when running in CircleCI and not while debugging with SSH is due to the -e set in #!/bin/bash -eo pipefail at the beginning of the shell while the debugging shell would just be #!/bin/bash. The -e sets to exit to the shell when any non zero [0] exit code status.

Since you say the command works when debugging with SSH you can set the shell to use /bin/bash -o pipefail using a default shell options. Here is an example:

      - run:
          name: <<command name>>
          shell: /bin/bash -o pipefail
          command: |
            << some commands>>

Notice that I still added -o pipefail as that prevents errors in a pipeline from being masked.
2022-08-03 21:29:35 -07:00
Ian Davis
9a9428789d Build / Publish snap twice (lotus-filecoin + lotus) 2022-08-03 12:15:53 -07:00
Łukasz Magiera
a38a9ea144 Merge remote-tracking branch 'origin/master' into push-lotus-gateway-container 2022-08-03 11:12:26 +02:00
Łukasz Magiera
92d27aa6d2 Merge remote-tracking branch 'origin/master' into feat/storage-redeclare 2022-08-03 00:56:23 +02:00
Aayush
5e98b8a0d6 add a test for Post max sectors recovery 2022-08-02 18:09:18 -04:00
Aayush
1b45f42d70 fix makegen 2022-08-02 15:55:04 -04:00
Łukasz Magiera
3309e10b0d itests: Test storage detach/redeclare 2022-08-01 15:58:06 +02:00
Ian Davis
52aef0b926 make circleci 2022-07-28 21:17:46 -07:00
Ian Davis
83199661ce Add separate names to build-and-push-image jobs 2022-07-28 20:37:42 -07:00
Ian Davis
7f1b4dc438 Use goreleaser to build universal darwin binaries
This is a small refactor of our workflow to test out goreleaser, a yaml
based tool for building, packaging, and releasing go binaries on
multiple platforms. It supports building binaries for to most of the platforms we
care about, including linux and  macos, and also supports publishing
those binaries automatically as releases in Github, homebrew, snap, and
even apt / deb.

If this trial goes well, I think we should eventually replace the entire
release workflow with goreleaser. For now, this test is more tightly
scoped to only automated the MacOS release process, since that is the
one we have the most issues with. This PRi / commit:
- Builds darwin-amd64 and darwin-arm64 binaries of lotus, lotus-miner,
  and lotus-worker
- Packages them into a universal darwin binary
- Publishes those to a release in Github based on the current tag
- Uses the binaries in the release to auto-publish and updated homebrew
  configuration to filecoin-project/homebrew-lotus
- Does a `dry-run` build to produce a snapshot on release branches with
  no tag
- Manually generate and upload checksums after goreleaser
2022-07-28 20:37:42 -07:00
Ian Davis
564aaa7bb1 Snapcraft push was renamed to snapcraft upload 2022-07-27 13:40:16 -07:00
Ian Davis
c2887b3e59 Make snap build more verbose to debug issues. 2022-07-27 13:16:58 -07:00
Ian Davis
7e47ab2a1e Don't publish a stable release on RC tags 2022-07-27 13:16:58 -07:00
Ian Davis
04fce8a5fa Fix snap publishing flow, publish assets independently 2022-07-26 08:55:48 +02:00
Ian Davis
8a41a6bb5b Fix snap publishing flow, publish assets independently 2022-07-24 22:16:16 -07:00
zenground0
9d407f100f another try 2022-07-19 11:41:55 -07:00
zenground0
cf4b39db8c Remove codecov from CI 2022-07-19 11:37:35 -07:00
Łukasz Magiera
9eb8f4ee9d
Merge pull request #9013 from filecoin-project/feat/path-type-filters
feat: storage: Path type filters
2022-07-15 13:08:43 +02:00
Aayush Rajasekaran
ca713c57e7
Merge pull request #8084 from filecoin-project/itest_net_tests
test: net: net and conngater tests
2022-07-13 15:59:17 -04:00
Łukasz Magiera
59d069dc4d itests: Tests for storage path filters 2022-07-12 21:45:12 +02:00
Łukasz Magiera
0ca1cc2bcd itests: Test lotus-miner with no store/seal paths 2022-07-12 21:45:12 +02:00
Aayush
9662c1463d Fixup itest net tests 2022-07-10 11:09:54 -04:00
TheMenko
0d437f732d add tests for netstat and netlimit, fix error checking 2022-07-10 10:17:40 -04:00
Steven Allen
d192b821a9
fix: gas: estimate gas with a zero base-fee
Otherwise, an account will need funds to estimate the max possible gas a
message could take (which is usually the block gas limit).

This does mean gas estimation no longer checks if the sending account
has enough funds to cover the message cost, but MpoolPush will now do
this.
2022-07-08 09:47:45 -07:00
Cory Schwartz
c079a12c9c push lotus-gateway to docker hub 2022-07-05 11:18:51 -07:00
Łukasz Magiera
9a97d83889 wdpost: itests for new config fields 2022-07-04 16:15:23 +02:00
Łukasz Magiera
82857e6d5d chore: rerun gen with moved packages 2022-06-14 20:13:31 +02:00
Łukasz Magiera
a9600b8a6f storage: Move extern/sector-storage to storage/sealer 2022-06-14 20:03:38 +02:00