Browse Source

ci: make sure mksnapshot is invoked with proper args. (#21991)

* build: robustify verify-mksnapshot w.r.t. command-line parameters

Co-authored-by: Jeremy Apthorp <[email protected]>
John Kleinschmidt 5 years ago
parent
commit
6f1f4d3f2f
3 changed files with 7 additions and 7 deletions
  1. 2 0
      .circleci/config.yml
  2. 2 1
      appveyor.yml
  3. 3 6
      script/verify-mksnapshot.py

+ 2 - 0
.circleci/config.yml

@@ -593,6 +593,7 @@ step-mksnapshot-build: &step-mksnapshot-build
     command: |
       cd src
       ninja -C out/Default electron:electron_mksnapshot -j $NUMBER_OF_NINJA_PROCESSES
+      gn desc out/Default v8:run_mksnapshot_default args > out/Default/mksnapshot_args
       if [ "`uname`" != "Darwin" ]; then
         if [ "$TARGET_ARCH" == "arm" ]; then
           electron/script/strip-binaries.py --file $PWD/out/Default/clang_x86_v8_arm/mksnapshot
@@ -605,6 +606,7 @@ step-mksnapshot-build: &step-mksnapshot-build
       fi
       if [ "$SKIP_DIST_ZIP" != "1" ]; then
         ninja -C out/Default electron:electron_mksnapshot_zip -j $NUMBER_OF_NINJA_PROCESSES
+        (cd out/Default; zip mksnapshot.zip mksnapshot_args gen/v8/embedded.S)
       fi
 
 step-mksnapshot-store: &step-mksnapshot-store

+ 2 - 1
appveyor.yml

@@ -187,7 +187,8 @@ test_script:
   - if "%RUN_TESTS%"=="true" ( echo Running test suite & node script/yarn test -- --enable-logging)
   - cd ..
   - if "%RUN_TESTS%"=="true" ( echo Verifying non proprietary ffmpeg & python electron\script\verify-ffmpeg.py --build-dir out\Default --source-root %cd% --ffmpeg-path out\ffmpeg )
-  - echo "About to verify mksnapshot"
+  - echo "About to verify mksnapshot"  
+  - if "%RUN_TESTS%"=="true" ( gn desc out\Default v8:run_mksnapshot_default args > out\Default\mksnapshot_args )
   - if "%RUN_TESTS%"=="true" ( echo Verifying mksnapshot & python electron\script\verify-mksnapshot.py --build-dir out\Default --source-root %cd% )
   - echo "Done verifying mksnapshot"
   - if "%RUN_TESTS%"=="true" ( echo Verifying chromedriver & python electron\script\verify-chromedriver.py --build-dir out\Default --source-root %cd% )

+ 3 - 6
script/verify-mksnapshot.py

@@ -26,12 +26,9 @@ def main():
   try:
     with scoped_cwd(app_path):
       if args.snapshot_files_dir is None:
-        mkargs = [ get_binary_path('mksnapshot', app_path), \
-                    SNAPSHOT_SOURCE, '--startup_blob', 'snapshot_blob.bin', \
-                    '--no-native-code-counters', '--turbo_instruction_scheduling' ]
-        if get_target_arch() == 'ia32':
-          mkargs.append('--target_arch=x86')
-        subprocess.check_call(mkargs)
+        with open(os.path.join(app_path, 'mksnapshot_args')) as f:
+          mkargs = f.read().splitlines()
+        subprocess.check_call(mkargs + [ SNAPSHOT_SOURCE ], cwd=app_path)
         print('ok mksnapshot successfully created snapshot_blob.bin.')
         context_snapshot = 'v8_context_snapshot.bin'
         context_snapshot_path = os.path.join(app_path, context_snapshot)