Skip to content

Jenkins

Jonathan Eisenhamer edited this page Apr 29, 2022 · 4 revisions

Abstract

The Tute has a local Jenkins installation. For JWST, this system is used for regression testing of the JWST Python Package. The regressions are normally run nightly. The system is also available to the primary JWST Package maintainers to configure and run their own regressions. This page documents how to use the system.

Job Configuration

How builds are configured to run is maintained through the Configure page, found in the left-hand navigation of the project page. Though there is much that can be configured, below are sections that should be set before running a regression.

Parameterization

Under the General tab, ensure that This project is parameterized is checked. A button ADD PARAMETER is now available. Add the following parameters to the configuration.

OVERRIDE_REQUIREMENTS (required)

  • Type: Multi-line String Parameter
  • Name: OVERRIDE_REQUIREMENTS
  • Default Value: leave blank
  • Description

    Override predefined package requirements

ARTIFACTORY_ENV (optional)

  • Type: String Parameter
  • Name ARTIFACTORY_ENV
  • Default value: dev
  • Description:

    Artifactory jwst-pipeline/ARTIFACTORY_ENV specification. On pytest, this is --env=ARTIFACTORY_ENV

PYTEST_ARGS (optional)

  • Type: String Parameter
  • Name PYTEST_ARGS
  • Default value: blank
  • Description:

    Additional arguments to pass to the pytest command. Use to restrict test run to a set of files or other optional pytest arguments.

ENV_VARS (optional)

  • Type: String Parameter
  • Name ENV_VARS
  • Default value: blank
  • Description:

    Define environmental variables as VAR=VALUE. One per line.

Examples

  1. Use the JWST TEST CRDS server. This example takes advantage of the fact that JWST TEST has a central store cache:
CRDS_PATH=/grp/crds/jwst/test
CRDS_SERVER_URL=serverless
  1. Use the JWST development CRDS server with a local cache. The not-so-obvious setting here is that CRDS_PATH must point somewhere accessible to Jenkins. This example uses the pre-created folder on Jenkins server on which a crds sync --all had been executed:
CRDS_PATH=/data1/crds_caches/crds_cache_dev
CRDS_SERVER_URL=https://jwst-crds-dev.stsci.edu

Pipeline

Under this section, there are two fields, Repositories and Branches to build, that should be modified to point the to repository of interest to build. Ideally these are clones of the JWST repository.

If one finds the need to create their own Jenkins script, for customized build execution, one can specify a different Jenkins script to use instead of modifying the repository's standard one in the Script Path field.