Add cron job to install/test against packages from source#914
Conversation
- update travis config to listen to TRAVIS_EVENT_TYPE environment variable and do something when the envvar is cron - add ability to install relevant packages from git source in etstool module modified: .travis.yml modified: etstool.py
I will undo this change once the CI is green - this tests the changes to the etstool module install function modified: .travis.yml
|
Note that there's already a weekly cron job for traitsui - it just behaves differently now. |
This reverts commit 8b97c37.
where the keys are package names and the values are git/github source urls for the packages modified: etstool.py
kitchoi
left a comment
There was a problem hiding this comment.
LGTM. One unused variable?
|
thanks for the review @kitchoi |
| - for toolkit in ${TOOLKITS}; do edm run -- python etstool.py install --runtime=${RUNTIME} --toolkit=${toolkit} || exit; done | ||
| - if [[ ${TRAVIS_EVENT_TYPE} == 'cron' ]]; then for toolkit in ${TOOLKITS}; do edm run -- python etstool.py install --runtime=${RUNTIME} --toolkit=${toolkit} --source || exit; done; fi |
There was a problem hiding this comment.
I only realized later that this causes install to be called twice on the cronjob.
Options:
(1) in etstool.py, set the default of --source based on some environment variable, e.g. default=os.environ.get("IS_CRON", False)
(2) compose the option flags in the travis.yml based on the environment variable..., e.g. if [[${TRAVIS_EVENT_TYPE} == 'cron' ]] FLAGS="--source" something like that.
There was a problem hiding this comment.
yes. sorry. i wasn't trying to optimize CI time. I'll look into this this week (before i start adding more cron jobs which are wasteful).
At the moment, traits is the only package installed from source as pyface is always installed from source on CI. The changes are almost the same as that in traits PR enthought/traits#479