WIP: Deploy OSX package from Travis-CI
Automatically deploy Travis-CI builds using FTP. Support is completed for OSX.
See Cross-platform deployment for parameter documentation.
By default, if you merged this into master
, Deployer would be inactive and the buildbots operate as normal.
By setting DEPLOYER_ENABLED
and _DEPLOYER_JOB_ENABLED
environment variables in Travis-CI, that starts the magic to build installation packages and upload them. There are various filters to only operate on certain branches or individual workers, as well as an optional trigger word to search in the commit message.
Changes:
- Minor
.travis.yml
cleanup - New
travis/deployer_*.sh
scripts - Changed asset file downloading to unzip the 7-zip archive first, then fall back on individual downloads if they were not in the archive. Also compare timestamps and only download if the file is newer vs. cache
- CMake fixes to customize the asset files and properly support Mac install packaging
Debian/PPA support will be a more drastic change, so I'll put this up for now.
-
changed title from Cross-platform deploy OSX package from Travis-CI to Deploy OSX package from Travis-CI
Toggle commit list -
changed the description
Toggle commit list -
Master
Frankly I don't really understand entirely what's going on here, nor can I test since I don't have OS X. But nevertheless this sounds like it would be awesome for those who do have it, so giving my thumbs up. =D
-
marked as a Work In Progress
Toggle commit list -
added 84 commits
- 2e21c9e2 - Start of Deployer debian templating
- 6d058d02 - Move debian folders to debian-template
- c0d2a0a3 - Merge branch 'travis-deployer' into travis-deployer-debian
- 97027da9 - Implement templating for Debian package scripts
- 1bfce520 - Add debian directories to gitignore since they're autogenerated
- 1b9124c4 - When building debian scripts, only clean the specified package
- ddd4f5aa - Split from deployer.sh to deployer_defaults.sh
- 6e54d662 - PPA initial implementation
- 4d90c4af - Change version scheme of debian package: tilde instead of hyphen
- 0fee0707 - Move key retrieval to build
- 6cb7dd4e - Fix variables not showing in rules scripts
- 8aeb1db5 - Use envsubst for templating instead
- c3c96979 - Export __PACKAGE_DATETIME
- 40218516 - __PACKAGE_DATETIME whoops
- 5ebbd8c0 - Try private key
- 5295b1c7 - Passphrase entry for secret key
- 5c1542f5 - apt-get install expect
- 62e97480 - Expect trailing space
- 8f30e6f0 - Move package signing to PPA submodule; add PPA_ENABLED qualifiers
- 6c36cf25 - PPA adjustments
- 56c3cf12 - GPG fixes
- 01b3eb45 - PPA fix?
- 164853e5 - Filename fix
- 0d5d7cff - Quote fix
- 9a1462a7 - add key back to gpg call
- a9f56d7e - try a different key
- ac913fff - Try pinging launchpad
- 3c091c7e - whoops
- 7530b245 - debug dput
- e294c8a5 - Try uploading by FTP
- 973be25e - install wput for ppa
- 40a54168 - Re-arranged Debian building and signing to happen in deployer_build.sh
- 23cf1120 - Install wput for ftp, linux
- a532c249 - FTP fixes for debian; sign binary packages
- c945c939 - Filename to FTP path
- e875e619 - deployer_ppa to deployer_dput
- 59708b55 - Try wput --port-mode
- a3b2dc2a - Try verbose
- d0dfcff0 - Try curl instead
- 25a07eca - curl verbose
- 05f736cf - FTP doesn't work by design on Travis, whoops!
- fba5d9ad - Use CURL for FTP uploads; define config for DPUT uploads
- 734aece0 - dput.cf fix
- 4a2d919c - eom error
- 96ae278f - Correct dput config syntax
- f875eb86 - shut up ssh
- 7e644902 - FTP recursive upload
- 48df0410 - shut up ssh 2
- f5d6c429 - shut up ssh global
- 2231f642 - actually modify ssh_config globally
- eeda8b6b - dput again; proper ftp deleting
- d0022236 - ssh key import
- ae9bc0d0 - chmod
- 94ee1fd7 - ssh key private
- 3637beab - Try expect for ssh passphrase
- 473059b1 - apt install expect
- 7854d59f - add chmod back in for ssh private key
- 2fa63a39 - interact
- da646015 - DPUT cleanup
- fa771f70 - Sign and upload srb2-dbg package builds; add pre-emptive support for other…
- 031d1e3c - Documentation for Debian scripts; unset PACKAGE_SUBVERSION if running debian_template standalone
- 4e814f9a - deployer_build syntax error
- 64e10aa7 - Fix PACKAGEFILENAMES array
- e7c7d434 - Refactoring
- 4243cbba - ASSET_OPTIONAL_GET refactor
- 7074762c - Assets debian rules fix
- 25fdbe4f - Expect debsign in case we sign multiple packages
- a2a1e748 - Asset package build precheck not necessary
- 0427b4cf - Add debhelper just in case
- f2cae4d2 - Escape quotes in expect
- 360caf89 - Proper debsign without expect
- 2d12fc15 - --no-resign typo
- 6f229b33 - Put srb2 package depends in right place
- 843ed0bd - Try libpng16
- 4bf93b27 - Better order for libpng?
- 1f4a3cb5 - Add PACKAGE_REVISION field to debian packages
- c32a53ff - libpng adjustment
- bfda6d83 - Expect for "no original tar file" prompt
- 22efc7d3 - Print cache dates for asset downloads
- 8dc32e7b - correct stat command for osx
- 428abcf5 - Add symlinks to /usr/games
- a7db5018 - Fix stat file date printing for osx
- 3affa655 - Properly strip leading slash from PACKAGE_INSTALL_PATH and PACKAGE_LINK_PATH
- fb838f94 - Correct OSX stat command
Toggle commit list -
added 311 commits
-
7010fe75...880c017f - 303 commits from branch
master
- 48127b57 - Add PACKAGE_SUBVERSION default value to ~14.04trusty to match PACKAGE_DISTRO
- c751ef25 - Refactor DEPLOYER_ variables to DPL_
- 48e2aca3 - Rename ASSET_OPTIONAL_GET to ASSET_FILES_OPTIONAL_GET
- 2138fbec - Refactor PACKAGE_MAIN_NOBUILD and PACKAGE_ASSET_BUILD to _DPL_PACKAGE_MAIN and _DPL_PACKAGE_ASSET
- aa40d215 - Add all user-facing parameters to deployer_defaults.sh
- f81cf77f - Refactor DPL_DPUT_USER to DPL_DPUT_LOGIN
- 440d3a0e - A comment
- 7f238001 - Merge remote-tracking branch 'public-gitlab/master' into travis-deployer
Toggle commit list -
7010fe75...880c017f - 303 commits from branch
-
added 3 commits
-
7f238001...f855263f - 2 commits from branch
master
- 54e71707 - Merge remote-tracking branch 'public-gitlab/master' into travis-deployer
Toggle commit list -
7f238001...f855263f - 2 commits from branch
-
added 36 commits
- f3d30e5d - Add PROGRAM_VENDOR field to Deployer
- f9b8ded9 - Make EXE name and package names configurable; add README to CPACK vars
- 774362f1 - Merge branch 'cmake-binary-strings' into travis-deployer
- 9ae4ef32 - Make PROJECT_VERSION configurable too
- 5711b20e - Merge branch 'cmake-binary-strings' into travis-deployer
- 98d55fab - Add CMAKE configurable strings to travis
- a67a1d38 - Revert "Make PROJECT_VERSION configurable too"
- f1667aa1 - Merge branch 'cmake-binary-strings' into travis-deployer
- b0aa72ea - Add comment about CMAKE project string
- 3ea09884 - Merge branch 'cmake-binary-strings' into travis-deployer
- a8f105fe - Remove PROJECT_VERSION define from cmake call
- c3991f00 - Escape ${CMAKE_INSTALL_PREFIX} in fixup_bundle (was erroneously un-escaped in previous merge)
- b21ef85e - Add music formats to sdl2_mixer osx
- 29826d35 - Unescape CPACK_PACKAGE_DESCRIPTION_SUMMARY
- e6f0dd6d - Change back CPACK resource file LICENSE; remove README.txt from CPACK
- 332f9ac3 - Add Deployer-specific buildbots
- 45e5a42a - Replace DPL_JOB_TERMINATE_DISABLED with DPL_TERMINATE_TESTS
- ff4e367f - Add travis job conditions
- a81252fc - Add DPL_JOBNAMES filter implementation
- 31111ba7 - Add DPL_TRIGGER to travis conditions
- 4fceac3f - Adjust non-deployer job conditions
- 10df7ec8 - Forgot parenthesis
- 08501738 - Comment out if conditions
- 85c46b9c - Proper allow_failures
- cb73ecc1 - Remove allow_failures block for _DPL_JOB_ENABLED; enable if condition for non-deployer jobs
- 6529245d - Comment out branch condition in non-deployer jobs
- 19e352f6 - Add fakeroot package to deployer_build debian
- 20567cf9 - PACKAGE_SUBVERESION typo
- 90caca5c - Dedicated asset build job, linux
- 32a35fd7 - Remove ubuntu toolchain source from deployer jobs
- 14233d53 - Refactor DPL_JOB_ALL to DPL_JOB_ENABLE_ALL
- a06c9d01 - Fix if conditions for travis jobs
- 51e4beab - Debian desktop icon: apply PROGRAM_FILENAME to destination only
- 0d8ed35e - If condition adjustment
- ad92f882 - Fix DPUT apt dependencies
- 34943c3f - Fix osx deployer bot if condition
Toggle commit list -
Master
This is outdated, so will close and propose again when the branch is ready. (probably after .22)
-
closed
Toggle commit list -