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

Improve reliability of package publishing #1970

Open
imiric opened this issue Apr 15, 2021 · 0 comments
Open

Improve reliability of package publishing #1970

imiric opened this issue Apr 15, 2021 · 0 comments
Labels
ci evaluation needed proposal needs to be validated or tested before fully implementing it in k6 feature

Comments

@imiric
Copy link
Contributor

imiric commented Apr 15, 2021

We're currently in the process of moving from Bintray to a self-hosted environment for serving our DEB/RPM/MSI packages (https://dl.k6.io/). This is based on a set of shell scripts and syncing to AWS S3 (#1916, #1964).

We'd like to improve the reliability of this process in two ways:

  1. Ensure that the process and combination of tools is robust in order to avoid surprises during the actual release, which could be weeks or months apart. We use a pre-built Docker image to stabilize this somewhat, but the process itself could fail in surprising ways.

    To address this it would be good to publish unstable packages on merges to master, as suggested by @na--, which would happen much more frequently so we would be testing the process often. Whether this should be done to a separate bucket/environment (https://dl.staging.k6.io/ ?) or as a separate category of packages (unstable/testing) is up for discussion. These packages could also be suggested to users that need some unstable functionality that's not yet released in a stable release, avoiding the need for them to setup Go and compile their own binaries.

  2. Plan a disaster recovery or rollback procedure in case the S3 bucket is corrupted. We could enable versioning, but that only works on a per-object basis, and would be difficult to manage as a global snapshot system. s3-pit-restore seems like a good tool for managing snapshots, so we should consider that, along with having a backup bucket to sync to.

@imiric imiric added feature ci evaluation needed proposal needs to be validated or tested before fully implementing it in k6 labels Apr 15, 2021
@na-- na-- added this to the v0.33.0 milestone Apr 15, 2021
@na-- na-- modified the milestones: v0.33.0, v0.34.0 Jun 16, 2021
@na-- na-- modified the milestones: v0.34.0, v1.0.0 Sep 9, 2021
@na-- na-- modified the milestones: v1.0.0, v0.40.0 Jul 5, 2022
@mstoykov mstoykov modified the milestones: v0.40.0, v0.41.0 Aug 30, 2022
@na-- na-- modified the milestones: v0.41.0, TBD Oct 28, 2022
@codebien codebien removed this from the TBD milestone Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci evaluation needed proposal needs to be validated or tested before fully implementing it in k6 feature
Projects
None yet
Development

No branches or pull requests

4 participants