Skip to content

Commit e37c414

Browse files
authored
feat: update ci versions (#81)
* feat: update CI versions, add dynamic CMD for running compose on different versions * fix: typo in CI CMD * fix: typo in CI (version chooser) * fix: debug CI and compose file * fix: run tests with wal_level=replica * fix: update CI actions versions * fix: run compose with --force-recreate * fix: do not use cache in setup-go action * fix: run tests with wal_level=logical * feat: update go to 1.25.0 * fix: running on go versions ["1.25", "1.26"] * fix: debug incremental bb unit-tests * fix: debug CI cache * fix: remove debug logs * fix: ci -> restore triggers
1 parent 2e8d0df commit e37c414

4 files changed

Lines changed: 42 additions & 25 deletions

File tree

.github/workflows/ci.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,37 @@ jobs:
1313
strategy:
1414
matrix:
1515
# minimum and latest version of Go
16-
go-version: ["1.21", "1.24"]
16+
go-version: ["1.25", "1.26"]
1717
# all supported versions of Postgres
18-
pg-version: [13, 14, 15, 16, 17]
18+
pg-version: [13, 14, 15, 16, 17, 18]
1919
fail-fast: false
2020
env:
2121
PGLOGREPL_TEST_CONN_STRING: "postgres://pglogrepl:secret@127.0.0.1/pglogrepl?replication=database"
22+
POSTGRES_VERSION: ${{ matrix.pg-version }}
23+
POSTGRES_COMMAND: >-
24+
${{ matrix.pg-version >= 17
25+
&& '-c wal_level=logical -c max_wal_senders=10 -c max_replication_slots=10 -c summarize_wal=on'
26+
|| '-c wal_level=logical -c max_wal_senders=10 -c max_replication_slots=10' }}
2227
steps:
2328
- name: Checkout Code
24-
uses: actions/checkout@v3
29+
uses: actions/checkout@v6
2530
- name: Set up Go ${{ matrix.go-version }}
26-
uses: actions/setup-go@v4
31+
uses: actions/setup-go@v6
2732
with:
2833
go-version: ${{ matrix.go-version }}
34+
cache: false
35+
- name: Debug rendered compose config
36+
run: |
37+
echo "matrix.pg-version=${{ matrix.pg-version }}"
38+
echo "POSTGRES_VERSION=$POSTGRES_VERSION"
39+
printf 'POSTGRES_COMMAND=%s\n' "$POSTGRES_COMMAND"
40+
docker compose config
2941
- name: Stand up Postgres ${{ matrix.pg-version }}
3042
run: docker compose up -d postgres
3143
env:
3244
POSTGRES_VERSION: ${{ matrix.pg-version }}
3345
- name: Run tests
3446
run: go test -v -race ./...
47+
- name: Tear down
48+
if: always()
49+
run: docker compose down -v

docker-compose.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@ services:
22
postgres:
33
image: postgres:${POSTGRES_VERSION:-17}-alpine
44
restart: always
5-
command: ["-c", "wal_level=logical", "-c", "max_wal_senders=10", "-c", "max_replication_slots=10"]
5+
command: ${POSTGRES_COMMAND}
6+
# [
7+
# "-c", "wal_level=logical",
8+
# "-c", "max_wal_senders=10",
9+
# "-c", "max_replication_slots=10",
10+
# ]
611
environment:
712
POSTGRES_USER: ${POSTGRES_USER:-pglogrepl}
813
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-secret}

go.mod

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
module github.com/jackc/pglogrepl
22

3-
go 1.21
3+
go 1.25.0
44

55
require (
66
github.com/jackc/pgio v1.0.0
7-
github.com/jackc/pgx/v5 v5.5.4
8-
github.com/stretchr/testify v1.8.4
7+
github.com/jackc/pgx/v5 v5.9.1
8+
github.com/stretchr/testify v1.11.1
99
)
1010

1111
require (
1212
github.com/davecgh/go-spew v1.1.1 // indirect
1313
github.com/jackc/pgpassfile v1.0.0 // indirect
14-
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
14+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
1515
github.com/kr/text v0.2.0 // indirect
1616
github.com/pmezard/go-difflib v1.0.0 // indirect
1717
github.com/rogpeppe/go-internal v1.12.0 // indirect
18-
golang.org/x/crypto v0.17.0 // indirect
19-
golang.org/x/text v0.14.0 // indirect
18+
golang.org/x/text v0.35.0 // indirect
2019
gopkg.in/yaml.v3 v3.0.1 // indirect
2120
)

go.sum

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE=
66
github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8=
77
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
88
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
9-
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
10-
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
11-
github.com/jackc/pgx/v5 v5.5.4 h1:Xp2aQS8uXButQdnCMWNmvx6UysWQQC+u1EoizjguY+8=
12-
github.com/jackc/pgx/v5 v5.5.4/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A=
13-
github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
14-
github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
9+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
10+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
11+
github.com/jackc/pgx/v5 v5.9.1 h1:uwrxJXBnx76nyISkhr33kQLlUqjv7et7b9FjCen/tdc=
12+
github.com/jackc/pgx/v5 v5.9.1/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4=
13+
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
14+
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
1515
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
1616
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
1717
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -23,14 +23,12 @@ github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99
2323
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
2424
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
2525
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
26-
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
27-
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
28-
golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
29-
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
30-
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
31-
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
32-
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
33-
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
26+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
27+
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
28+
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
29+
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
30+
golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
31+
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
3432
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
3533
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
3634
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=

0 commit comments

Comments
 (0)