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

Publish Android artifacts on Maven #744

Merged
merged 1 commit into from
Apr 24, 2019
Merged

Publish Android artifacts on Maven #744

merged 1 commit into from
Apr 24, 2019

Conversation

eoger
Copy link
Contributor

@eoger eoger commented Mar 11, 2019

Fixes #252

@eoger eoger added the WIP Work in progress label Mar 11, 2019
@eoger eoger force-pushed the maven-publishing branch 27 times, most recently from 0c058eb to 7c9983d Compare March 19, 2019 00:29
@eoger eoger requested review from ncalexan and a team April 18, 2019 23:15
@eoger eoger force-pushed the maven-publishing branch from c65dbb7 to e006777 Compare April 19, 2019 00:45
@mozilla mozilla deleted a comment Apr 19, 2019
@eoger
Copy link
Contributor Author

eoger commented Apr 19, 2019

Note: we should probably make a github release from this branch (with a different version number) before merging.

@MihaiTabara
Copy link
Contributor

Note: we should probably make a github release from this branch (with a different version number) before merging.

Yeah, agreed 👍

Copy link
Member

@ncalexan ncalexan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mostly makes sense, but I do have one significant question about CoT. I don't want to block this landing if I'm out to lunch, though, so I'm marking r+ even though I'd really like to know what the new world order is intended to be.

@@ -393,7 +421,7 @@ def with_dockerfile(self, dockerfile):
"servobrowser/taskcluster-bootstrap:image-builder@sha256:" \
"0a7d012ce444d62ffb9e7f06f0c52fedc24b68c2060711b313263367f7272d9d"
)
.find_or_create("docker-image." + digest)
.find_or_create("appservices-docker-image." + digest)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will regenerate the Docker image. I assume you've seen this work in TC recently?

@@ -298,6 +324,8 @@ def build_worker_payload(self):
deindent("\n".join(self.scripts))
],
}
if len(self.artifacts) > 0 and "chainOfTrust" not in self.features:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems wrong. There are some tasks that shouldn't have the CoT enabled because they're not trustworthy or don't want to trust their inputs. Wouldn't this mean that any push to a PR, for example, will have CoT enabled?

automation/taskcluster/decision_task.py Outdated Show resolved Hide resolved
else:
task_title = "{} - Build and test".format(module)
task = android_task(task_title, libs_tasks)
task = android_task("{} - Build and test".format(module), libs_tasks)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not include some blurb about publishing for release builds? It's cheap and might just save somebody some thought. It also ties into my concern about CoT that I raise below. Is everything a release build now? That doesn't match my model of how CoT should work.

@@ -282,6 +287,14 @@ def build_worker_payload(self):
"artifact_id": self.artifact_id,
}

# XXX: Beetmover jobs that transfer the `forUnitTests` maven.zip need
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. This really tells me that we can't exploit the richness of Maven. I wish this was more clear; as a consumer of m.m.o, it's weird to me that you're not "Just" publishing my ZIPed directory. That is, I could have POMs, BOMs, classifiers, extensions... and m.m.o would completely fail. I don't really know what the action is here: I've never seen meaningful docs for m.m.o, so even documenting wouldn't actually help a consumer like me.

automation/taskcluster/docker/build.dockerfile Outdated Show resolved Hide resolved
@eoger eoger force-pushed the maven-publishing branch from 220f6d6 to b39fc40 Compare April 22, 2019 15:43
Copy link
Member

@ncalexan ncalexan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r- is f+.

automation/taskcluster/decisionlib.py Outdated Show resolved Hide resolved
@eoger eoger force-pushed the maven-publishing branch 2 times, most recently from 82a60fe to e228d99 Compare April 22, 2019 17:26
Copy link
Member

@ncalexan ncalexan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eoger and I talked and I think this addresses my CoT concerns.

@eoger eoger force-pushed the maven-publishing branch 4 times, most recently from 9606186 to 0a49320 Compare April 22, 2019 19:08
@eoger
Copy link
Contributor Author

eoger commented Apr 23, 2019

Blocked on #1071

@eoger
Copy link
Contributor Author

eoger commented Apr 23, 2019

Blocked on mozilla-releng/scriptworker#332

Copy link
Contributor

@thomcc thomcc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good, but my understanding of it isn't 100%, so I'm piggybacking part of my r+ on top of Nick's.

@@ -111,8 +110,11 @@ import com.sun.jna.Platform as DefaultPlatform
ext.libsGitSha = "git --git-dir=${rootProject.rootDir}/.git diff --name-only master -- :/libs".execute().text.allWhitespace ?
"git --git-dir=${rootProject.rootDir}/.git rev-parse HEAD:libs".execute().text.trim() : null

// Use in-tree libs from the source directory in CI or if the git SHA is unset; otherwise use
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth using System.getenv('CI') in the ext.libsGitSha computation, maybe.

Although, arguably it wouldn't be a bad thing for CI to use downloaded libs if the libs dir hasn't changed... Although, it probably would need a slightly different command to determine that than the above.

@eoger eoger force-pushed the maven-publishing branch 3 times, most recently from 4c43af1 to 1a8882a Compare April 24, 2019 19:30
@eoger eoger removed the WIP Work in progress label Apr 24, 2019
Co-authored-by: Mihai Tabara <[email protected]>
@eoger eoger force-pushed the maven-publishing branch from 1a8882a to 84e077d Compare April 24, 2019 19:31
@eoger eoger merged commit 5d8dd7b into master Apr 24, 2019
@eoger eoger deleted the maven-publishing branch April 24, 2019 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Publish artifacts from TaskCluster to maven.mozilla.org
4 participants