name: tests # Run actions when pushing to the testing branch or when you create a # PR against it on: push: branches: [ testing ] pull_request: branches: [ testing ] jobs: unittest: runs-on: ubuntu-latest container: bonfacekilz/genenetwork2:latest steps: # First start with mariadb set then checkout. The checkout gives # the mysqld enough time to start - name: Set up mariadb run: | mysql_install_db --user=mysql --datadir=/usr/local/mysql # Wait for the mysqld_safe process to start mysqld_safe --user=mysql --datadir=/usr/local/mysql & # Use v1 of checkout since v2 fails - name: Checkout Project uses: actions/checkout@v1 # Redis is required by some of the tests 6379 - name: Start Redis run: | /gn2-profile/bin/screen -dmLS redisconn /gn2-profile/bin/redis-server # Initialise the tables - name: Bootstrap tables run: | mysql -u root -e "SHOW DATABASES;" mysql -u root -e "CREATE DATABASE db_webqtl_s;" mysql -u root -e "CREATE USER 'gn2'@'localhost' IDENTIFIED BY 'mysql_password';" mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'gn2'@'localhost';FLUSH PRIVILEGES;" - name: Start Genenetwork as a Background Task run: | /gn2-profile/bin/screen -dm bash -c "env GN2_PROFILE=/gn2-profile \ TMPDIR=/tmp SERVER_PORT=5004 \ WEBSERVER_MODE=DEBUG LOG_LEVEL=DEBUG \ GENENETWORK_FILES=/genotype_files/ bin/genenetwork2 \ etc/default_settings.py" - name: Run the unit tests run: | env GN2_PROFILE=/gn2-profile \ TMPDIR=/tmp SERVER_PORT=5004 \ WEBSERVER_MODE=DEBUG LOG_LEVEL=DEBUG \ GENENETWORK_FILES=/genotype_files/ bin/genenetwork2 \ etc/default_settings.py -c -m unittest discover -v - name: Test for Broken Links run: | env GN2_PROFILE=/gn2-profile \ TMPDIR=/tmp\ WEBSERVER_MODE=DEBUG LOG_LEVEL=DEBUG \ GENENETWORK_FILES=/genotype_files/ bin/genenetwork2 \ etc/default_settings.py -c \ $PWD/test/requests/links_scraper/genelinks.py