diff --git a/.github/workflows/github_action_test_suite.yml b/.github/workflows/github_action_test_suite.yml index c05faa95a5..34f1ea9ad7 100644 --- a/.github/workflows/github_action_test_suite.yml +++ b/.github/workflows/github_action_test_suite.yml @@ -32,10 +32,26 @@ jobs: UNIT_TEST_SETTINGS: "--settings=settings --keepdb --timing" COVERAGE_TEST_SETTINGS: "--settings=settings --timing" + services: + postgres: + image: postgres:12 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: evennia + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5s + ports: + - 5432:5432 + steps: - uses: actions/checkout@v3 - name: Set up database (${{ matrix.TESTING_DB }}) + if: matrix.TESTING_DB != 'postgresql' uses: ./.github/actions/setup-database with: database: ${{ matrix.TESTING_DB }} @@ -74,6 +90,9 @@ jobs: working-directory: testing_mygame run: | evennia test ${{ env.UNIT_TEST_SETTINGS }} evennia + env: + POSTGRES_HOST: localhost + POSTGRES_PORT: 5432 # OBS - it's important to not run the coverage tests with --parallel, it messes up the coverage # calculation! diff --git a/.github/workflows/postgresql_settings.py b/.github/workflows/postgresql_settings.py index c12927af3a..9f5e927ec3 100644 --- a/.github/workflows/postgresql_settings.py +++ b/.github/workflows/postgresql_settings.py @@ -42,11 +42,10 @@ DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": "evennia", - "USER": "evennia", - "PASSWORD": "password", - "HOST": "localhost", - "PORT": "", # use default - "TEST": {"NAME": "default"}, + "USER": "postgresql", # evennia + "PASSWORD": "postgres", + "HOST": os.environ.get("POSTGRES_HOST", "localhost"), + "PORT": os.environ.get("POSTGRES_PORT", "5432"), } }