Don't add --artifact flag in `mach try` if outgoing has native changes

NEW
Unassigned

Status

P3
normal
a year ago
7 months ago

People

(Reporter: kmag, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

a year ago
Too often, I wind up accidentally running `mach try` from a shell with an artifact mozconfig when I have native changes to test. If I'm lucky, I notice it immediately. More often, I only notice when the tests fail.

I switched my default mozconfig to a non-artifact config in order to avoid this, but it still happens far too often.

It should be fairly easy for us to check the outgoing draft patches for native changes (probably at least C++ or rust), and either skip adding the --artifact flag, or bail out unless --artifact or --no-artifact is explicitly present.
Blocks: 1315032, 1278699
No longer depends on: 1315032
Blocks: 1400330
NI to chmanchester so that he's aware of this ticket, since when we talked in Austin he expressed interest in similar ideas.

We've been building various annotations into moz.build files, and perhaps those could capture some of the cases where file extension doesn't make it clear that a change requires a --no-artifact build.  In particular, editing the Telemetry histograms.json file requires a full build, where-as editing most other json in the tree doesn't require a full build.
Flags: needinfo?(cmanchester)
Thanks for the heads up. This is one of those negative effects of having an opt in build mode for this. 

Additionally though, I don't quite understand how artifact mode is picked up from a mozconfig if native changes are being made locally. Is it that artifact/non-artifact build mode being toggled frequently, and some indeterminate amount of time passes between working on something and pushing that change to try?
No longer blocks: 1278699
Flags: needinfo?(cmanchester)
(Reporter)

Comment 3

10 months ago
(In reply to Chris Manchester (:chmanchester) from comment #2)
> Additionally though, I don't quite understand how artifact mode is picked up
> from a mozconfig if native changes are being made locally. Is it that
> artifact/non-artifact build mode being toggled frequently, and some
> indeterminate amount of time passes between working on something and pushing
> that change to try?

In my case, I have multiple mozconfig files, some for artifact builds, some for opt, some for debug. My default mozconfig used to be for artifact builds, so if I opened a new shell to trigger a try run, I'd often wind up accidentally triggering an artifact try run. My default now is non-artifact, because of this issue, which means now I'm more likely to accidentally trigger non-artifact try runs, but at least those always work.

Updated

7 months ago
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.