The GitHub Actions job "Forge - Next GCP Deploy" on 
grails-core.git/hotfix/forge-native-image-8.0.0-M1 has succeeded.
Run started by GitHub user jamesfredley (triggered by jamesfredley).

Head commit for run:
378c2c3270d1a14813bbb3817d9b8fe750c17f75 / James Fredley 
<[email protected]>
Add flyway-database-postgresql to grails-forge-analytics-postgres

After PR #15647 unblocked dockerBuildNative for grails-forge-
analytics-postgres, the resulting native binary built and pushed
successfully but the Cloud Run revision failed its startup probe
(`The user-provided container failed to start and listen on the
port defined provided by the PORT=8080 environment variable
within the allocated timeout`).

Reproducing locally with a postgres:15.3 sidecar showed the
binary crashing during datasource initialization:

  ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut
    server: Bean definition [javax.sql.DataSource] could not be
    loaded: Unsupported Database: PostgreSQL 15.3
  Caused by: org.flywaydb.core.api.FlywayException:
    Unsupported Database: PostgreSQL 15.3
        at org.flywaydb.core.internal.database.DatabaseTypeRegister
            .getDatabaseTypeForConnection(DatabaseTypeRegister.java:131)

Flyway 10.x split the per-database DatabaseType implementations
out of flyway-core into dedicated modules. After the May-2026
adoption of micronaut-platform pinned us to flyway-core 10.22.0,
the analytics service no longer had a PostgreSQL DatabaseType on
the runtime classpath, so Flyway's
`ServiceLoader<org.flywaydb.core.internal.database.DatabaseType>`
returned an empty match for the postgres connection and aborted
the schema migration. micronaut-flyway-bom:7.9.2 already manages
the matching `org.flywaydb:flyway-database-postgresql:10.22.0`
artifact, so adding it as `runtimeOnly` is sufficient.

Verified locally with a postgres:15.3 sidecar:

  HikariPool-1 - Start completed.
  Flyway - Database: jdbc:postgresql://...:5432/postgres (PostgreSQL 15.3)
  Flyway - Creating Schema History table "public"."flyway_schema_history"
  Flyway - Schema "public" is up to date. No migration necessary.
  io.micronaut.runtime.Micronaut - Startup completed in 193ms.
    Server Running: http://...:8080

Native binary now binds to PORT=8080 and serves HTTP within the
Cloud Run startup probe window.

Assisted-by: claude-code:claude-4.7-opus

Report URL: https://github.com/apache/grails-core/actions/runs/25579825356

With regards,
GitHub Actions via GitBox

Reply via email to