Closed Bug 1623907 Opened 5 months ago Closed 4 months ago

Add more mozlint based source tests to Thunderbird CI

Categories

(Thunderbird :: Build Config, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 77.0

People

(Reporter: rjl, Assigned: rjl)

References

Details

Attachments

(4 files, 5 obsolete files)

Bug 1622974 will allow for additional config paths for mozlint-based tests. This means that tests that do not work well in CI currently can be run against comm-central.

There will need to be a comm/tools/lint directory added. For any mozlint test where the configuration needs to be different for Thunderbird copy the .yml file and make the necessary changes. It's not necessary to create the implementation directories unless that needs changing as well. It should be possible to add tests specific to Thunderbird as well.

comm/tools/lint/GlobalExclude.txt will contain a list of paths to exclude from all mozlint tests.

Config files for running mozlint checks against comm-central code.
Attachment #9134679 - Flags: review?(geoff)
Assignee: nobody → rob
Status: NEW → ASSIGNED
Tests that need work are restricted to try builds for now.
Attachment #9134680 - Flags: review?(geoff)
Tests that need work are restricted to try builds for now.
Attachment #9134748 - Flags: review?(geoff)
Attachment #9134680 - Attachment is obsolete: true
Attachment #9134680 - Flags: review?(geoff)

Bug 1622974 landed in M-C last night, so we can proceed with enabling these tests.

Attachment #9134679 - Flags: review?(geoff) → review+
Attachment #9134748 - Flags: review?(geoff) → review+

There's a bunch more preference files that should kick off a lintpref task:

  • comm/calendar/lightning/content/lightning.js
  • comm/chat/chat-prefs.js
  • comm/editor/ui/composer.js
  • comm/mail/components/compose/composer.js
  • comm/mail/components/im/all-im.js
  • comm/mail/extensions/am-e2e/prefs/e2e-prefs.js
  • comm/mail/locales/en-US/all-l10n.js
  • comm/mailnews/extensions/dsn/content/dsn.js
  • comm/mailnews/extensions/mdn/content/mdn.js
  • comm/mailnews/mailnews.js

I doubt most will ever make a difference but the cost is minimal so why not?

comm/editor/ is not used anymore. I hope we're not digging out prefs from there

Config files for running mozlint checks against comm-central code.
Tests that need work are restricted to try builds for now.
Attachment #9134679 - Attachment is obsolete: true
Comment on attachment 9135205 [details] [diff] [review]
Additional mozlint source tests for Thunderbird

previously r+ by darktrojan, this version just adds more files to prefslint
Attachment #9135205 - Attachment filename: base-3b122c0533fa → Bug1623907_part1.patch
Attachment #9135205 - Flags: review+
Comment on attachment 9135206 [details] [diff] [review]
Taskcluster configuration for new mozlint tests

previous version r+ by darktrojan, this version adds more items to lintprefs
Attachment #9135206 - Attachment filename: base-c01704571e96 → Bug1623907_part2.patch
Attachment #9135206 - Flags: review+
Attachment #9134748 - Attachment is obsolete: true

I realized this could really mess up Seamonkey. suite/** is listed in GlobalExclude.txt.

The GlobalExclude.txt file will load automatically if it exists at comm/tools/lint/GlobalExclude.txt. I added comm/suite/** for the sake of Taskcluster checks which need to ignore it. But, adding it there will also affect running "mach lint" locally.

I can come up with another way to handle both projects' needs.

Flags: needinfo?(frgrahl)
Flags: needinfo?(ewong)

(In reply to Rob Lemley [:rjl] from comment #11)

I realized this could really mess up Seamonkey. suite/** is listed in GlobalExclude.txt.

The GlobalExclude.txt file will load automatically if it exists at comm/tools/lint/GlobalExclude.txt. I added comm/suite/** for the sake of Taskcluster checks which need to ignore it. But, adding it there will also affect running "mach lint" locally.

I can come up with another way to handle both projects' needs.

Hi Rob,

Thanks for the heads up. Though I'm not entirely sure what you mean by 'mess up SeaMonkey'.

Flags: needinfo?(ewong)

AIUI, Seamonkey dev's are working towards using mozlint tests. With this patch as-is, all of comm/suite is excluded from mozlint tests, even when run outside of Taskcluster.
I am working on a follow-up that will exclude the suite and editor directories for Taskcluster runs, but not when running "mach lint" locally.

Flags: needinfo?(frgrahl)

Thanks Rob. As discussed yesterday Bug 1542636 is for enabling linting in SeaMonkey. We are still doing a bunch of source changes and clean up the source gradually so it is still some time before this can be done/makes sense. For manual runs we take it out from comm/tools/lint/GlobalExclude.txt for now. We do not plan to use a taskcluster instance ever so doing the changes only for taskcluster would be great.

Attachment #9135205 - Attachment is obsolete: true
Attachment #9135206 - Attachment is obsolete: true
I split the rearranging of config.yml Treeherder groups into
bug 1624901. This builds on top of that patch.
Attachment #9135807 - Flags: review?(geoff)
Previously reviewed.
The file-perm.yml file is new here and comm/suite has
been removed from GlobalExclude.txt.
Attachment #9135809 - Flags: review?(geoff)
This is so Taskcluster mozlint jobs will ignore comm/suite and comm/editor but
they will still work when run locally. It's controlled by the existance of
MOZLINT_NO_SUITE in the environment.
Attachment #9135812 - Flags: review?(geoff)
Attachment #9135807 - Flags: review?(geoff) → review+
Attachment #9135809 - Flags: review?(geoff) → review+
Attachment #9135812 - Flags: review?(geoff) → review+
I'm moving the code that deals with Thunderbird-related global
excludes into our tree. It was written before I came up with the
Seamonkey changes. It will be easier to make changes this way.
Attachment #9138679 - Flags: review?(geoff)
Attachment #9138679 - Flags: review?(geoff) → review+

Pushed by thunderbird@calypsoblue.org:
https://hg.mozilla.org/comm-central/rev/1cd5d14b2f83
Add mozlint groups to config.yml. r=darktrojan
https://hg.mozilla.org/comm-central/rev/a50b3018a35d
Additional mozlint source tests for Thunderbird. r=darktrojan
https://hg.mozilla.org/comm-central/rev/55f47e24fe84
Do not check suite code with mozlint when running on Taskcluster. r=darktrojan
https://hg.mozilla.org/comm-central/rev/4fc92758e85e
Move comm-central oriented global exclude code. r=darktrojan

Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 77.0
Pushed by thunderbird@calypsoblue.org:
https://hg.mozilla.org/comm-central/rev/809ba28e36f4
Follow-up: Disable failing source tests on comm-central, enable remaining. rs=test-only DONTBUILD
Pushed by thunderbird@calypsoblue.org:
https://hg.mozilla.org/comm-central/rev/51cfabe491f3
Follow-up: Really disable failing source tests. rs=bustage-fix DONTBUILD
You need to log in before you can comment on or make changes to this bug.