Commit Graph

81 Commits

Author SHA1 Message Date
Sergey Sharybin
c73a99ef90 Initial implementation of code signing routines
This changes integrates code signing steps into a buildbot worker
process.

The configuration requires having a separate machine running with
a shared folder access between the signing machine and worker machine.

Actual signing is happening as a "POST-INSTALL" script run by CMake,
which allows to sign any binary which ends up in the final bundle.
Additionally, such way allows to avoid signing binaries in the build
folder (if we were signing as a built process, which iwas another
alternative).
Such complexity is needed on platforms which are using CPack to
generate final bundle: CPack runs INSTALL target into its own location,
so it is useless to run signing on a folder which is considered INSTALL
by the buildbot worker.

There is a signing script which can be used as a standalone tool,
making it possible to hook up signing for macOS's bundler.

There is a dummy Linux signer implementation, which can be activated
by returning True from mock_codesign in linux_code_signer.py.
Main purpose of this signer is to give an ability to develop the
scripts on Linux environment, without going to Windows VM.

The code is based on D6036 from Nathan Letwory.

Differential Revision: https://developer.blender.org/D6216
2019-11-13 09:24:41 +01:00
Brecht Van Lommel
b57a89f062 Buildbot: don't add branch prefix when building release branches 2019-10-11 13:46:24 +02:00
Sergey Sharybin
26b1216629 CMake: Move software-gl to generic install procedure
Removes custom logic from buildbot's packing step.

This also removes icons/ folder, but CMake was already copying the
icons to the root of the install folder.
2019-10-09 13:07:40 +02:00
Brecht Van Lommel
708e81bdfa Fix buildbot error building release on macOS 2019-09-07 18:09:41 +02:00
Brecht Van Lommel
81849e7c9d Buildbot: support building releases, make non-releases more consistent
* Auto detect rc and release version cycle in BKE_blender_version.h.
* On Windows, generate zip and installer if a release is detected.
* On macOS, always generate a dmg instead of zip.
* Use standard package names without hash if a release is detected.
* Buildbot package names now match platform names in releases.

Ref T67056

Differential Revision: https://developer.blender.org/D5643
2019-09-03 12:23:39 +02:00
Brecht Van Lommel
283d96de11 Buildbot: refactor all build slave code
* Move common code into buildbot_utils.py
* Remove legacy code from removed builders
* Split code into smaller functions

Differential Revision: https://developer.blender.org/D5642
2019-09-02 17:37:22 +02:00
Sergey Sharybin
a7e32dbcb0 Buildbot: Fix undefined architecture string for CentOS 2019-06-26 19:40:46 +02:00
Sergey Sharybin
b98428e046 Buildbot: Fix undefined bits for CentOS based builder 2019-06-26 19:37:17 +02:00
Sergey Sharybin
14de0d6a5d Buildbot: Fix pack stage for CentOS based builder 2019-06-26 19:35:10 +02:00
Brecht Van Lommel
c9df453ce7 Update for moving blender2.8 to master. 2018-12-21 12:15:21 +01:00
Dalai Felinto
de6289e79e Remove player from buildbot part II 2018-04-17 18:46:03 +02:00
Sergey Sharybin
37ce77ba06 Buildbot: Remove usage of deprecated chroot 2018-02-12 17:56:19 +01:00
Sergey Sharybin
29ed5f301d Buildbot: Extra tweaks to packing rules 2017-10-01 10:01:45 +02:00
Sergey Sharybin
cc93a66e71 Buildbot: SPecial branch trickery for linux slaves 2017-04-03 15:04:16 +02:00
Sergey Sharybin
d27ef3913a Buildbot: Some special tricks for Blender 2.8 slave 2017-04-03 14:49:07 +02:00
Sergey Sharybin
b7a0340414 Buildbot: Give 2015 builds different name 2016-06-08 12:01:26 +02:00
Campbell Barton
beaa57d269 Refactor BKE_blender into separate headers
- BKE_blender_version.h (only version defines & versionstr).
- BKE_blender_copybuffer.h (currently only used for view3d copy/paste).
- BKE_blender_undo.h (global undo functions).
- BKE_blendfile.h (high level blend file read/write API).
2016-04-25 19:27:45 +10:00
Sergey Sharybin
562b568abe Buildbot: Rename i386 to i686, we don't support pre-i686 CPUs anyway 2016-02-27 14:06:37 +01:00
Sergey Sharybin
008e7701c5 Buildbot: Cleanup unused code
- Remove deprecated/unused builders
- Remove unused SCons OSX slave configuration
- Remove SCons slave logic, it is not giving error about unknown building
  system used for the slave.
2015-12-20 15:44:53 +05:00
Sergey Sharybin
101341845c Buildbot: Use proper archive name for CMake OSX slave 2015-12-20 14:12:04 +05:00
Sergey Sharybin
03d9f9a619 Buildbot: initial work to enable CMake OSX slave 2015-12-20 13:59:04 +05:00
Campbell Barton
a9a02490ce Use int division for version string 2015-12-04 08:49:59 +11:00
Sergey Sharybin
c8fc55d594 Buildbot: Remove windows + scons related code
This is also has been moved to the CMake, no need to keep old dying code around.
2015-12-03 22:47:40 +05:00
Sergey Sharybin
d1c597e0e1 Buildbot: Remove linux scons buildbot related things
It is now totally covered by cmake slave.
2015-12-03 22:35:50 +05:00
Sergey Sharybin
dc0c648914 Buildbot: User proper folder name inside of the archive
This is totally matching the way how buildbot was naming the directory.

Currently there's a bit of code duplication, but it'll be eliminated once
we'll get rid of SCons ;)
2015-12-03 22:10:59 +05:00
Sergey Sharybin
23c670ea0d Buildbot: Remove debug-only early exit 2015-12-03 21:59:42 +05:00
Sergey Sharybin
334955c3e6 Buildbot: Strip all .so files from python install 2015-12-03 18:04:13 +05:00
Sergey Sharybin
9019523161 Buildbot: Followup to previous commit
Path is to be fully specified, so it's independent form the working directory.
2015-12-03 17:00:09 +05:00
Sergey Sharybin
c825c81c38 Buildbot: Another attmept to solve windows
Also de-duplicate bit of code.
2015-12-03 16:55:46 +05:00
Sergey Sharybin
56fcb18a22 Buildbot: attempt to solve packing on windows 2015-12-03 16:48:14 +05:00
Sergey Sharybin
2c7a70395c Buildbot: Fix typo
What a shame..
2015-12-03 16:37:17 +05:00
Sergey Sharybin
27c0997417 Buildbot: Make sure install directory always exists 2015-12-03 16:35:04 +05:00
Sergey Sharybin
91d8a9d035 Buildbot: Make sure buildbot_upload.zip is created in the right place 2015-12-03 16:30:52 +05:00
Sergey Sharybin
f0d405ec67 Buildbot: Fix wrong builder name check 2015-12-03 16:15:37 +05:00
Sergey Sharybin
95e2ee6f50 Buildbot: Always expect buildbot_upload.zip to be in install/ folder
This we we don't have difference between builders on different platforms.
2015-12-03 15:16:48 +05:00
Sergey Sharybin
7cb9b49f73 Buildbot: De-duplicate some path definitions in pack target
Should be no functional changes.
2015-12-03 15:08:36 +05:00
Sergey Sharybin
736ce9c8fd Buildbot: Attempt to resolve wrong path to the buildbot_upload.zip
It is expected to be in the build folder for the cmake.

Ideally it should be build/<builder> or install/<builder> but that's a bit more
involved change. Will look into it later.
2015-12-02 23:39:08 +05:00
Sergey Sharybin
6af1cde239 Buildbot: Attempt to fix cpack target on windows
Was using wrong working directory.
2015-12-02 23:30:33 +05:00
Sergey Sharybin
956bd92a60 Buildbot: Initial work to move linux build environment to CMake
This is so called "seems to work in dry tests" commit which is aimed to switch
linux release environment to CMake.

Some notes:

- There's no special handle of libstdc++, but it wasn't really static for quite
  some time in SCons configuration and nobody really complained.

- It was quite tricky to get OpenMP linked statically with just using some
  configuration so we went ahead and added a special option to CMake now which is
  only exist on Linux and advertised as shouldn't be used.

- Packing is happening manually in slave_pack.py. This is because we have to add
  some really special files to the archive (mesa libraries for example) which we
  can't really handle from CMake/CPack in a nice generic way.

  Don't think it's bad approach, at least crappynness is localized and it's not
  _that_ crappy anyway.

- Windows buildbot should keep working, but needs doublechecing. It's just a
  build folder changed, but you never know what it might imply.

- Some further tweaks are likely needed to ensure all builders are working.

Thanks Campbell for assistance in this patch!
2015-12-02 18:11:58 +05:00
Sergey Sharybin
168bb36bc9 Buildbot: Include branch name to the cmake builds 2015-07-27 14:21:20 +02:00
Sergey Sharybin
ce092a58a2 Buildbot: Missed this in the previous commit 2015-07-27 11:49:05 +02:00
Sergey Sharybin
e5d7cbd191 Buildbot: Attempt to make windows cmake builds names matching buldbot's names
Did this in packaging buildbot rule because of several reasons:

- CMake doesn't deliver name of package which we expect it to be for buildbot
- CMake doesn't really know that building happens for buildbot
- Making default CPAck name matching buildbot's naming is kinda stupid

Probably we can pass CPack name via command line arguments, but i'm happy with
the current state and one might change things in the future.
2015-07-27 11:17:57 +02:00
Campbell Barton
7095f47665 cleanup: pep8
also remove empty class parenthesis
2015-01-29 15:35:06 +11:00
Martijn Berger
9415976d17 Change exception syntax to be more modern and hopefully fix buildbot issue in the process 2015-01-26 08:48:55 +01:00
Martijn Berger
15a7a5a08c CMake buildbot change upload should work now
CPack generating NSIS and WiX installers should also work
2014-11-13 17:09:47 +01:00
Martijn Berger
f46e77fd56 cmake buildbot. Create the zip archive with the name as expected 2014-11-12 15:23:24 +01:00
Martijn Berger
e43c5fa005 cmake. refactor installing python things to not have absolute path's
buildbot. add rudementatry cpack based packing for cmake path
2014-11-11 15:48:22 +01:00
Sergey Sharybin
31d2ac14ae Switch linux buildbot to custom built python2.7
New scons discontinued support of python2.6, so we needed
to build just another python in the release and buildbot
environment.

Hope latest scons upgrade a least bring new msvs support
and not only lead to just-another-frustration.

There might be some more upcoming commits, because you
never can be sure there's no typos in the buidbot script
for until you actually fire the builder up.
2014-08-08 13:41:28 +06:00
Bastien Montagne
35f07cfc1b Buildbot: Never write 'master' branch in packed file names. 2014-07-24 19:34:32 +02:00
Thomas Dinges
2eeab8f191 Windows: Remove support for MSVC 2012 (VC11).
The officially supported compiled is now MSVC 2013, and MSVC 2008 will be faded out slowly over the coming weeks.
2014-05-15 07:50:02 +02:00