Skip to content

feat(outbox): transactional outbox helper — Go core (ADR-0029) #19

feat(outbox): transactional outbox helper — Go core (ADR-0029)

feat(outbox): transactional outbox helper — Go core (ADR-0029) #19

Workflow file for this run

name: Release
on:
push:
tags:
- "v*" # core module
- "redis/v*" # github.com/babelqueue/babelqueue-go/redis
- "amqp/v*" # github.com/babelqueue/babelqueue-go/amqp
- "sqs/v*" # github.com/babelqueue/babelqueue-go/sqs
- "azureservicebus/v*" # github.com/babelqueue/babelqueue-go/azureservicebus
- "pulsar/v*" # github.com/babelqueue/babelqueue-go/pulsar
- "kafka/v*" # github.com/babelqueue/babelqueue-go/kafka
- "artemis/v*" # github.com/babelqueue/babelqueue-go/artemis
- "asynq/v*" # github.com/babelqueue/babelqueue-go/asynq
- "machinery/v*" # github.com/babelqueue/babelqueue-go/machinery
- "otel/v*" # github.com/babelqueue/babelqueue-go/otel
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "stable"
- name: Test core
run: go test -race -count=1 ./...
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
# Go modules are served by the module proxy on tag; this nudges it to index
# the tagged module (core or a transport submodule) so `go get` resolves it.
- name: Warm the Go module proxy
run: |
TAG="${GITHUB_REF_NAME}"
case "$TAG" in
redis/*) MODULE="github.com/babelqueue/babelqueue-go/redis"; VER="${TAG#redis/}" ;;
amqp/*) MODULE="github.com/babelqueue/babelqueue-go/amqp"; VER="${TAG#amqp/}" ;;
sqs/*) MODULE="github.com/babelqueue/babelqueue-go/sqs"; VER="${TAG#sqs/}" ;;
azureservicebus/*) MODULE="github.com/babelqueue/babelqueue-go/azureservicebus"; VER="${TAG#azureservicebus/}" ;;
pulsar/*) MODULE="github.com/babelqueue/babelqueue-go/pulsar"; VER="${TAG#pulsar/}" ;;
kafka/*) MODULE="github.com/babelqueue/babelqueue-go/kafka"; VER="${TAG#kafka/}" ;;
artemis/*) MODULE="github.com/babelqueue/babelqueue-go/artemis"; VER="${TAG#artemis/}" ;;
asynq/*) MODULE="github.com/babelqueue/babelqueue-go/asynq"; VER="${TAG#asynq/}" ;;
machinery/*) MODULE="github.com/babelqueue/babelqueue-go/machinery"; VER="${TAG#machinery/}" ;;
*) MODULE="github.com/babelqueue/babelqueue-go"; VER="$TAG" ;;
esac
GOPROXY=https://proxy.golang.org go list -m "${MODULE}@${VER}" || true