Skip to content

Commit 82fb0dd

Browse files
committed
Add Apache Pulsar module build and vet in CI workflow
1 parent 76342ce commit 82fb0dd

6 files changed

Lines changed: 1314 additions & 6 deletions

File tree

.github/workflows/ci.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ jobs:
5454
run: |
5555
(cd azureservicebus && go build ./... && go vet ./... && go test -race -count=1 ./...)
5656
57+
- name: Build & vet the Apache Pulsar module
58+
# The pure-Go pulsar-client-go (no CGo, no libpulsar) sits behind this module's Go
59+
# 1.23 floor, so build/test it only on matrix entries that satisfy it (its unit tests
60+
# are network-free — a fake client).
61+
if: ${{ matrix.go == '1.23' || matrix.go == '1.24' }}
62+
run: |
63+
(cd pulsar && go build ./... && go vet ./... && go test -race -count=1 ./...)
64+
5765
lint:
5866
name: Static analysis (staticcheck)
5967
runs-on: ubuntu-latest
@@ -72,6 +80,7 @@ jobs:
7280
(cd amqp && staticcheck ./...)
7381
(cd sqs && staticcheck ./...)
7482
(cd azureservicebus && staticcheck ./...)
83+
(cd pulsar && staticcheck ./...)
7584
7685
coverage:
7786
name: Coverage gate (>=90%)

.github/workflows/release.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ name: Release
33
on:
44
push:
55
tags:
6-
- "v*" # core module
7-
- "redis/v*" # github.com/babelqueue/babelqueue-go/redis
8-
- "amqp/v*" # github.com/babelqueue/babelqueue-go/amqp
6+
- "v*" # core module
7+
- "redis/v*" # github.com/babelqueue/babelqueue-go/redis
8+
- "amqp/v*" # github.com/babelqueue/babelqueue-go/amqp
9+
- "pulsar/v*" # github.com/babelqueue/babelqueue-go/pulsar
910

1011
permissions:
1112
contents: write
@@ -34,8 +35,9 @@ jobs:
3435
run: |
3536
TAG="${GITHUB_REF_NAME}"
3637
case "$TAG" in
37-
redis/*) MODULE="github.com/babelqueue/babelqueue-go/redis"; VER="${TAG#redis/}" ;;
38-
amqp/*) MODULE="github.com/babelqueue/babelqueue-go/amqp"; VER="${TAG#amqp/}" ;;
39-
*) MODULE="github.com/babelqueue/babelqueue-go"; VER="$TAG" ;;
38+
redis/*) MODULE="github.com/babelqueue/babelqueue-go/redis"; VER="${TAG#redis/}" ;;
39+
amqp/*) MODULE="github.com/babelqueue/babelqueue-go/amqp"; VER="${TAG#amqp/}" ;;
40+
pulsar/*) MODULE="github.com/babelqueue/babelqueue-go/pulsar"; VER="${TAG#pulsar/}" ;;
41+
*) MODULE="github.com/babelqueue/babelqueue-go"; VER="$TAG" ;;
4042
esac
4143
GOPROXY=https://proxy.golang.org go list -m "${MODULE}@${VER}" || true

pulsar/go.mod

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
module github.com/babelqueue/babelqueue-go/pulsar
2+
3+
go 1.23.0
4+
5+
require (
6+
github.com/apache/pulsar-client-go v0.14.0
7+
github.com/babelqueue/babelqueue-go v1.0.0
8+
)
9+
10+
require (
11+
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
12+
github.com/99designs/keyring v1.2.1 // indirect
13+
github.com/AthenZ/athenz v1.10.39 // indirect
14+
github.com/DataDog/zstd v1.5.0 // indirect
15+
github.com/ardielle/ardielle-go v1.5.2 // indirect
16+
github.com/beorn7/perks v1.0.1 // indirect
17+
github.com/bits-and-blooms/bitset v1.4.0 // indirect
18+
github.com/cespare/xxhash/v2 v2.2.0 // indirect
19+
github.com/danieljoos/wincred v1.1.2 // indirect
20+
github.com/dvsekhvalnov/jose2go v1.6.0 // indirect
21+
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
22+
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
23+
github.com/golang/protobuf v1.5.4 // indirect
24+
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
25+
github.com/hamba/avro/v2 v2.22.2-0.20240625062549-66aad10411d9 // indirect
26+
github.com/hashicorp/errwrap v1.1.0 // indirect
27+
github.com/hashicorp/go-multierror v1.1.1 // indirect
28+
github.com/json-iterator/go v1.1.12 // indirect
29+
github.com/klauspost/compress v1.17.9 // indirect
30+
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
31+
github.com/mitchellh/mapstructure v1.5.0 // indirect
32+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
33+
github.com/modern-go/reflect2 v1.0.2 // indirect
34+
github.com/mtibben/percent v0.2.1 // indirect
35+
github.com/pierrec/lz4 v2.0.5+incompatible // indirect
36+
github.com/pkg/errors v0.9.1 // indirect
37+
github.com/prometheus/client_golang v1.14.0 // indirect
38+
github.com/prometheus/client_model v0.3.0 // indirect
39+
github.com/prometheus/common v0.37.0 // indirect
40+
github.com/prometheus/procfs v0.8.0 // indirect
41+
github.com/sirupsen/logrus v1.9.3 // indirect
42+
github.com/spaolacci/murmur3 v1.1.0 // indirect
43+
go.uber.org/atomic v1.7.0 // indirect
44+
golang.org/x/mod v0.18.0 // indirect
45+
golang.org/x/net v0.23.0 // indirect
46+
golang.org/x/oauth2 v0.11.0 // indirect
47+
golang.org/x/sys v0.19.0 // indirect
48+
golang.org/x/term v0.19.0 // indirect
49+
google.golang.org/appengine v1.6.7 // indirect
50+
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
51+
google.golang.org/protobuf v1.33.0 // indirect
52+
)
53+
54+
replace github.com/babelqueue/babelqueue-go => ../

0 commit comments

Comments
 (0)