Skip to content

Commit

Permalink
Merge branch 'refs/heads/master' into release
Browse files Browse the repository at this point in the history
# Conflicts:
#	README.md
#	sqs/sqs.go
  • Loading branch information
roblaszczak committed Sep 5, 2024
2 parents af4e21e + f820b25 commit 9a4cfe8
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 12 deletions.
10 changes: 10 additions & 0 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: master
on:
push:
branches:
- master
jobs:
ci:
uses: ThreeDotsLabs/watermill/.github/workflows/tests.yml@master
with:
stress-tests: true
8 changes: 8 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: pr
on:
push:
branches-ignore:
- master
jobs:
ci:
uses: ThreeDotsLabs/watermill/.github/workflows/tests.yml@master
43 changes: 43 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
include: .env

up:
docker compose up -d

test:
go test ./...

test_v:
go test -v ./...

test_short:
go test ./... -short

test_race:
go test ./... -short -race

test_stress:
go test -tags=stress -timeout=45m ./...

test_reconnect:
go test -tags=reconnect ./...

test_codecov: up wait
go test -coverprofile=coverage.out -covermode=atomic ./...

wait:
go run github.com/ThreeDotsLabs/wait-for@latest localhost:4100

build:
go build ./...

fmt:
go fmt ./...
goimports -l -w .

update_watermill:
go get -u github.com/ThreeDotsLabs/watermill
go mod tidy

sed -i '\|go 1\.|d' go.mod
go mod edit -fmt

41 changes: 29 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,39 @@
Watermill - Amazon SNS/SQS PubSub Adapter
# Watermill Amazon SQS/SNS Pub/Sub
<img align="right" width="200" src="https://threedots.tech/watermill-io/watermill-logo.png">

**This package is still under development and NOT ready for production use.**
[![CI Status](https://github.com/ThreeDotsLabs/watermill-amazonsqs/actions/workflows/master.yml/badge.svg)](https://github.com/ThreeDotsLabs/watermill-amazonsqs/actions/workflows/master.yml)
[![Go Report Card](https://goreportcard.com/badge/github.com/ThreeDotsLabs/watermill-amazonsqs)](https://goreportcard.com/report/github.com/ThreeDotsLabs/watermill-amazonsqs)

#### Notes for SQS
This is Pub/Sub for the [Watermill](https://watermill.io/) project.
It uses the [Amazon SQS](https://aws.amazon.com/sqs/) and [Amazon SNS](https://aws.amazon.com/sns/) services.

A new SQS Publisher will create the queue if it does not exist.
See [DEVELOPMENT.md](./DEVELOPMENT.md) for more information about running and testing.

#### Notes for SNS
Watermill is a Go library for working efficiently with message streams. It is intended
for building event driven applications, enabling event sourcing, RPC over messages,
sagas and basically whatever else comes to your mind. You can use conventional pub/sub
implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog if that fits your use case.

A new SQS Publisher will create the topic if it does not exist. Be aware that without any subsciptions the messages published to that newly created topic would be lost. Make sure you always create the topic and subscriptions before you start an SNS publisher.
All Pub/Sub implementations can be found at [https://watermill.io/pubsubs/](https://watermill.io/pubsubs/).

#### Unit Tests
Documentation: https://watermill.io/

You can run the unit tests by simply running the command: `go test -cover -race ./...`
Getting started guide: https://watermill.io/docs/getting-started/

#### Development and Testing
Issues: https://github.com/ThreeDotsLabs/watermill/issues

To try the in test mode (using [localstack](https://hub.docker.com/r/localstack/localstack))
- start docker using: `docker-compose up -d`
## Contributing

Now you can run the application: `go run cmd/main.go`
All contributions are very much welcome. If you'd like to help with Watermill development,
please see [open issues](https://github.com/ThreeDotsLabs/watermill/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+)
and submit your pull request via GitHub.

## Support

If you didn't find the answer to your question in [the documentation](https://watermill.io/), feel free to ask us directly!

Please join us on the `#watermill` channel on the [Three Dots Labs Discord](https://discord.gg/QV6VFg4YQE).

## License

[MIT License](./LICENSE)

0 comments on commit 9a4cfe8

Please sign in to comment.