Closed Bug 1493942 Opened 6 years ago Closed 6 years ago

maven.mozilla.org: Support SNAPSHOT repositories for android-components

Categories

(Release Engineering :: General, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jlorenzo, Assigned: jlorenzo)

References

Details

(Whiteboard: [releng:q42018])

Attachments

(5 files)

SNAPSHOT repositories behave differently from releases repo[1]. :sebastian told me earlier today they would like to release android-components builds from the master branch to SNAPSHOT. Like bug 1464807 comment 3 states, this is an untested scenario for now. On top of my head, I think we have some things to do to support it: 1. Generate a new set of credentials to let SNAPSHOT builds be uploaded only under SNAPSHOT directories. We should also lock the existing ones down. 2. Let beetmover support paths like > /io/packagecloud/client/3.0.0-SNAPSHOT/client-3.0.0-20161003.234325-2.jar 3. Make sure maven-metadata.xml is correctly generated in this scenario. More details about the format in [1]. [1] https://blog.packagecloud.io/eng/2017/03/09/how-does-a-maven-repository-work/#snapshot-repositories
Component: Release Automation: Uploading → General
QA Contact: mtabara → catlee
Summary: maven.mozilla.org: Support SNAPSHOT repositories → maven.mozilla.org: Support SNAPSHOT repositories for android-components
Whiteboard: [releng:q42018]
Depends on: 1502878
Status update: * this tracks the development of snapshots in android-components. * so far, it generates and exposes each of the target.maven.zip per module correctly * by slipping the "-SNAPSHOT" within the version, maven itself names and generates the files according to the default schema "timestamp-buildnumber". Since all modules are parallelized, each of them potentially runs on a different machine at a different timestamp, hence all the HHMMSS substring of the timestamp are all different. Possible solutions: 1. We leave this be and we rename the artifacts in beetmover, given a timestamp properly set at decision task and distributed to all tasks 2. We manage to do this elegantly via a maven plugin (see[1][2][3] for more) that takes its input from decision task. Leftovers until we take a decision here: a) potentially separate logic with decision_task_pull_request and decions_task_master as more and more will differ given CoT b) add beetmover tasks as well in the CI graphs c) tweak an existing beetmover machine to take care of snapshots world d) confirm artifacts are getting pushed to snapshots.maven.mozilla.org (staging instance) Note to self: question for later (production): we'll need to figure out how do we tackle the two set of credentials of the same product within a beetmover instance. We could consider snapshots a different product but that's wrong. [1]: https://www.mojohaus.org/buildnumber-maven-plugin/usage.html# [2]: https://julien.ponge.org/blog/an-experiment-in-maven-to-gradle-migration/ [3]: https://github.com/nemerosa/versioning
Note to self: @sebastian mentioned to me - I need to take care of it once the PR is ready. "FYI: `-pCoverage` is tricky. We want that for running the tests and uploading the coverage reports; but I think we want to assemble the snapshot without that flag enabled (afaik it modifies the binary) We could do "./gradlew clean -Pcoverage test && upload ... && ./gradlew clean assemble" ... but then we'd build twice"
Was r+'d by mtabara at https://github.com/mozilla-releng/maven-lambda/pull/6#issuecomment-435462230. Landed on master at https://github.com/mozilla-releng/maven-lambda/commit/8254c3b5d17797b88f59e1ce6e811a7c9d286773 Adrian, could you deploy 8254c3b5d17797b88f59e1ce6e811a7c9d286773 onto https://maven-snapshots.stage.mozaws.net/ ? We just want stage at the moment. We're not sure it's gonna work on prod.
Assignee: nobody → jlorenzo
Flags: needinfo?(autrilla)
Attachment #9027548 - Flags: review+
Attachment #9027548 - Flags: checked-in+
That revision has been deployed to snapshots stage.
Flags: needinfo?(autrilla)
Comment on attachment 9031137 [details] [review] [beetmoverscript] Support for snapshots in beetmoverscript r+'ed by Jlorenzo in PR. https://github.com/mozilla-releng/beetmoverscript/commit/1f1401540d559d998983651400056f3c2392560d
Attachment #9031137 - Flags: review?(jlorenzo)
Attachment #9031137 - Flags: review+
Attachment #9031137 - Flags: checked-in+
Comment on attachment 9031175 [details] [review] [puppet] Add dep snapshots support for beetmoverworkers r+'ed by Johan in PR. https://github.com/mozilla-releng/build-puppet/commit/67141303a3ed94d660a7a29b5f83bd41e1e7ae93
Attachment #9031175 - Flags: review?(jlorenzo)
Attachment #9031175 - Flags: review+
Attachment #9031175 - Flags: checked-in+
Followed-up with https://github.com/mozilla-releng/beetmoverscript/pull/199 to fix a breakage in geckoview in-tree that was broken after snapshots PR landed.
Attachment #9025353 - Flags: review?(jlorenzo)
Comment on attachment 9025353 [details] [review] [android-components] Enable snapshots. r+'ed with comments/nits by Johan, Mitch and Sebastian \o/ https://github.com/mozilla-mobile/android-components/commit/d0f1dda5530b649172bc1707fa450b3bdeed5829
Attachment #9025353 - Flags: review?(jlorenzo)
Attachment #9025353 - Flags: review+
Attachment #9025353 - Flags: checked-in+

http://snapshots.maven.mozilla.org/ is now properly set-up and serving content. Mobile team successfully imported snapshots releases from this repo so I think it's safe to close this bug.

Let's reopen if more follow-ups are needed.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
See Also: → 1615248
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: