|
| 1 | +name: Run All Tests |
| 2 | + |
| 3 | +on: |
| 4 | + pull_request: |
| 5 | + branches: |
| 6 | + # TEMPORARY: Replace with main once bs5 is merged |
| 7 | + - 'feat/bs5' |
| 8 | + |
| 9 | +jobs: |
| 10 | + tests: |
| 11 | + name: Run Tests |
| 12 | + runs-on: ubuntu-latest |
| 13 | + container: ghcr.io/ietf-tools/datatracker-test-base:latest |
| 14 | + |
| 15 | + services: |
| 16 | + db: |
| 17 | + image: ghcr.io/ietf-tools/datatracker-db:latest |
| 18 | + volumes: |
| 19 | + - mariadb-data:/var/lib/mysql |
| 20 | + env: |
| 21 | + MYSQL_ROOT_PASSWORD: ietf |
| 22 | + MYSQL_DATABASE: ietf_utf8 |
| 23 | + MYSQL_USER: django |
| 24 | + MYSQL_PASSWORD: RkTkDPFnKpko |
| 25 | + |
| 26 | + steps: |
| 27 | + - uses: actions/checkout@v3 |
| 28 | + |
| 29 | + - name: Prepare for tests |
| 30 | + run: | |
| 31 | + echo "Running containers:" |
| 32 | + docker ps -a |
| 33 | + echo "Fixing permissions..." |
| 34 | + chmod -R 777 ./ |
| 35 | + echo "Copying docker config files..." |
| 36 | + cp ./docker/configs/settings_local.py ./ietf/settings_local.py |
| 37 | + cp ./docker/configs/settings_local_sqlitetest.py ./ietf/settings_local_sqlitetest.py |
| 38 | + echo "Installing NPM packages..." |
| 39 | + npm install --prefer-offline --no-audit |
| 40 | + echo "Building static assets..." |
| 41 | + npx parcel build |
| 42 | + echo "Creating data directories..." |
| 43 | + chmod +x ./docker/scripts/app-create-dirs.sh |
| 44 | + ./docker/scripts/app-create-dirs.sh |
| 45 | + |
| 46 | + - name: Ensure DB is ready |
| 47 | + run: | |
| 48 | + /usr/local/bin/wait-for db:3306 -- echo "DB ready" |
| 49 | + |
| 50 | + - name: Run all tests |
| 51 | + run: | |
| 52 | + echo "Running checks..." |
| 53 | + ./ietf/manage.py check --settings=settings_local |
| 54 | + echo "Running tests..." |
| 55 | + ./ietf/manage.py test --settings=settings_local_sqlitetest --failfast |
0 commit comments