Skip to content
This repository has been archived by the owner on Dec 12, 2023. It is now read-only.
NICK VANDEWIELE edited this page Feb 22, 2016 · 1 revision

RMG-tests

Intro

Whenever a new build is triggered for RMG-Py or RMG-database on Travis CI, a more extensive build will be triggered for the RMG-tests repo.

The more extensive build of RMG-tests will run a number of RMG-Py simulations with a diverse set of configurations. These simulations serve as integration tests, and complement the unit tests that are present in the original repositories.

After each RMG-Py simulation is completed, the output is verified. This currently entails the comparison of the generated reaction mechanisms against a already present, hard-coded reaction mechanism. The comparison consists of a comparison of the species, reactions, thermochemistry, and kinetics. Whenever a difference between the newly generated mechanism and the expected mechanism is encountered, a warning is written to the Travis CI log.

We are currently working on a more robust methods of verification by comparing observable model predictions rather than model intrinsics.

RMG-Py/database integration with RMG-tests.

Setup inspired (but not identical) by the following: http://pghalliday.com/github/ssh/travis-ci/2014/09/19/auto-build-and-deploy-github-pages-with-travis-ci.html

Whenever a commit is pushed to a branch of the RMG-Py/database repo's of the RMG organization, the repo's generate a new commit and branch on the RMG-tests repo. For each new commit on RMG-tests, a Travis CI build is triggered, that includes the model verification steps.

Granting write access of the RMG-Py/database repo's to the RMG-tests repo without human intervention is done through a deploy key deploy_key. Deploy keys have been generated for the RMG-Py/database repo's and the public keys are uploaded to the RMG-tests section.

The private keys are encrypted (deploy_key.enc) using Travis' API and uploaded to the root directory of each of the repo's (deploy_key.enc). Log on to travis (on Linux, Windows has problems!):

travis login

Encrypt the generated private key using :

travis encrypt-file deploy_key.

It will generate an encrypted deploy key: deploy_key.enc

The key to decrypt the encrypted deploy key are uploaded to the respective repo's on Travis CI's website and stored as environment variable.

The Travis CI build of the RMG-Py/database repo's first decrypts the encrypted deploy key and subsequently uses that key to have push access to the RMG-tests repo.

For example: openssl aes-256-cbc -K $encrypted_6df19ac2b23f_key -iv $encrypted_6df19ac2b23f_iv -in deploy_key.enc -out deploy_key -d