diff options
author | Matt Rendina <mrendina@stsci.edu> | 2019-01-23 15:33:54 -0500 |
---|---|---|
committer | Matt Rendina <mrendina@stsci.edu> | 2019-02-12 16:27:59 -0500 |
commit | 68341c08eca5025fe17a8e737afea7c51ea2c050 (patch) | |
tree | 6c8821b25986fa23561c85574407ff080f089094 /JenkinsfileRT | |
parent | d5acca400a4d5648f70a6e01815e24bf4dc5c4ad (diff) | |
download | delivery_control-68341c08eca5025fe17a8e737afea7c51ea2c050.tar.gz |
env 'activation'
Stash all files from master
Selective test run by platform. Start collecting pieces for metadata extraction.
Modify JenkinsfileRT in place.
Load individualized Jenkinsfiles for each pkg
Ensure PATH gets included in env_vars list at appropriate time.
Preprocess env_vars before expanding into runtime list.
Build project if setup.py is present.
Use pip to install projects with a setup.py and ignore their deps.
Generalize PATH manipulation to handle explicit PATH defs and no such defs.
Uninstall conda_packages when done with a single test suite.
Better parsing of conda list info.
Annotate tests with package and build config name.
Remove debugging clause; cleanup
Diffstat (limited to 'JenkinsfileRT')
-rw-r--r-- | JenkinsfileRT | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/JenkinsfileRT b/JenkinsfileRT new file mode 100644 index 0000000..aac2be4 --- /dev/null +++ b/JenkinsfileRT @@ -0,0 +1,58 @@ +// Obtain files from source control system. +// [skip ci] and [ci skip] have no effect here. + if (utils.scm_checkout(['skip_disable':true])) return + +// Allow modification of the job configuration, affects all relevant build configs. +// Pass this object in the argument list to the`run()` function below to apply these settings to the job's execution. +jobconfig = new JobConfig() +jobconfig.post_test_summary = true + +// Config data to share between builds. +CFLAGS = '' +LDFLAGS = '' +DEFAULT_FLAGS = "${CFLAGS} ${LDFLAGS}" +// Some waf flags cause a prompt for input during configuration, hence the 'yes'. +configure_cmd = "yes '' | ./waf configure --prefix=./_install ${DEFAULT_FLAGS}" + +// Configure artifactory ingest +data_config = new DataConfig() +data_config.server_id = 'bytesalad' +data_config.root = 'tests_output' +data_config.match_prefix = '(.*)_result' // .json is appended automatically + +// Run nightly tests, which include the slow ones. +bc = new BuildConfig() +bc.nodetype = "RHEL-6" +bc.name = "release" +bc.env_vars = ['PATH=./_install/bin:$PATH', + 'OMP_NUM_THREADS=8', + 'TEST_BIGDATA=https://bytesalad.stsci.edu/artifactory', + 'jref=/grp/hst/cdbs/jref/', + 'iref=/grp/hst/cdbs/iref/', + 'oref=/grp/hst/cdbs/oref/'] +bc.conda_channels = ['http://ssb.stsci.edu/astroconda'] +bc.conda_packages = ['python=3.6', + 'cfitsio', + 'pkg-config', + 'pytest', + 'requests', + 'astropy', + 'ci-watson'] + +bc.build_cmds = [//"pip install git+https://github.com/spacetelescope/ci_watson.git@master", + "${configure_cmd} --release-with-symbols", + "./waf build", + "./waf install", + "calacs.e --version"] +//bc.test_cmds = ["pytest tests --basetemp=tests_output --junitxml results.xml --bigdata --slow -v"] +bc.test_cmds = ["pytest tests/acs/test_hrc_single.py --basetemp=tests_output --junitxml results.xml --bigdata --slow -v"] +bc.failedUnstableThresh = 1 +bc.failedFailureThresh = 6 + +// Upload artifacts +bc.test_configs = [data_config] + +// Iterate over configurations that define the (distributed) build matrix. +// Spawn a host of the given nodetype for each combination and run in parallel. +// Also apply the job configuration defined in `jobconfig` above. + utils.run([bc, jobconfig]) |