relay-pagination-conformance 0.1.1.1 → 0.1.1.2
raw patch · 4 files changed
+37/−8 lines, 4 filesdep +directorydep +unixdep ~ephemeral-pgdep ~relay-paginationdep ~relay-pagination-hasqlPVP ok
version bump matches the API change (PVP)
Dependencies added: directory, unix
Dependency ranges changed: ephemeral-pg, relay-pagination, relay-pagination-hasql, relay-pagination-servant
API changes (from Hackage documentation)
Files
- CHANGELOG.md +6/−0
- relay-pagination-conformance.cabal +10/−7
- test-support/Relay/Pagination/Test/Postgres.hs +18/−0
- test/DbFixture.hs +3/−1
CHANGELOG.md view
@@ -2,6 +2,12 @@ Versioning follows the [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## 0.1.1.2 — 2026-10-06++### Fixed++- Use released ephemeral-pg >=0.3.1 && <0.4 and one stable effective-uid temporary root shared by database fixtures and the example service, preserving startup stale-instance sweeping.+ ## 0.1.1.1 — 2026-10-05 ### Other Changes
relay-pagination-conformance.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: relay-pagination-conformance-version: 0.1.1.1+version: 0.1.1.2 synopsis: Conformance suite proving no-skip/no-duplicate pagination description: A conformance suite that services run against their own paginated@@ -48,7 +48,7 @@ , base >=4.21 && <5 , bytestring >=0.11 && <0.13 , containers >=0.7 && <0.9- , relay-pagination ^>=0.1.1.1+ , relay-pagination ^>=0.1.1.2 , tasty >=1.4 && <1.6 , tasty-hunit >=0.10 && <0.11 , text >=2.0 && <2.2@@ -56,7 +56,7 @@ test-suite relay-pagination-conformance-test import: lang type: exitcode-stdio-1.0- hs-source-dirs: test+ hs-source-dirs: test test-support main-is: Main.hs -- MultilineStrings: fixture DDL and the multi-row insert (ADR 1)@@ -73,6 +73,7 @@ HttpSpec MutationSpec Oracle+ Relay.Pagination.Test.Postgres WalkSpec build-depends:@@ -80,15 +81,16 @@ , base , bytestring , containers- , ephemeral-pg+ , directory+ , ephemeral-pg >=0.3.1 && <0.4 , hasql >=1.10 && <1.11 , hasql-dynamic-statements >=0.5 && <0.6 , http-client >=0.7 && <0.8 , quickcheck-instances >=0.3 && <0.4- , relay-pagination ^>=0.1.1.1+ , relay-pagination ^>=0.1.1.2 , relay-pagination-conformance- , relay-pagination-hasql ^>=0.1.1.1- , relay-pagination-servant ^>=0.1.1.1+ , relay-pagination-hasql ^>=0.1.1.2+ , relay-pagination-servant ^>=0.1.1.2 , servant >=0.20.3 && <0.21 , servant-client >=0.20.3 && <0.21 , servant-client-core@@ -99,5 +101,6 @@ , tasty-quickcheck >=0.10 && <0.12 , text , time >=1.12 && <1.15+ , unix , uuid-types >=1.0 && <1.1 , warp >=3.3 && <3.5
+ test-support/Relay/Pagination/Test/Postgres.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE ImportQualifiedPost #-}++-- | PostgreSQL configuration shared by Relay tests and the example service.+-- A stable short effective-uid root lets subsequent runs sweep abandoned+-- clusters across shell sessions. Default startup sweeping stays enabled.+module Relay.Pagination.Test.Postgres (ephemeralPgConfig) where++import Data.Monoid (Last (..))+import EphemeralPg qualified as Pg+import System.Directory (createDirectoryIfMissing)+import System.Posix.User (getEffectiveUserID)++ephemeralPgConfig :: IO Pg.Config+ephemeralPgConfig = do+ uid <- getEffectiveUserID+ let root = "/tmp/ephpg-relay-" <> show uid+ createDirectoryIfMissing True root+ pure Pg.defaultConfig {Pg.temporaryRoot = Last (Just root)}
test/DbFixture.hs view
@@ -47,6 +47,7 @@ timestamptzKey, uuidKey, )+import Relay.Pagination.Test.Postgres (ephemeralPgConfig) data TestRow = TestRow { rowId :: !UUID,@@ -93,9 +94,10 @@ -- | One cached-initdb server plus one connection, with the schema created. acquireDb :: IO (Pg.Database, HasqlConn.Connection) acquireDb = do+ config <- ephemeralPgConfig db <- either (fail . Text.unpack . Pg.renderStartError) pure- =<< Pg.startCached Pg.defaultConfig Pg.defaultCacheConfig+ =<< Pg.startCached config Pg.defaultCacheConfig conn <- either (fail . show) pure =<< HasqlConn.acquire (Pg.connectionSettings db) run conn createSchema pure (db, conn)