This PR adds regression testing to the integration test system. Currently this PR targets the
integration-tests branch, but it should not be merged until after PR #28.
Regression testing is configured by changing a dependency version in the POM which determines the reference data artifact (stored in the encyclopedia-maven-repo) that's compared to the results of the current build.
Results of the build (when integration/regression tests are enabled by
-DskipITs=false) are packaged and deployed to the maven repository from builds that execute the
deploy goal; currently this is only done automatically for tagged versions. When results change due to development of the program it's possible to deploy results from any commit using the
custom: deploy-maven-artifacts pipeline. Care must be taken when deploying updated reference data artifacts and/or when changing the reference data dependency version.
Documentation is also available on the repository wiki: https://bitbucket.org/searleb/encyclopedia/wiki/Bitbucket_Pipelines
Commits in this PR:
Basic regression test to compare peptides from current version to cached version
When copy-and-paste goes wrong
Added metadata checks for pi0 to regression tests
Clean up checks for peptide matches. Relax RT requirement.
Pull report generation into setUp method
Added failure messages to assertions
Improve RT range overlap assertion.
Move jobData setUp to setUp
tempReport is now setup and teardown per report
Pull proportion constants out.
Return false for non-overlapping retention times.
Successfully filter out non Chromatogram entries
Clean up and initial changes towards deploying reference data.
Implement copying of files to target/ directory in preparation for packaging and deployment.
Switch to passing around resource URLs as strings instead of LibraryFile instances and begin fleshing out copying of combined results for deployment.
Update remaining test methods for deploying combined results.
Improve debugging when issues arise. Copy individual xcordia results to reference data folder.
Add profile and assembly descriptor for building and attaching a reference-data JAR with the results from IT/regression test searches.
Update profile to add reference-data dependency when running ITs.
Force installation of Percolator-required library before running Bitbucket builds.
Remove sudo from installation command.
Add deployment repository configuration to allow deploying build artifacts and (importantly) regression reference data.
Ignore test failures when manually triggering deployment to Maven.