mach: Expose a --skip-static-analysis to mach boostrap (#32587)

This should speed up runners which just need to run the WPT tests.

Fixes #32582.
This commit is contained in:
Martin Robinson 2024-06-24 19:13:09 +02:00 committed by GitHub
parent 30dad2565f
commit e331cc67c3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 15 additions and 10 deletions

View file

@ -200,7 +200,8 @@ def bootstrap_command_only(topdir):
try:
force = '-f' in sys.argv or '--force' in sys.argv
skip_platform = '--skip-platform' in sys.argv
servo.platform.get().bootstrap(force, skip_platform)
skip_lints = '--skip-lints' in sys.argv
servo.platform.get().bootstrap(force, skip_platform, skip_lints)
except NotImplementedError as exception:
print(exception)
return 1

View file

@ -43,12 +43,15 @@ class MachCommands(CommandBase):
@CommandArgument('--skip-platform',
action='store_true',
help='Skip platform bootstrapping.')
def bootstrap(self, force=False, skip_platform=False):
@CommandArgument('--skip-lints',
action='store_true',
help='Skip tool necessary for linting.')
def bootstrap(self, force=False, skip_platform=False, skip_lints=False):
# Note: This entry point isn't actually invoked by ./mach bootstrap.
# ./mach bootstrap calls mach_bootstrap.bootstrap_command_only so that
# it can install dependencies without needing mach's dependencies
try:
servo.platform.get().bootstrap(force, skip_platform)
servo.platform.get().bootstrap(force, skip_platform, skip_lints)
except NotImplementedError as exception:
print(exception)
return 1

View file

@ -54,13 +54,14 @@ class Base:
except FileNotFoundError:
return False
def bootstrap(self, force: bool, skip_platform: bool):
def bootstrap(self, force: bool, skip_platform: bool, skip_lints: bool):
installed_something = False
if not skip_platform:
installed_something |= self._platform_bootstrap(force)
installed_something |= self.install_taplo(force)
installed_something |= self.install_cargo_deny(force)
installed_something |= self.install_crown(force)
if not skip_lints:
installed_something |= self.install_taplo(force)
installed_something |= self.install_cargo_deny(force)
installed_something |= self.install_crown(force)
if not installed_something:
print("Dependencies were already installed!")