Uploaded image for project: 'MariaDB Foundation Development'
  1. MariaDB Foundation Development
  2. MDBF-977

Windows debug and packages builders

    XMLWordPrintable

Details

    Description

      Scope

      This task covers the changes required to make the amd64-windows and amd64-windows-packages compatible with
      winx64-debug and winx64-packages from https://buildbot.mariadb.net.

      Details

      Debug builder

      The builders configure step is the same between old and new:

      • cmake src -G "Visual Studio 17 2022" -A x64  -DPLUGIN_ROCKSDB=NO -DMYSQL_MAINTAINER_MODE=ERR -DWITH_DBUG_TRACE=OFF -Wno-dev
        

      • The build step matches.

        cmake --build  .  --verbose --config RelWithDebInfo -- -m
        

      • The tests run are invoked from buildbot_suites.bat, found under mysql-test/collections/
      • There is also a separate run for connect suite.

      Packages builder

      • The cmake line is shared between old and new builders:

        cmake . -G "Visual Studio 17 2022" -A x64  -DBUILD_CONFIG=mysql_release -DWITH_THIRD_PARTY=HeidiSQL -DWITH_EMBEDDED_SERVER=0 -DSIGNCODE=ON -DSIGNTOOL_PARAMETERS="/fd;SHA256;/a;/t;http://timestamp.globalsign.com/?signature=sha2" -DWITH_UNIT_TESTS=0 -DMYSQL_MAINTAINER_MODE=ERR
        

      • The package compile step "matches". The new buildbot assumes there is a CPackZIPConfig.cmake, which is true for all MariaDB supported versions.
        Zip packaging

        cmake --build . --config RelWithDebInfo --target win_package
        

        MSI packaging

        cmake --build  .  --config RelWithDebInfo --target MSI
        

      • Upload step: Packages are uploaded to ci.mariadb.org, can later be part of the package signing process.
      • MTR tests: are run the same, buildbot_suites.bat and connect suite.
      • There is currently no install test in the new buildbot. These should be covered.

      Requirements:

      1. Update windows builder to the latest supported Windows Server version.
      2. Update Visual studio and the compiler to the latest version currently available.
      3. Implement install tests for MSI packages.

      dojob ^"^(rename mariadb*.msi mariadb-64.msi ^&^& ^(start /b /wait msiexec /i mariadb-64.msi PORT=3364 INSTALLDIR=\^"C:\Program Files\MariaDB\^" SERVICENAME=MariaDB-64 /qn /l*v msi_install.txt^)^) ^|^| ^(echo ERROR: Installation failed ^&^& type msi_install.txt ^&^& exit 1^)^"
      

      Check the service is running:

      dojob ^"dir C:\\\^"Program Files\^"\MariaDB ^&^& ^(echo Check that the built and installed mysqld.exe are identical ^&^& ^(diff sql\RelWithDebInfo\mysqld.exe \^"C:\Program Files\MariaDB\bin\mysqld.exe\^" ^|^| ^(stat sql\RelWithDebInfo\mysqld.exe ^&^& stat \^"C:\Program Files\MariaDB\bin\mysqld.exe\^" ^&^& sql\RelWithDebInfo\mysqld.exe --version ^&^& C:\\\^"Program Files\^"\MariaDB\bin\mysqld.exe --version ^&^& exit 1^)^)^) ^&^& ^(echo Check that the server is up and running on the right port ^&^& C:\\\^"Program Files\^"\MariaDB\bin\mysql -uroot --port=3364 -e \^"select ^@^@version, ^@^@version_comment; show status like 'Uptime'; select 'Stat' t, variable_name name, variable_value val from information_schema.global_status where variable_name like '%%have%%' union select 'Vars' t, variable_name name, variable_value val from information_schema.global_variables where variable_name like '%%have%%' order by t, name\^"^)^"
      

      Uninstall the msi package:

      dojob ^"start /b /wait msiexec /i mariadb-64.msi REMOVE=ALL /qn /l*v msi_uninstall.txt ^|^| type msi_uninstall.txt ^&^& exit 1^"
      

      Attachments

        Issue Links

          Activity

            People

              rvarzaru Varzaru Razvan-Liviu
              cvicentiu Vicențiu Ciorbaru
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 6d Original Estimate - 6d
                  6d
                  Remaining:
                  Time Spent - 7.75d Remaining Estimate - 2.75d
                  2.75d
                  Logged:
                  Time Spent - 7.75d Remaining Estimate - 2.75d
                  7.75d