Skip to content
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_DATABASE: domjudge
MYSQL_USER: domjudge
MYSQL_PASSWORD: domjudge
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
steps:
- uses: actions/checkout@v4
- name: Install DOMjudge
run: .github/jobs/baseinstall.sh
- name: Wait and Import Database
run: |
apt-get update
apt-get install -y default-mysql-client
while ! mysqladmin ping -h"sqlserver" -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" --silent; do
echo "Waiting for database connection..."
sleep 2
done
mysql -hsqlserver -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" domjudge < .github/jobs/old_database.sql
- name: Upgrade Database
run: |
/opt/domjudge/domserver/bin/dj_setup_database upgrade
- name: Check for Errors in the Upgrade
run: |
mysql -hsqlserver -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "SHOW TABLES FROM domjudge;"