Skip to content

Commit 7dd85c0

Browse files
committed
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.
1 parent 999d254 commit 7dd85c0

File tree

2 files changed

+30
-13
lines changed

2 files changed

+30
-13
lines changed

appveyor.yml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
version: build-{build}~branch-{branch}
22

3-
before_build:
4-
- md %APPVEYOR_BUILD_FOLDER%\win_build
5-
- cd %APPVEYOR_BUILD_FOLDER%\win_build
6-
- cmake .. -DWITH_UNIT_TESTS=0 -DWITH_MARIABACKUP=0 -DMYSQL_MAINTAINER_MODE=ERR -DPLUGIN_ROCKSDB=NO -DPLUGIN_CONNECT=NO -DBISON_EXECUTABLE=C:\cygwin64\bin\bison
3+
clone_depth: 1
74

8-
build:
9-
project: win_build\MySQL.sln
10-
parallel: true
11-
verbosity: minimal
12-
13-
configuration: RelWithDebInfo
14-
platform: x64
5+
build_script:
6+
# dump some system info
7+
- echo processor='%PROCESSOR_IDENTIFIER%' , processor count= %NUMBER_OF_PROCESSORS%
8+
- cd %APPVEYOR_BUILD_FOLDER%
9+
- mkdir _build
10+
- cd _build
11+
- set BUILD_TYPE=MinSizeRel
12+
- set GENERATOR=-GNinja
13+
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
14+
- 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
15+
- set /A jobs=2*%NUMBER_OF_PROCESSORS%
16+
- cmake -E time cmake --build . -j %jobs% --config %BUILD_TYPE%
1517

1618
test_script:
1719
- set PATH=C:\Strawberry\perl\bin;%PATH%;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
18-
- cd %APPVEYOR_BUILD_FOLDER%\win_build\mysql-test
19-
- perl mysql-test-run.pl --force --max-test-fail=10 --parallel=4 --testcase-timeout=10 --suite=main
20+
- cd %APPVEYOR_BUILD_FOLDER%\_build\mysql-test
21+
- set /A parallel=4*%NUMBER_OF_PROCESSORS%
22+
- 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
2023

2124
image: Visual Studio 2019

win/appveyor_skip_tests.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
main.mysql_upgrade : Takes long time on Appveyor
2+
main.mysqlslap : Takes long time
3+
mysql.upgrade_view : Takes long time
4+
main.check : Takes long time on Appveyor
5+
main.mrr_icp_extra : Takes long time on Appveyor
6+
main.derived_opt : Takes long time on Appveyor
7+
main.trigger : Takes long time on Appveyor
8+
main.index_merge_myisam : Takes long time on Appveyor
9+
main.mysqldump : Takes long time on Appveyor
10+
main.derived : Takes long time on Appveyor
11+
main.multi_update : Takes long time on Appveyor
12+
main.index_merge_innodb : Takes long time on Appveyor
13+
main.count_distinct2 : Takes long time on Appveyor
14+
main.mysqltest : Takes long time on Appveyor

0 commit comments

Comments
 (0)