Closed Bug 1470079 Opened 2 years ago Closed 2 years ago

Create an optimized coverage build with --enable-fuzzing

Categories

(Firefox Build System :: Task Configuration, task, critical)

3 Branch
x86_64
Linux
task
Not set
critical

Tracking

(firefox63 fixed)

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: posidron, Assigned: rforbes)

References

Details

Attachments

(1 file, 2 obsolete files)

This bug tracks the efforts in creating a coverage build with "--enable-fuzzing" enabled which the Fuzzing team needs for getting coverage data LibFuzzer and other built-in fuzzers like Faulty.
Attachment #8986893 - Flags: review?(mcastelluccio)
Comment on attachment 8986893 [details]
Bug 1470079 - Add fuzzing coverage build to taskcluster

https://reviewboard.mozilla.org/r/252124/#review258614


Code analysis found 1 defect in this patch:
 - 1 defect found by mozlint

You can run this analysis locally with:
 - `./mach lint path/to/file` (JS/Python)


If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx


::: taskcluster/ci/build/linux.yml:1033
(Diff revision 2)
>      toolchains:
>          - linux64-clang
>          - linux64-gcc
>          - linux64-rust
>          - linux64-rust-size
>          - linux64-sccache

Error: No new line character at the end of file [yamllint: new-line-at-end-of-file]
Attachment #8986893 - Attachment is obsolete: true
Attachment #8986948 - Flags: review?(mcastelluccio)
Comment on attachment 8986948 [details]
Bug 1470079 - Add fuzzing coverage build to taskcluster

https://reviewboard.mozilla.org/r/252186/#review258772

Looks good to me overall, we just need to figure out the tests part.

::: taskcluster/ci/build/linux.yml:617
(Diff revision 1)
> +        script: "mozharness/scripts/fx_desktop_build.py"
> +        secrets: true
> +        custom-build-variant-cfg: fuzzing-cov
> +        tooltool-downloads: public
> +        need-xvfb: true
> +    toolchains:

We might need to add a run-on-projects property to make this only run on mozilla-central and try.
I guess you don't want to run tests but only generate the build, right? If so, we should also disable tests in https://dxr.mozilla.org/mozilla-central/rev/681eb7dfa324dd50403c382888929ea8b8b11b00/taskcluster/taskgraph/transforms/tests.py#710.
Attachment #8986948 - Flags: review?(mcastelluccio) → review+
Keywords: checkin-needed
Cannot land this from mozzreview, it has 1 open issue. Please take a look.
Flags: needinfo?(rforbes)
Keywords: checkin-needed
That should be resolved now. Thanks!
Flags: needinfo?(rforbes)
Keywords: checkin-needed
Comment on attachment 8986948 [details]
Bug 1470079 - Add fuzzing coverage build to taskcluster

https://reviewboard.mozilla.org/r/252186/#review258996


Code analysis found 1 defect in this patch:
 - 1 defect found by mozlint

You can run this analysis locally with:
 - `./mach lint path/to/file` (JS/Python)


If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx


::: taskcluster/ci/build/linux.yml:1035
(Diff revision 2)
>          - linux64-clang
>          - linux64-gcc
>          - linux64-rust
>          - linux64-rust-size
>          - linux64-sccache
> +        

Error: Trailing spaces [yamllint: trailing-spaces]
Comment on attachment 8986948 [details]
Bug 1470079 - Add fuzzing coverage build to taskcluster

https://reviewboard.mozilla.org/r/252186/#review258772

> We might need to add a run-on-projects property to make this only run on mozilla-central and try.
> I guess you don't want to run tests but only generate the build, right? If so, we should also disable tests in https://dxr.mozilla.org/mozilla-central/rev/681eb7dfa324dd50403c382888929ea8b8b11b00/taskcluster/taskgraph/transforms/tests.py#710.

I will submit a new bug/change for that.
Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/24334b7cffc5
Add fuzzing coverage build to taskcluster r=marco
Keywords: checkin-needed
Attachment #8986948 - Attachment is obsolete: true
Attachment #8987404 - Flags: review?(mcastelluccio)
Comment on attachment 8987404 [details]
Bug 1470079 - Add fuzzing coverage build to taskcluster

https://reviewboard.mozilla.org/r/252652/#review259188

::: taskcluster/taskgraph/transforms/tests.py:708
(Diff revision 2)
>  
>  @transforms.add
>  def enable_code_coverage(config, tests):
>      """Enable code coverage for the ccov and jsdcov build-platforms"""
>      for test in tests:
> -        if 'ccov' in test['build-platform']:
> +        if (

In the opt and fuzzing cases, we want to disable all tests, so we should override the test task definitions to have empty 'run-on-projects' (otherwise, some of them will run either because they are set to run always or because they inherit the 'run-on-projects' from the build).

You could do something like this:
> if 'ccov' in test['build-platform']:
>     # Ensure we don't run any test for fuzzing or opt ccov builds.
>     if 'opt' in test['build-platform'] or 'fuzzing' in test['build-platform']:
>         test['run-on-projects'] = []
>         continue
> 
>     ...
Attachment #8987404 - Flags: review?(mcastelluccio)
Comment on attachment 8987404 [details]
Bug 1470079 - Add fuzzing coverage build to taskcluster

https://reviewboard.mozilla.org/r/252652/#review259722
Attachment #8987404 - Flags: review?(mcastelluccio) → review+
Flags: needinfo?(rforbes)
Keywords: checkin-needed
Pushed by rgurzau@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f5075fe18837
Add fuzzing coverage build to taskcluster r=marco
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/f5075fe18837
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Assignee: nobody → rforbes
Please name this -ccov like all the other builds. -cov isn't used anywhere else.
Status: RESOLVED → REOPENED
Flags: needinfo?(rforbes)
Resolution: FIXED → ---
(In reply to Jesse Schwartzentruber (:truber) from comment #21)
> Please name this -ccov like all the other builds. -cov isn't used anywhere
> else.

Can you file a new bug for this (blocking this bug)?
Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Duplicate of this bug: 1468522
Duplicate of this bug: 1457391
Flags: needinfo?(rforbes)
Depends on: 1460929
Version: Version 3 → 3 Branch
You need to log in before you can comment on or make changes to this bug.