mozilla-releng / beetmoverscript

An implementation of scriptworker for moving TC artifacts to all release-related buckets.
1 stars 19 forks source link

Beetmoverscript needs to handle better the MavenVersions #196

Open MihaiTabara opened 5 years ago

MihaiTabara commented 5 years ago

Currently we're reading all the payload_version with FirefoxVersion. That includes both classic cases (gecko) but also maven counterparts (mobile products). Since mozilla-version==0.3.1 was rolled-out, there's a more specialized class MavenVersion to handle the latter specific cases. However, there's an interesting caveat here.

In geckoview beetmover jobs, we have payload_version like XX.0bY which we validate and then parse to infer the major, minor, etc. However, MavenVersion no longer supports this format in its regexes. On the other hand, if we keep the old format, FirefoxVersion, we don't have the snapshot support.

Solution: a) temporarily hack beetmoverscript to handle both for formats for now to unblock snapshots roll-out to production b) enrich regex in MavenVersion to enable gecko beta / nightly versions? (Not sure we actually want to relax that regex just so that we could parse the values) c) modify in-tree the way we transmit the payload_version in beetmover jobs.

MihaiTabara commented 5 years ago

CC @JohanLorenzo

JohanLorenzo commented 5 years ago

Thank you for filing this bug!

To me solution c) is the way to go. This way, there is less surprise when someone look at the payload, then at the final results.

I'm not sure how feasible solution a) is, but that could be an okay solution.

Solution b) doesn't sound great. I remember checking if I could let MavenVersion inherit from FirefoxVersion (or GeckoVersion) so it would support beta numbers, but I don't think that's what we want. I might not remember it well.

MihaiTabara commented 5 years ago

I fully agree with you. Let's address c) once we have snapshots rolled-out.

lundjordan commented 5 years ago

@MihaiTabara - this seems like post-snapshots work. Do we still want it? Should it be tracked on the pipeline board?

MihaiTabara commented 5 years ago

Yes, we should look at this.

JohanLorenzo commented 5 years ago

MavenVersion doesn't support beta numbers yet, but we've improved the situation in https://github.com/mozilla-releng/beetmoverscript/pull/228

MihaiTabara commented 5 years ago

@JohanLorenzo While working on https://bugzilla.mozilla.org/show_bug.cgi?id=1567124 I realized we no longer use templates for any of the mobile world, including GeckoView. I think we can trim that logic altogether from the beetmoverscript repo. What say you?

MihaiTabara commented 5 years ago

FTR, more cleanup related to this issue is coming in https://github.com/mozilla-releng/beetmoverscript/pull/233.

JohanLorenzo commented 5 years ago

That sounds great! Let's remove it!