Skip to content

volume

volume #14

name: Database Upgrade Test
on:
push:
branches:
- main
- '[0-9]+.[0-9]+'
- oldDBCI
pull_request:
branches:
- main
- '[0-9]+.[0-9]+'
jobs:
upgrade_test:
runs-on: ubuntu-latest
container:
image: domjudge/gitlabci:24.04
services:
sqlserver:
image: mariadb
ports:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: domjudge
MYSQL_PASSWORD: domjudge
options: >-
--health-cmd="healthcheck.sh --connect --innodb_initialized"
--health-interval=10s
--health-timeout=5s
--health-retries=3
volumes:
- ${{ github.workspace }}/.github/jobs/old_database.sql:/docker-entrypoint-initdb.d/old_database.sql
steps:
- uses: actions/checkout@v4
- name: Install DOMjudge
run: .github/jobs/baseinstall.sh
- name: Import olddata into MariaDB
run: |
docker exec -i sqlserver mysql -h127.0.0.1 -u${{ env.MYSQL_USER }} -p${{ env.MYSQL_PASSWORD }} domjudge < .github/jobs/old_database.sql
- name: Upgrade Database
run: |
docker exec domserver /opt/domjudge/domserver/bin/dj_setup_database upgrade
- name: Check for Errors in the Upgrade
run: |
docker exec sqlserver mysql -uroot -proot -e "SHOW TABLES IN domjudge;"
- name: Clean up
run: |
docker stop domserver sqlserver
docker rm domserver sqlserver