-
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
Improve security and automation of official binary releases #1247
Comments
Something else we should do for every commit, not just for tagged releases: actually build the rpm/deb/msi/etc. packages and test them (in the appropriate OS containers)... The v0.26.0 build of the linux packages broke: https://circleci.com/gh/loadimpact/k6/8360 🤦♂️ If we were building these on every commit, or at least once daily, we would have noticed and fixed the issue much sooner. |
Since the I haven't used fpm personally, but have heard good things when used with Python projects. Presumably we should be able to use the directory input option for Go binaries, and would have more output options, including macOS .pkg files, so it's worth looking into. |
This is just a collection of short-term fixes: - pin the latest .msi package in the README, instead of using a specific version - use `go get -d` for the go-bin-deb and go-bin-rpm packages, to only download the source (without building them) before we use glide to get their precise dependencies - inject the new full version information in the build process As mentioned in #1247 (comment), we should build and test the linux packages regularly, so we can fix them if something breaks...
This is just a collection of short-term fixes: - pin the latest .msi package in the README, instead of using a specific version - use `go get -d` for the go-bin-deb and go-bin-rpm packages, to only download the source (without building them) before we use glide to get their precise dependencies - inject the new full version information in the build process As mentioned in #1247 (comment), we should build and test the linux packages regularly, so we can fix them if something breaks...
There's another issue with Homebrew packaging on macOS. The current k6 formula actually builds the binary, which currently doesn't have any version information or any custom build flags we use for the GitHub releases. It's also a problem if we change our build system, since it currently uses Ideally the binary shouldn't be rebuilt for Homebrew, and the formula should just fetch the |
This is becoming a bit of a forced priority because of https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ |
This is part of the effort to abandon Bintray[0] in favor of a self-hosted package repository solution. The current approach involves pushing the packages and repository metadata to an S3 bucket, which will eventually be served from a CDN (CloudFront). Part of #1247 [0]: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
The scope of this issue is a bit fuzzy, but most of the things mentioned have now been addressed:
What's still pending:
I suggest closing this issue and opening new ones for specific things. @na-- @mstoykov WDYT? |
👍 We should close this and open individual issues for anything else we want to do. The important part is that it's now "want", not "need" 🎉 😅 |
As pointed out by this forum post, currently our RPM packages are not signed 😞
I think that during the transition away from AppVeyor/CircleCI (#959), we should also make a substantial improvement (mostly in terms of security) and upgrade in how we build our packages:
build-release.sh
The text was updated successfully, but these errors were encountered: