Commit Graph

130 Commits

Author SHA1 Message Date
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
Ian Davis
17a130d13d Merge branch 'main' into btrfly-calib-all-in-one 2022-11-29 14:50:02 +00: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
Ian Davis
2e04575654 Update to Go Version 1.18.8 2022-11-23 19:00:19 +00: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
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
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
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
Ian Davis
e88a7f7088 mv GO_VERSION GO_VERSION_MIN 2022-10-18 16:20:10 +01: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
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
Ł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
Ian Davis
f5048ec61c Don't publish new homebrew releases for RC builds 2022-09-21 12:20:26 -04:00
Shrenuj Bansal
942c3a879c Change go version for circleci 2022-08-17 15:21:03 -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
Ian Davis
837fa4eae9 Run snap builds for lotus and lotus-filecoin in parallel 2022-08-05 15:13:29 -07: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
384b6433c0 circle: Fix template 2022-08-03 11:14:53 +02:00
Łukasz Magiera
a38a9ea144 Merge remote-tracking branch 'origin/master' into push-lotus-gateway-container 2022-08-03 11:12:26 +02: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
Cory Schwartz
91e678bdcb fix circleci template 2022-07-05 11:42:24 -07: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
vyzo
73f6402ade bundle fetcher script does not exist any more 2022-05-11 22:34:43 +03:00
Raúl Kripalani
6050d04c7c Merge tag 'v1.15.2' into feat/nv16-merge-v1.15.2 2022-05-10 14:17:29 +01:00
Travis Person
5efa364d50 fix: ci: build macos and linux assets on tagged releases 2022-05-06 01:59:57 -04:00
Steven Allen
baef8c0c27 chore: update golang and go-ipfs
1. go 1.16.4 is not supported.
2. go-ipfs 0.4.22 is NOT SUPPORTED!
3. switch go cimg/go
4. Remove unnecessary CI dependencies.
2022-05-04 15:38:15 +03:00
Travis Person
704833cd29 ci: build-all and build-macos on all ci runs 2022-05-03 15:12:12 -04:00
Travis Person
19ec0ef25d ci: deps: remove install-deps for macos builds 2022-05-03 15:12:01 -04:00
jennijuju
bd9e8c7663 update go version thats needed by the new libp2p 2022-04-23 22:20:07 +02:00
vyzo
942f05ad6a set LOTUS_SRC_DIR for tests in CI 2022-04-19 18:30:04 +03:00
vyzo
eb7fc47290 update CI workflow for bundle fetching 2022-04-19 15:38:14 +03:00
vyzo
1dbfb3bea9 fetch builtin actor bundles as part of prepare workflow 2022-04-14 19:30:47 +03:00
Cory Schwartz
76c10807d6 disable publish-packer 2022-04-07 11:04:45 -04:00
Jennifer Wang
5915d4ac6a fix ci 2022-04-01 15:31:10 -04:00
Cory Schwartz
78187ab8d1 fix template 2022-04-01 00:05:10 -04:00
Cory Schwartz
6b4cc44060 fix template 2022-04-01 00:05:06 -04:00
Łukasz Magiera
91ae72d47a
Merge pull request #7819 from filecoin-project/digitalocean-use-snap
feat: ci: packer snap
2022-03-02 13:17:48 +00:00
Łukasz Magiera
a74c466b50
Merge pull request #7943 from filecoin-project/fix/restore-appimage
ci: appimage: re-install appimage CI
2022-03-02 12:54:14 +00:00
Cory Schwartz
cdd2d5cc6a update template 2022-02-18 15:37:53 -08:00
Jennifer Wang
932110fb93 update the param version 2022-02-08 10:44:36 -05:00
Cory Schwartz
899db1f7c3 fix template 2022-01-14 03:07:20 -08:00
Cory Schwartz
d9562e2aee restore appiamge 2022-01-14 03:01:12 -08:00
zenground0
4963fe7809 Fix template 2022-01-09 09:41:53 +05:30
Travis Person
66c8c66f40 disable building of appimage on release
appimage testing is currently broken due to a requirement to have access
to /dev/snd, which is not present on the image we are using in circleci.
2021-12-01 19:15:35 +00:00
Peter Rabbitson
778483166f Remove obsolete GS testplan - it now lives in go-graphsync 2021-10-07 12:23:43 +02:00
Cory Schwartz
001fc7dd53 restore filters for the build-macos job 2021-10-06 13:40:44 -07:00
Jennifer Wang
d7690aa719 Merge branch 'releases' into jen/backport 2021-09-29 03:21:19 -04:00
Jennifer Wang
6064d2f2f1 remove nerpanet related code base as it was deprecated on aug 16 https://docs.filecoin.io/about-filecoin/networks/#deprecated-networks 2021-09-22 00:59:38 -04:00
Mike Greenberg
90827afa47 feat(ci): include version/cli checks in tagged releases 2021-09-15 12:12:05 -04:00
Jennifer Wang
cd08788792 Bump the xcode version for ci and run build macos jobs more 2021-09-10 13:35:25 -04:00
ognots
143b6d7a37 remove job to install jq
jq is already installed now in either a newer version of CircleCI's MacOS VMs or in a previous CI step.
I ran a failing macos job with ssh enabled, and inspected '/usr/local/bin' and found found the following output

lrwxr-xr-x    1 distiller  admin    23 Jun 22 14:50 jq -> ../Cellar/jq/1.6/bin/jq

the existing symlink causes the 'Install jq' job to fail.
removing this job should resolve the issue
2021-09-10 13:32:17 -04:00
ognots
4d9b852875 remove job to install jq
jq is already installed now in either a newer version of CircleCI's MacOS VMs or in a previous CI step.
I ran a failing macos job with ssh enabled, and inspected '/usr/local/bin' and found found the following output

lrwxr-xr-x    1 distiller  admin    23 Jun 22 14:50 jq -> ../Cellar/jq/1.6/bin/jq

the existing symlink causes the 'Install jq' job to fail.
removing this job should resolve the issue
2021-09-10 10:21:40 -04:00
Cory Schwartz
f68b43a526 make work with go gen 2021-07-22 14:15:27 -07:00
Łukasz Magiera
0517ef260b Fix CircleCI gen 2021-06-24 18:48:12 +02:00
Raúl Kripalani
da96414bf8 switch test output format. 2021-06-22 21:39:20 +01:00
Raúl Kripalani
ec6c394de7 remove dynamic circleci. 2021-06-22 21:39:20 +01:00
Raúl Kripalani
51e51d1b90 dynamic circleci config. 2021-06-22 20:55:10 +01:00