feat(outbox): transactional outbox helper — Go core (ADR-0029) #19
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |