aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/main.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/main.yml')
-rw-r--r--.github/workflows/main.yml65
1 files changed, 65 insertions, 0 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 00000000..8e2c7966
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,65 @@
+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