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

[CMake] All post-commit buildbots should build with --no-fatal-warnings #5710

Merged

Conversation

mcatanzaro
Copy link
Contributor

@mcatanzaro mcatanzaro commented Oct 24, 2022

e868bfe

[CMake] All post-commit buildbots should build with --no-fatal-warnings
https://bugs.webkit.org/show_bug.cgi?id=246760

Reviewed by Jonathan Bedard.

We need to enable fatal warnings on EWS to prevent developers from
introducing new warnings. But we do not want fatal warnings on
post-commit bots, since that may result in lost test results, which
would be a very harsh price to pay for an unused variable or whatnot.

Note this is not needed for the JSC bots since those do not use
ENABLE_DEVELOPER_MODE.

* Tools/CISupport/build-webkit-org/steps.py:
(CompileWebKit):
* Tools/CISupport/build-webkit-org/steps_unittest.py:
(TestCompileWebKit.test_success):
(TestCompileWebKit.test_success_gtk):
(TestCompileWebKit.test_success_wpe):
(TestCompileWebKit.test_failure):

Canonical link: https://commits.webkit.org/255954@main

f6c7213

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  πŸ§ͺ win
βœ… πŸ§ͺ bindings βœ… πŸ›  ios-sim βœ… πŸ›  mac-debug βœ… πŸ›  gtk βœ… πŸ›  wincairo
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2 βœ… πŸ›  mac-AS-debug βœ… πŸ§ͺ gtk-wk2
βœ… πŸ§ͺ api-ios   πŸ§ͺ api-mac βœ… πŸ§ͺ api-gtk
βœ… πŸ›  tv βœ… πŸ§ͺ mac-wk1
βœ… πŸ§ͺ services βœ… πŸ›  tv-sim βœ… πŸ§ͺ mac-wk2
βœ… πŸ›  watch βœ… πŸ§ͺ mac-AS-debug-wk2
βœ… πŸ›  πŸ§ͺ unsafe-merge βœ… πŸ›  watch-sim βœ… πŸ§ͺ mac-wk2-stress

@mcatanzaro mcatanzaro self-assigned this Oct 24, 2022
@mcatanzaro mcatanzaro added CMake Bugzilla component for CMake build system changes WebKit Nightly Build labels Oct 24, 2022
@mcatanzaro
Copy link
Contributor Author

I'm sure there's a better way to do this, but this should allow me to land #5708 without triggering an apocalypse on any post-release bots.

Copy link
Member

@JonWBedard JonWBedard left a comment

Choose a reason for hiding this comment

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

These changes will need to be landed either squashed or in two separate PRs, we'll also need to coordinate a build.webkit.org restart.

@mcatanzaro
Copy link
Contributor Author

These changes will need to be landed either squashed or in two separate PRs, we'll also need to coordinate a build.webkit.org restart.

Sorry, that was just an error. It was supposed to be only one commit. Fixed.

@mcatanzaro
Copy link
Contributor Author

we'll also need to coordinate a build.webkit.org restart.

How much coordination is required here? Any chance it's just a big blue button that you press and then everything restarts smoothly?

BTW it looks like the build.webkit.org unit tests are failing due to what appears to be a preexisting issue:

 ['configure-build',
   'configuration',
   'clean-and-update-working-directory',
   'checkout-specific-revision',
   'show-identifier',
   'kill-old-processes',
   'delete-WebKitBuild-directory',
   'delete-stale-build-files',
   'jhbuild',
   'compile-webkit',
   'layout-test',
   'dashboard-tests',
   'archive-test-results',
   'upload',
   'extract-test-results',
   'set-permissions',
   'webkitpy-test',
   'webkitperl-test',
   'bindings-generation-tests',
   'builtins-generator-tests',
   'API-tests',
+  'archive-built-product',
+  'upload-built-product',
+  'trigger',
   'webdriver-test'] : Expected steps don't match for builder GTK-Linux-64-bit-Release-GTK4-Tests

@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Oct 24, 2022
@lauromoura
Copy link
Contributor

BTW it looks like the build.webkit.org unit tests are failing due to what appears to be a preexisting issue:

Tested locally and this failure doesn't appear in the current main, but appears in the pull request.

The cause is in https://github.com/WebKit/WebKit/blob/main/Tools/CISupport/build-webkit-org/factories.py#L180

BuildAndTestAllButJSCFactory subclasses BuildAndTestFactory but doesn't forwards the triggers parameter, which should go between architecture and additionalArguments in the parent constructor invocation.

So in practice it was incidentally passing before because additionalArguments was empty, which is not the case in the current patch.

@JonWBedard
Copy link
Member

we'll also need to coordinate a build.webkit.org restart.

How much coordination is required here? Any chance it's just a big blue button that you press and then everything restarts smoothly?

It's not quite that easy, usually it's best to have the restarted and the lander be the same person. If this is ready to go tomorrow morning and @mcatanzaro you let me know you're ready to land it, I can land and do the restart first thing tomorrow morning when I get on.

BTW it looks like the build.webkit.org unit tests are failing due to what appears to be a preexisting issue:

 ['configure-build',
   'configuration',
   'clean-and-update-working-directory',
   'checkout-specific-revision',
   'show-identifier',
   'kill-old-processes',
   'delete-WebKitBuild-directory',
   'delete-stale-build-files',
   'jhbuild',
   'compile-webkit',
   'layout-test',
   'dashboard-tests',
   'archive-test-results',
   'upload',
   'extract-test-results',
   'set-permissions',
   'webkitpy-test',
   'webkitperl-test',
   'bindings-generation-tests',
   'builtins-generator-tests',
   'API-tests',
+  'archive-built-product',
+  'upload-built-product',
+  'trigger',
   'webdriver-test'] : Expected steps don't match for builder GTK-Linux-64-bit-Release-GTK4-Tests

Looks like @lauromoura broke down what happened here.

@mcatanzaro
Copy link
Contributor Author

It's not quite that easy, usually it's best to have the restarted and the lander be the same person. If this is ready to go tomorrow morning and @mcatanzaro you let me know you're ready to land it, I can land and do the restart first thing tomorrow morning when I get on.

It's not ready currently. I will try to implement Lauro's suggestion and then we'll see if that works. Will let you know.

BuildAndTestAllButJSCFactory subclasses BuildAndTestFactory but doesn't forwards the triggers parameter, which should go between architecture and additionalArguments in the parent constructor invocation.

So in practice it was incidentally passing before because additionalArguments was empty, which is not the case in the current patch.

After updating this pull request, I'll no longer be touching additionalArguments, so want to report a bug for this?

@lauromoura
Copy link
Contributor

After updating this pull request, I'll no longer be touching additionalArguments, so want to report a bug for this?

I can submit it, alongside the fix.

@mcatanzaro mcatanzaro removed the merging-blocked Applied to prevent a change from being merged label Oct 24, 2022
@mcatanzaro
Copy link
Contributor Author

@lauromoura does this look better?

@mcatanzaro
Copy link
Contributor Author

(I need to update the test expectations... incoming.)

@mcatanzaro
Copy link
Contributor Author

If this is ready to go tomorrow morning and @mcatanzaro you let me know you're ready to land it, I can land and do the restart first thing tomorrow morning when I get on.

I think this is ready from my side. Let's just wait and see if Lauro is happy. Thanks @JonWBedard !

@lauromoura
Copy link
Contributor

Looks better now. Thanks for the update.

@mcatanzaro
Copy link
Contributor Author

OK, this is ready to land.

@JonWBedard JonWBedard added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Oct 25, 2022
https://bugs.webkit.org/show_bug.cgi?id=246760

Reviewed by Jonathan Bedard.

We need to enable fatal warnings on EWS to prevent developers from
introducing new warnings. But we do not want fatal warnings on
post-commit bots, since that may result in lost test results, which
would be a very harsh price to pay for an unused variable or whatnot.

Note this is not needed for the JSC bots since those do not use
ENABLE_DEVELOPER_MODE.

* Tools/CISupport/build-webkit-org/steps.py:
(CompileWebKit):
* Tools/CISupport/build-webkit-org/steps_unittest.py:
(TestCompileWebKit.test_success):
(TestCompileWebKit.test_success_gtk):
(TestCompileWebKit.test_success_wpe):
(TestCompileWebKit.test_failure):

Canonical link: https://commits.webkit.org/255954@main
@webkit-commit-queue
Copy link
Collaborator

Committed 255954@main (e868bfe): https://commits.webkit.org/255954@main

Reviewed commits have been landed. Closing PR #5710 and removing active labels.

@webkit-early-warning-system webkit-early-warning-system merged commit e868bfe into WebKit:main Oct 25, 2022
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Oct 25, 2022
@mcatanzaro mcatanzaro deleted the eng/no-fatal-warnings branch December 22, 2022 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake Bugzilla component for CMake build system changes
Projects
None yet
6 participants