Continuous Integration Pipeline which tests and merges pull requests to WishBuilder
WishBuilder is an open source project that provides biology-related datasets to Geney, a service that makes the data easier to filter and query for research. WishBuilder allows users to submit code which gathers and reformats data pulled from public Web servers into a consistent format described on the project wiki.
WishBuilderCI (Continuous Integration) manages the pull requests submitted to WishBuilder by detecting them automatically, testing that the ouput data are consistent with the WishBuilder requirements, and adding the datasets created by the code contained in each passed dataset to Geney.
WishBuilderCI requires Docker to test code in an environment container. The "wishbuilder-cli" image used to create each container can be pulled from Docker Hub with this command:
docker pull srp33/wishbuilder-cli
If you would like to experiment within this container, you can explore the environment within a bash shell by using the following command:
docker run -it -v $(pwd):/app --rm srp33/wishbuilder-cli /bin/bash
This is the file structure of the app. Any folder not included in the repository is in the .gitignore and will be auto-generated if it doesn't exist, except for the private.py file which must be provided. The history.sql file keeps a record of all the pull requests, and the SHA's tested for each commit to them. The files produced by successful tests are moved into the RawDatasets directory. After the datasets are converted to the correct format for Geney, the data is stored in the GeneyDatasets directory.
docker-compose up -d
Stop WishBuilder-CLI with the stop command:
docker-compose down
Restart a pull request:
Working on this...
Status reports are emailed to the GitHub user who created the last commit to the pull request, provided that they have configured their email address using their git --config settings.
Content type
Image
Digest
Size
2.3 GB
Last updated
about 8 years ago
docker pull srp33/wishbuilder-cli