Commit Graph

73 Commits

Author SHA1 Message Date
Ian Davis
cf56f246b9 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-12-06 12:13:32 -05:00
Ian Davis
93698b6a83 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 12:01:11 -05:00
Ian Davis
ff5c576a4d 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 12:01:11 -05:00
Ian Davis
2ae22e11ae Use context with goreleaser key 2022-11-18 12:01:11 -05: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 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