-
Notifications
You must be signed in to change notification settings - Fork 230
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
Conversation
0c058eb
to
7c9983d
Compare
Note: we should probably make a github release from this branch (with a different version number) before merging. |
Yeah, agreed 👍 |
There was a problem hiding this 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) |
There was a problem hiding this comment.
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: |
There was a problem hiding this comment.
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?
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) |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r- is f+.
82a60fe
to
e228d99
Compare
There was a problem hiding this 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.
9606186
to
0a49320
Compare
Blocked on #1071 |
Blocked on mozilla-releng/scriptworker#332 |
There was a problem hiding this 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 |
There was a problem hiding this comment.
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.
4c43af1
to
1a8882a
Compare
Co-authored-by: Mihai Tabara <[email protected]>
Fixes #252