-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
_ci_: update snapcraft and release flow logic #8994
Conversation
5eae900
to
9daa1ee
Compare
I opted to make modified copies of |
887f30d
to
c7ce987
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is well outside my area of expertise but looks ok
@@ -115,7 +119,8 @@ jobs: | |||
command: | | |||
git --no-pager diff go.mod go.sum | |||
git --no-pager diff --quiet go.mod go.sum | |||
build-all: | |||
|
|||
build-linux: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It only builds linux binaries, there are separate build tasks for other target platforms. I think the all was supposed to mean it's building all lotus commands, but I found it very confusing. build-linux
matches pattern used elsewhere better (i.e. build-macos
)
parameters: | ||
linux: | ||
default: false | ||
description: publish linux binaries? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the question mark?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can make the comment clearer, but the parameter is to indicate whether the linux binaries should be published or not. I usually use ? to indicate true/false things.
.circleci/config.yml
Outdated
@@ -713,14 +741,19 @@ jobs: | |||
at: "." | |||
- packer_build: | |||
template: tools/packer/lotus-snap.pkr.hcl | |||
publish-dockerhub: | |||
|
|||
build-dockerhub: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why change name? The old name matches description better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
because it doesn't always publish anymore, the publish is optional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed this for now though. It was a minor change, and not really that important.
scripts/build-appimage-bundle.sh
Outdated
mkdir bundle | ||
pushd bundle | ||
|
||
BINARIES=( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This array is unused.
@@ -78,6 +78,7 @@ do | |||
echo "Uploading ${RELEASE_FILE}..." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this file still used? Now we have publish-arch-release that seems to be similar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so, I wasn't sure if it was referenced anywhere outside of the circleci file. I removed it for now.
@ianconsolata we need to make the gen-check test pass as well.... This check actually re-generates the circleci config from template and checks for differences. |
c7ce987
to
8a41a6b
Compare
Related Issues
https://app.circleci.com/pipelines/github/filecoin-project/lotus/21961/workflows/3bb820f2-4f7a-43d9-880f-7fe4dfecdc72/jobs/513420
Snap builds were previously failing due to an authentication issue. I think it was likely caused by outdated credentials, but snapcraft has also changed their auth method to use an env variable recently and deprecated the old value. So I set that new env var in CircleCI project settings, meaning we should be able to remove this section of CI where we write the old auth file.
I also tweaked the jobs for snapcraft and dockerhub to do trial-runs on all release branches, but still only publish on release tags. While it wouldn't have caught this issue, since it was publish related, I think it's still good practice to add this as a small sanity check.