Commit Graph

56 Commits

Author SHA1 Message Date
Mat Sutcliffe
807f13a3f3 Fix warning in script 2020-08-07 00:02:36 +01:00
Mat Sutcliffe
bfa82affb9 Issue #17 Disable building xswiftbus for 32bits 2020-08-02 23:00:21 +01:00
Mat Sutcliffe
faf7f2a2cf Issue #15 [CI] Don't parallelize make check 2020-08-01 19:48:37 +01:00
Mat Sutcliffe
c4f6e516ef [CI] Skip the workflow run for a pull request, if the same SHA was already built 2020-07-08 21:16:33 +01:00
Mat Sutcliffe
c2a744a898 Dead code removal 2020-06-29 18:34:17 +01:00
Mat Sutcliffe
362e3fa453 Hide Backtrace token 2020-06-29 18:34:17 +01:00
Mat Sutcliffe
9309beefc4 [CI] Fix stderr not being captured in log 2020-06-29 18:34:16 +01:00
Mat Sutcliffe
ea0f1261ed [CI] Make cppcheck and compiler warnings visible in Github Actions runs 2020-06-29 18:34:16 +01:00
Mat Sutcliffe
4a9e222733 [CI] Refactoring 2020-06-29 18:34:15 +01:00
Mat Sutcliffe
e38423a8b3 [CI] Capture build stderr in a log file for later processing 2020-06-29 18:34:14 +01:00
Mat Sutcliffe
6b174d20b4 Add Github Actions workflow 2020-06-29 18:34:14 +01:00
Mat Sutcliffe
88f8e8130f Remove references to ccache and clcache 2020-06-29 18:34:14 +01:00
Mat Sutcliffe
c5d4134ef9 remove Jenkinsfile 2020-06-29 18:34:14 +01:00
Mat Sutcliffe
5acb7c52b5 Update Qt version 2020-06-12 18:42:29 +01:00
Mat Sutcliffe
f056d4fcd6 New schema for the 4th segment of the swift version number
Based on a count of the number of commits since
any of the first 3 segments were changed.
2020-01-07 19:57:26 +00:00
Mat Sutcliffe
dfdc468f9f Using Qt 5.14.0 2020-01-07 19:57:24 +00:00
Mat Sutcliffe
65c1f3d778 Fixed bug in jenkins.py 2020-01-07 19:46:16 +00:00
Mat Sutcliffe
6f9f6ccc9d Extra ccache options to allow sharing caches between different Jenkins jobs. 2019-09-16 22:40:05 +01:00
Roland Rossgotterer
3d935485dd Don't generate symbols if they aren't uploaded
Since the change to native symbol formats, the archived packages are huge and are
occupying too much disk space in Jenkins master. Therefore limit it to the case
in which they are really uploaded to backtrace and products released.
2019-05-13 11:21:06 +02:00
Roland Rossgotterer
1ceb84f591 Update Jenkins Qt version to 5.12.3
Reviewers: #gatekeepers, msutcliffe

Reviewed By: #gatekeepers, msutcliffe

Differential Revision: https://dev.swift-project.org/D103
2019-05-13 11:20:47 +02:00
Roland Rossgotterer
fec6f3b0ad Improve binary symbolification
Summary:
Backtrace accepts a wide range of native debugging formats, e.g. PDB, dSYM, ELF files. Instead of converting to an intermediate format being breakpad sym files, package and upload the native formats directly.
Also reduce the list of debugging symbols to a reasonable minimum. Sample and test symbols are not required.

Reviewers: #gatekeepers, msutcliffe

Reviewed By: #gatekeepers, msutcliffe

Subscribers: msutcliffe

Maniphest Tasks: T588

Differential Revision: https://dev.swift-project.org/D102
2019-05-13 11:20:46 +02:00
Mat Sutcliffe
bb59007656 D99 Enable compiler caches 2019-04-12 13:30:48 +01:00
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