-
Notifications
You must be signed in to change notification settings - Fork 68
Dashboard, Testing, and Validation
The CDAT project is tested in CircleCI cloud. We have a workflow that exercises the installation of CDAT packages from cdat/label/nightly and conda-forge channels and runs tests on both Linux and MacOS with all the supported python versions.
- [CircleCI CDAT nightly workflow config] (https://github.com/CDAT/cdat/blob/master/.circleci/config.yml)
- [CircleCI CDAT nightly Dashboard] (https://app.circleci.com/pipelines/github/CDAT/cdat?branch=master)
The CircleCI CDAT nightly workflow creates a nightly conda test environment. It installed all CDAT nightly packages pulled from cdat/label/nightly and conda-forge channels. It runs all CDAT test suites, and stores the test artifacts for review. The workflow uses CircleCI matrix to create workflows for Linux and MacOS, all the supported python versions and libnetcdf variants.
The uvcdat-testdata repository contains the baseline images for the regression tests. It is cloned by default to ${CMAKE_BINARY_DIR}/uvcdat-testdata
, though this can be configured to use another (possibly shared) location by changing the UVCDAT_GIT_TESTDATA_DIR
cmake variable.
The "update-testdata" build target (e.g. make update-testdata
) will:
- Clone the testdata repo to the specified directory if the directory does not exist.
- If the local directory is an existing, clean clone of the proper repository's master branch, the repository is updated.
- A warning is printed if the update/clone fails, but the build will continue.
This target is executed every time make is invoked.
By default, history is not fetched for the testdata repo. The full repository history can be obtained by running git clone --unshallow
in the uvcdat-testdata directory.
To update a baseline image or add a new one, create a branch of the testdata repo and submit a pull request. Refer to the testdata pull request in any associated uvcdat pull requests to ensure that the repositories are updated appropriately.
git checkout -b new_branch_name
git add [files]
git commit
git push origin HEAD:new_branch_name