Commit Graph

34 Commits

Author SHA1 Message Date
Roland Rossgotterer
5ea8b7376e Limit symbol file uploading to develop and release branches 2019-02-22 20:36:25 +00:00
Mat Sutcliffe
731d39d783 [Jenkins] Use vswhere to locate vcvarsall script. 2019-02-22 20:36:15 +00:00
Roland Rossgotterer
1a30e24652 [Jenkins] vs_version argument not needed in get_vs_env. 2019-02-22 20:36:14 +00:00
Roland Rossgotterer
f63d6cc392 Fix byte vs string error in Python 3.7 2019-02-22 20:36:06 +00:00
Roland Rossgotterer
bc930faaa1 Enable automatic uploading of symbol packages to backtrace.io 2019-02-22 20:35:49 +00:00
Roland Rossgotterer
05e07e05fe Fix call to removed variable 2019-02-22 20:35:19 +00:00
Roland Rossgotterer
64ff167be1 Add symbol files individually to tar file instead of symbol directory
Summary:
In the previous attempt, the parent directory was added to the tar file with it being renamed to ".".
So it still had a directory and was not a flat tar file. Instead add all files from the symbol path individually.

Reviewers: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D86
2019-02-22 20:35:19 +00:00
Roland Rossgotterer
56aa383a45 Leave MacOS shared library symbol filenames untouched 2019-02-22 20:35:18 +00:00
Roland Rossgotterer
db8285868b Write breakpad symbols into a flat directory structure
Symbol files were never copied one to one to a break server. Therefore
setting up the required directory structure is not necessary.
In contrast, backtrace.io wants a tarball without any subdirs.
2019-02-22 20:35:17 +00:00
Mat Sutcliffe
b87b3177d3 Fix T193 by setting a Qt environment variable. 2019-02-22 20:34:58 +00:00
Mat Sutcliffe
f923cd0cf7 Update jenkins script for Qt 5.12 2019-02-22 20:23:50 +00:00
Mat Sutcliffe
23a597c2bc No maximum number of commandline options to jenkins.py 2019-02-22 20:23:49 +00:00
Mat Sutcliffe
307e170d5f Integrate swift version numbering into the json config system. 2019-02-22 20:23:26 +00:00
Mat Sutcliffe
82679a3010 Replace qmake variable BLACK_CONFIG with a system based on json files.
The config is loaded from json files by qmake, and we define the qmake
function `swiftConfig` for checking whether a feature is enabled.
This function can be directly used in `buildconfig_gen.cpp.in`,
so the trick with C++ comment tokens in variables is not needed.
2019-02-22 20:23:25 +00:00
Mat Sutcliffe
87552c2327 Fixed off-by-one error in calculating eolMonth. 2018-12-24 14:08:18 +00:00
Roland Rossgotterer
912d44d558 Add symbol upload python script for manual symbol uploads 2018-11-29 20:54:26 +01:00
Roland Winklmeier
21bc1f7dbe Set end of live date in Jenkins build
Depending on the branch, we override the end of live date relative in month
from the build time.
develop/ builds expire in 6 month
release/ builds expire in 12 month
all others expire in 3 month.

ref T319
2018-11-04 17:42:43 +01:00
Roland Winklmeier
4a46974cb5 Update Qt to 5.9.6 2018-06-18 03:04:50 +02:00
Roland Winklmeier
18b6ee700b Move Jenkins Linux build to Ubuntu 16.04 2018-06-18 03:04:48 +02:00
Roland Winklmeier
fe8c0026e0 Create symbols also on Linux platform 2018-01-17 14:24:39 +01:00
Roland Winklmeier
b952c60f04 Adjust artifacts filenames to schema type-os-version.extension 2017-12-08 12:36:12 +01:00
Roland Winklmeier
f53ec46d20 Change the operating system name from OSX to MacOS everywhere
Summary:
- Changed the name in all build artifacts
- Everywhere in C++

Reviewers: #swift_pilot_client, kbasan

Reviewed By: #swift_pilot_client, kbasan

Subscribers: jenkins

Maniphest Tasks: T205

Differential Revision: https://dev.swift-project.org/D69
2017-12-06 22:50:19 +01:00
Roland Winklmeier
d7d4fdff2c Align the full version schema across all artifacts
Summary:
The version number used for packaging symbols and xswiftbus was not the
full one including the timestamp.
This change adds the last commit timestamp (in contrast to the build
timestamp used before) as regular part of the version number. This helps
us to also keep the version number consistent with the content across all
installers. The version number will change only, if the last commit was
modified and not with each different build.
In the end, all jenkins jobs building from the same commit should produce
artifacts with the same version everywhere.

ref T204

Reviewers: #swift_pilot_client, kbasan

Reviewed By: #swift_pilot_client, kbasan

Subscribers: jenkins

Maniphest Tasks: T204

Differential Revision: https://dev.swift-project.org/D68
2017-12-01 08:13:44 +01:00
Roland Winklmeier
7cd4c415fa Upgrade Qt to v5.9.2 2017-11-16 14:16:47 +01:00
Roland Winklmeier
ed31ca542c Reformat util.py to use 4 space indentation 2017-11-16 14:16:47 +01:00
Roland Winklmeier
ae88a091e6 Upgrade to MSVC 2017
For 32 bit we still use the binary compatible MSVC 2015 prebuilt Qt binaries.
For 64 bit, we change to the MSVC 2017 prebuilt binaries.
Redistributables are in no packaged from MSVC 2017 installs.
2017-11-16 14:16:47 +01:00
Roland Winklmeier
d47801c5ba Automatically update shared files during jenkins build
Summary:
This change adds an automatic shared files update step during the jenkins
build. This guarantees, that we always have the latest DB data packaged
into the installers.
The updated files will be written into the source directory, so install
step will automatically pick up the updated ones.

ref T158

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Subscribers: jenkins

Maniphest Tasks: T158

Differential Revision: https://dev.swift-project.org/D56
2017-10-28 20:34:17 +02:00
Roland Winklmeier
e135784aac Add command to automatically upload symbols after jenkins build
By default, uploading of symbols is disabled. It will enabled for specific
release builds only.
This supersedes copying the symbol tarbal in the jenkins job.

ref T69
2017-09-24 20:29:17 +01:00
Roland Winklmeier
07ad4e6656 Fix build environment when building with MSVC 2015 32 bit 2017-09-24 19:50:51 +01:00
Roland Winklmeier
49cd6a117f Add argument to specify the number of jobs
Using the python method 'cpu_count()' is not working everywhere.
In Linux containers, 'multiprocessing.cpu_count()' returns the number
of cpu's of the host machine, not the number assigned to the linux
container.
2017-09-24 19:50:50 +01:00
Roland Winklmeier
bb67c721bb Jenkins build script unifiying the build process for all nodes
Summary:
So far, the build process was configured for each job individually. This
was flexible in the past, when frequent changes were needed. Now, since
the CI build configurations are very stable, it is huge effort to keep
the jobs aligned during changes (e.g. Qt upgrade, build arguments etc).
This, plus the need to version control the build process has driven
the creation of this build script. The script is running on all nodes
and provides a small number of arguments to configure the build.
Python script for creating symbols is incorporated and therefore renamed.

Reviewers: #swift_pilot_client, msutcliffe

Subscribers: msutcliffe, jenkins

Differential Revision: https://dev.swift-project.org/D40
2017-09-24 19:50:49 +01:00
Roland Winklmeier
8bf9296d51 Remove argument 'self' from static method fix_library_name
Summary:
fix_library_name is a static method and therefore does not accept
argument 'self'.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Subscribers: jenkins

Tags: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D21
2017-05-14 15:08:00 +01:00
Roland Winklmeier
080e22fa4a create_symbolstore - a script to build breakpad symbol dir structure
Runs dump_syms on each debug info file specified on the command line,
then places the resulting symbol file in the proper directory
structure in the symbol store path.

refs #490
2016-08-09 17:52:19 +02:00
Roland Winklmeier
20392d4aa7 iwyu scripts and mappings
refs #598
2016-05-13 17:02:46 +02:00