aboutsummaryrefslogtreecommitdiff
path: root/JenkinsfileRT
diff options
context:
space:
mode:
Diffstat (limited to 'JenkinsfileRT')
-rw-r--r--JenkinsfileRT58
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])