MDEV-26527 speedup appveyor build

- set clone_depth to 1. Otherwise, appveyor spends
  4.5 minutes for the "git clone" alone

- Use Ninja instead of msbuild, it is (a bit) faster

- do not compile perfschema, or dynamic plugins
  to save time on compilation, or test execution.

- use -DFAST_BUILD=1 to speedup build a little

- increase number of parallel jobs used in build and test.
- Exclude some slow tests from the main suite.
This commit is contained in:
Vladislav Vaintroub 2021-09-04 20:37:40 +02:00
parent 999d254cf2
commit 7dd85c0ffd
2 changed files with 30 additions and 13 deletions

View file

@ -1,21 +1,24 @@
version: build-{build}~branch-{branch}
before_build:
- md %APPVEYOR_BUILD_FOLDER%\win_build
- cd %APPVEYOR_BUILD_FOLDER%\win_build
- cmake .. -DWITH_UNIT_TESTS=0 -DWITH_MARIABACKUP=0 -DMYSQL_MAINTAINER_MODE=ERR -DPLUGIN_ROCKSDB=NO -DPLUGIN_CONNECT=NO -DBISON_EXECUTABLE=C:\cygwin64\bin\bison
clone_depth: 1
build:
project: win_build\MySQL.sln
parallel: true
verbosity: minimal
configuration: RelWithDebInfo
platform: x64
build_script:
# dump some system info
- echo processor='%PROCESSOR_IDENTIFIER%' , processor count= %NUMBER_OF_PROCESSORS%
- cd %APPVEYOR_BUILD_FOLDER%
- mkdir _build
- cd _build
- set BUILD_TYPE=MinSizeRel
- set GENERATOR=-GNinja
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
- cmake -E time cmake %GENERATOR% .. -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DMYSQL_MAINTAINER_MODE=ERR -DFAST_BUILD=1 -DBISON_EXECUTABLE=C:\cygwin64\bin\bison -DWITHOUT_DYNAMIC_PLUGINS=1 -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_FEEDBACK=NO -DWITH_UNIT_TESTS=0 -DWITH_MARIABACKUP=0
- set /A jobs=2*%NUMBER_OF_PROCESSORS%
- cmake -E time cmake --build . -j %jobs% --config %BUILD_TYPE%
test_script:
- set PATH=C:\Strawberry\perl\bin;%PATH%;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
- cd %APPVEYOR_BUILD_FOLDER%\win_build\mysql-test
- perl mysql-test-run.pl --force --max-test-fail=10 --parallel=4 --testcase-timeout=10 --suite=main
- cd %APPVEYOR_BUILD_FOLDER%\_build\mysql-test
- set /A parallel=4*%NUMBER_OF_PROCESSORS%
- perl mysql-test-run.pl --force --max-test-fail=10 --retry=2 -parallel=%parallel% --testcase-timeout=3 --suite=main --skip-test-list=%APPVEYOR_BUILD_FOLDER%\win\appveyor_skip_tests.txt --mysqld=--loose-innodb-flush-log-at-trx-commit=2
image: Visual Studio 2019

View file

@ -0,0 +1,14 @@
main.mysql_upgrade : Takes long time on Appveyor
main.mysqlslap : Takes long time
mysql.upgrade_view : Takes long time
main.check : Takes long time on Appveyor
main.mrr_icp_extra : Takes long time on Appveyor
main.derived_opt : Takes long time on Appveyor
main.trigger : Takes long time on Appveyor
main.index_merge_myisam : Takes long time on Appveyor
main.mysqldump : Takes long time on Appveyor
main.derived : Takes long time on Appveyor
main.multi_update : Takes long time on Appveyor
main.index_merge_innodb : Takes long time on Appveyor
main.count_distinct2 : Takes long time on Appveyor
main.mysqltest : Takes long time on Appveyor