aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/main.yml
blob: f279a7e55c91af67917a87e4bbd726b17341941e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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