Skip to content
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

Automate release and build distributable binaries #611

Closed
Tracked by #12
jm-clius opened this issue Jun 10, 2021 · 10 comments
Closed
Tracked by #12

Automate release and build distributable binaries #611

jm-clius opened this issue Jun 10, 2021 · 10 comments
Assignees

Comments

@jm-clius
Copy link
Contributor

Problem

We need to automate the release process for nim-waku, including building and uploading distributable binaries for all the major OSs/architectures.

The nimbus-eth2 release workflow can serve as inspiration.

Acceptance criteria

A GH workflow that creates a

  • tagged GH release
  • uploads binary distribs as release asset for all major operating systems and architectures
@vpavlin
Copy link
Member

vpavlin commented Apr 13, 2023

Looking at https://github.com/waku-org/nwaku/blob/master/docs/contributors/release-process.md it does not seem like the release/vX.Y.Z branches has been created before - are they only created when needed (i.e. in case of hotfix/ Z-stream release) or is it because the process has not been properly followed?

@vpavlin
Copy link
Member

vpavlin commented Apr 13, 2023

We could add https://github.com/marketplace/actions/semantic-pull-request to our PR workflow to make sure the PR title follows the semantic commit pattern

@vpavlin
Copy link
Member

vpavlin commented Apr 25, 2023

Reviewing https://github.com/status-im/nimbus-eth2/tree/stable/docker to replicate the multi-arch builds for nwaku

@vpavlin vpavlin added this to Waku May 2, 2023
@vpavlin vpavlin moved this to In Progress in Waku May 2, 2023
@vpavlin
Copy link
Member

vpavlin commented May 11, 2023

I've noticed the current released artifact tarball contains the build/ directory:

/home/vpavlin/Downloads/nim-waku-ubuntu-latest/
└── build
    ├── chat2
    ├── networkmonitor
    ├── wakucanary
    ├── wakunode1
    └── wakunode2

Is that necessary? I would probably either remove the subdir or used bin/ instead of build/.

WDYT @jm-clius ?

@jm-clius
Copy link
Contributor Author

Not necessary, I'd say. I also don't have any strong feelings about whether it should be in a subdirectory at all. The only important thing is to clearly communicate this change in the next release, in case some client teams have built tooling that assume the subdirectory.

@arnetheduck
Copy link
Contributor

One useful nuance of the nimbus release process is the split into unstable/testing/stable - ie unstable is where development happens - when it's getting close to release we merge to testing and users are generally expected to use stable - the last one also serves as the "latest released" branch effectively

@vpavlin
Copy link
Member

vpavlin commented May 11, 2023

@arnetheduck Yup, I've read through the nimbus release process, workflows and dist related make targets etc.

I like that split and we will eventually move to similar direction.

For now we have agreed on "simply" releasing master - i.e. doing a soft-freeze of not merging anything with potential to disrupt the master a few days before release and then tagging the master and producing the artefacts.

The main goal now is to automate as much as reasonably possible for the current process and then start adding safety nets like multiple stages/branches pre-release

@fryorcraken
Copy link
Collaborator

This looks like a milestone @vpavlin . What is the status?
Could you use the milestone template so we can clearly see what's done, what's remaining and what's the scope?

@vpavlin
Copy link
Member

vpavlin commented Aug 10, 2023

I was considering it, but then we created #1889, so I'd say we can close this one in favour of the new oen?

@jm-clius
Copy link
Contributor Author

I agree that the new issue probably better captures what we still want to do. Closing this one.

@github-project-automation github-project-automation bot moved this from In Progress to Done in Waku Aug 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

4 participants