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 process and binary builds #343

Open
jwflory opened this issue Oct 11, 2020 · 4 comments
Open

Automate release process and binary builds #343

jwflory opened this issue Oct 11, 2020 · 4 comments
Labels
contributor experience Quality-of-life improvements or changes to project contribution processes or resources new change Adds new capabilities or functionality research Research and more data is needed to make a decision
Milestone

Comments

@jwflory
Copy link
Member

jwflory commented Oct 11, 2020

Discussed in 2020-10-11 meeting.


Summary

Automate the creation of multi-OS, multi-arch binaries of TeleIRC releases

Background

Is your feature request related to a problem? Please describe:

When we release TeleIRC, the person cutting the release manually builds the Go binary and uploads it to GitHub. This is OK, but an end-user who is not using the same OS and architecture as the person cutting a release must build their own binary. Unwieldy for the average person!

Describe the solution you'd like:

Automatically build binaries for the most common architectures and operating systems.

Details

We checked out fellow Go project Matterbridge to see how they do it. Matterbridge releases include countless binaries for multiple operating systems and different architectures. It appears they have some automation for this, but it is unclear how it works:

Outcome

Make TeleIRC binaries available to end-users on a variety of platforms without making end-users manually build/compile TeleIRC

@jwflory jwflory added help wanted Anyone is welcome to help us with this! contributor experience Quality-of-life improvements or changes to project contribution processes or resources new change Adds new capabilities or functionality research Research and more data is needed to make a decision labels Oct 11, 2020
@jwflory jwflory added this to the v2.x.x milestone Oct 11, 2020
@jwflory
Copy link
Member Author

jwflory commented Oct 20, 2020

@Zedjones mentioned this in the last developer meeting, and I wanted to make note of it here before I forgot: Inject build-time variables with Golang

@jwflory
Copy link
Member Author

jwflory commented Nov 16, 2020

Discussed in 2020-11-15 meeting.


@Zedjones is leading the effort to explore GitHub Actions as a tool to help us figure out a new C.I. pipeline and help automate the release process. Over the past few weeks, we have spent time on the release process since we are working to provide iterative, regular releases. This has bubbled up in priority, and @Zedjones was needing a break from all the unit tests. 😀

We'll check back in on this at the end of the sprint on 29 November 2020.

@Tjzabel
Copy link
Member

Tjzabel commented Nov 22, 2020

@Zedjones has done a mock of what GH Actions could look like with TeleIRC. Overall, this looks very promising and I am +1 to moving off TravisCI.

@Tjzabel
Copy link
Member

Tjzabel commented Nov 29, 2020

In addition to the GH actions, we would like to support these architectures on releases:

  • Darwin-64bit
  • Windows-64bit
  • linux-64bit
  • arm-64bit
  • openbsd-64bit
  • freebsd-64bit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributor experience Quality-of-life improvements or changes to project contribution processes or resources new change Adds new capabilities or functionality research Research and more data is needed to make a decision
Projects
None yet
Development

No branches or pull requests

3 participants