diff --git a/.github/workflows/migrations.yml b/.github/workflows/migrations.yml new file mode 100644 index 000000000..5adb3bc7a --- /dev/null +++ b/.github/workflows/migrations.yml @@ -0,0 +1,105 @@ +name: Run Migrations + +on: + pull_request: + paths: + - "backend/alembic/versions/**" + +permissions: read-all + +jobs: + migrate-postgres: + runs-on: ubuntu-latest + permissions: + checks: write + pull-requests: write + services: + postgres: + image: postgres:15 + env: + POSTGRES_USER: user + POSTGRES_PASSWORD: password + POSTGRES_DB: testdb + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v6.7.0 + + - name: Install python + run: uv python install 3.13 + + - name: Install dependencies + run: uv sync + + - name: Run PostgreSQL Migrations + working-directory: backend + env: + ROMM_DB_DRIVER: postgresql + DB_HOST: localhost + DB_PORT: 5432 + DB_USER: user + DB_PASSWD: password + DB_NAME: testdb + ROMM_AUTH_SECRET_KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + ROMM_BASE_PATH: romm_test + run: uv run alembic upgrade head + + migrate-mariadb: + runs-on: ubuntu-latest + permissions: + checks: write + pull-requests: write + services: + mariadb: + image: mariadb:10.11 + env: + MARIADB_USER: user + MARIADB_PASSWORD: password + MARIADB_DATABASE: testdb + MARIADB_ROOT_PASSWORD: root + ports: + - 3306:3306 + options: >- + --health-cmd "mysqladmin ping -h 127.0.0.1 -u root --password=root" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - name: Checkout repository + uses: actions/checkout@v4.3.0 + + - name: Install mariadb connectors + run: | + sudo apt-get update + sudo apt-get install -y libmariadb3 libmariadb-dev + + - name: Install uv + uses: astral-sh/setup-uv@v6.7.0 + + - name: Install python + run: uv python install 3.13 + + - name: Install dependencies + run: uv sync + + - name: Run MariaDB Migrations + working-directory: backend + env: + ROMM_DB_DRIVER: mariadb + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + DB_USER: user + DB_PASSWD: password + DB_NAME: testdb + ROMM_AUTH_SECRET_KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + ROMM_BASE_PATH: romm_test + run: uv run alembic upgrade head diff --git a/backend/alembic/versions/0067_romfile_category_enum_cheat.py b/backend/alembic/versions/0067_romfile_category_enum_cheat.py index 0eedc1737..79251830b 100644 --- a/backend/alembic/versions/0067_romfile_category_enum_cheat.py +++ b/backend/alembic/versions/0067_romfile_category_enum_cheat.py @@ -1,4 +1,4 @@ -"""Update rom_file.category column enum +"""Update rom_file.category column enum to include cheats Revision ID: 0067_romfile_category_enum_cheat Revises: 0066_fix_empty_flashpoint_id diff --git a/backend/pytest.ini b/backend/pytest.ini index 73b8bc455..98b3089fb 100644 --- a/backend/pytest.ini +++ b/backend/pytest.ini @@ -16,7 +16,7 @@ env = SCREENSCRAPER_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx STEAMGRIDDB_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx LAUNCHBOX_API_ENABLED=true - ROMM_AUTH_SECRET_KEY=843f6cefc5ba1430d54061301c2893be00c2aef11dae39ffec13a2af1a86e867 + ROMM_AUTH_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true ENABLE_SCHEDULED_RESCAN=true ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB=true