44 push :
55 branches : [ main, master ]
66 pull_request :
7+ workflow_dispatch : {}
78
89jobs :
910 run-sql :
@@ -22,15 +23,16 @@ jobs:
2223 --health-interval=10s
2324 --health-timeout=5s
2425 --health-retries=10
26+
2527 steps :
2628 - name : Checkout
2729 uses : actions/checkout@v4
2830
29- - name : Show repo files
31+ - name : Show repo files
3032 run : |
31- pwd
32- ls -la
33- ls -la Vorlesungen || true
33+ pwd
34+ ls -la
35+ ls -la Vorlesungen || true
3436
3537 - name : Wait for MySQL
3638 run : |
@@ -40,12 +42,34 @@ jobs:
4042 fi
4143 sleep 2
4244 done
43- echo "MySQL did not become healthy in time" && exit 1
45+ echo "MySQL did not become healthy in time"
46+ exit 1
4447
4548 - name : Run SQL file
4649 run : |
4750 mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" testdb < Vorlesungen/16_10_2025.sql
4851
49- - name : Smoke test
52+ - name : Verify table 'vorlesung' is populated
53+ run : |
54+ set -e
55+ # existiert die Tabelle?
56+ exists=$(mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -N -e "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='testdb' AND table_name='vorlesung';")
57+ if [ "$exists" -eq 0 ]; then
58+ echo "❌ Tabelle 'vorlesung' existiert nicht in Schema 'testdb'."
59+ exit 1
60+ fi
61+ # Anzahl Zeilen
62+ rows=$(mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -N -e "USE testdb; SELECT COUNT(*) FROM vorlesung;")
63+ echo "vorlesung rows: $rows"
64+ if [ "$rows" -eq 0 ]; then
65+ echo "❌ Tabelle 'vorlesung' ist leer."
66+ exit 1
67+ fi
68+ # ein paar Datensätze zeigen
69+ mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SELECT * FROM vorlesung ORDER BY 1 LIMIT 10;"
70+
71+ - name : Smoke test (products, optional)
5072 run : |
51- mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SELECT * FROM products;"
73+ set +e
74+ mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SELECT COUNT(*) AS cnt FROM products;" || echo "Hinweis: Tabelle 'products' nicht vorhanden."
75+ mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SHOW TABLES;"
0 commit comments