Travis-ci[1] supports encryption key feature[2]. The caveat is that
plain-texts are encrypted and decrypted using repository's public and
private keys. That is, if we migrate our blessed repo to another one, we
need to re-encrypt and update our secure keys in .travis.yml file:
- GH_TOKEN : to push to OSX/Windows repositories
(Github token for account "soonhokong")
- DROPBOX_KEY : to push compiled binaries to DROPBOX
(DROPBOX_KEY=access token)
- REPO : encrypt "BLESSED". If travis-ci is running on another
repository, REPO variable is not decrypted to "BLESSED" because it
will use a different private key. Many actions (i.e. upload to
Dropbox, trigger OSX/Windows Builds) are protected by this
condition.
- COVERALLS_REPO_TOKEN: to push to https://coveralls.io
(https://coveralls.io/r/leanprover/lean)
[1]: http://travis-ci.com
[2]: http://docs.travis-ci.com/user/encryption-keys/
- have build name is in the form of
"<BRANCH>_<CXX_COMPILER>_<BUILD_TYPE>(_TC)?"
to have consistency over time.
- have "Generator" field in cdash XMLs which is in the form of
"<GIT_COMMIT>###<GIT_SUBJECT>"
it will be displayed as a small mouseover-text.
- move triggers (BB/Win/OSX) to before_script section
- update DROPBOX_KEY for windows
- copy archive binaries to dropbox
- do not use custom lcov. just use ctest -ExperimentalCoverage
- OSX sed expects parameter for "-i" option
- for Windows and OSX build, we need to get the commit hash of HEAD~
instead of HEAD because we made an extra commit to trigger the build
- remove gmp & mpfr from the precompiled package because it sometimes causes a build failure for mpfr.
- take out -v option when extracting gcc.tar.bz2
[skip ci]
On Linux:
- push to the repo on bitbucket, to trigger email-diff
- push to the lean-osx repo on github, to trigger osx build & test
- run test coverage and upload to dropbox
- run doxygen and upload to dropbox
- upload compiled binaries to dropbox
- secure passwords by putting "-q" option to git operations
On OSX:
- build & test
- upload compiled binaries to dropbox
- roll back to HPC g++-4.9.0 + gmp & mpfr (homebrew)
- patch the problem in <cstddef>, saved in dropbox