Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
216 changes: 153 additions & 63 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,24 @@ aliases:
SPRING_VERSION: 5.2.0.RELEASE
SPRING_DATA_VERSION: 2.2.0.RELEASE
MICROMETER_VERSION: 1.3.2
RQUEUE_REACTIVE_ENABLED: "false"

environment_v0: &environment_v0
environment:
SPRING_BOOT_VERSION: 2.0.6.RELEASE
SPRING_VERSION: 5.0.10.RELEASE
SPRING_DATA_VERSION: 2.0.6.RELEASE
MICROMETER_VERSION: 1.1.0
RQUEUE_REACTIVE_ENABLED: "false"

reactive_environment: &reactive_environment
environment:
SPRING_BOOT_VERSION: 2.2.0.RELEASE
SPRING_VERSION: 5.2.0.RELEASE
SPRING_DATA_VERSION: 2.2.0.RELEASE
MICROMETER_VERSION: 1.3.2
RQUEUE_REACTIVE_ENABLED: "true"


persist_to_workspace: &persist_to_workspace
persist_to_workspace:
Expand Down Expand Up @@ -52,9 +70,6 @@ aliases:
sleep 30
redis-cli --cluster create 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 --cluster-replicas 1 --cluster-yes

default: &default
executor: rqueue-executor
<<: *environment

copy_logs: &copy_logs
run:
Expand Down Expand Up @@ -87,6 +102,18 @@ aliases:
path: test-results


default: &default
executor: rqueue-executor
<<: *environment

default_v0: &default_vo
executor: rqueue-executor
<<: *environment_v0

reactive: &reactive
executor: rqueue-executor
<<: *reactive_environment

executors:
rqueue-executor:
machine:
Expand All @@ -103,86 +130,129 @@ executors:
USER_NAME: rqueue
REDIS_RUNNING: "true"

build_steps: &build_steps
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-

- run: gradle dependencies
- save_cache:
paths:
- ~/.gradle
key: v1-dependencies-{{ checksum "build.gradle" }}
- run: ./gradlew compileJava
- run: ./gradlew compileTestJava
- *persist_to_workspace

unit_test_steps: &unit_test_steps
steps:
- *attach_workspace
- run: ./gradlew codeCoverageReport -DincludeTags=unit
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results

producer_test_steps: &producer_test_steps
steps:
- *attach_workspace
- *redis_dep
- run: ./gradlew codeCoverageReport -DincludeTags=producerOnly
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results

integration_test_steps: &integration_test_steps
steps:
- *attach_workspace
- *redis_dep
- run: ./gradlew codeCoverageReport -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results

redis_custer_test_steps: &redis_cluster_test_steps
steps:
- *attach_workspace
- *redis_dep
- *redis_cluster_setup
- run: ./gradlew codeCoverageReport -DincludeTags=redisCluster
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results

report_code_coverage_steps: &report_code_coverage_steps
steps:
- *attach_workspace
- run: ./gradlew coveralls
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results

jobs:
build:
<<: *default
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-

- run: gradle dependencies
- save_cache:
paths:
- ~/.gradle
key: v1-dependencies-{{ checksum "build.gradle" }}
- run: ./gradlew compileJava
- run: ./gradlew compileTestJava
- *persist_to_workspace
<<: *build_steps

build_v0:
<<: *default_vo
<<: *build_steps

unit_test:
<<: *default
steps:
- *attach_workspace
- run: ./gradlew codeCoverageReport -DincludeTags=unit
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results
<<: *unit_test_steps

unit_test_v0:
<<: *default_vo
<<: *unit_test_steps

producer_only_test:
<<: *default
steps:
- *attach_workspace
- *redis_dep
- run: ./gradlew codeCoverageReport -DincludeTags=producerOnly
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results
<<: *producer_test_steps

producer_only_test_v0:
<<: *default_vo
<<: *producer_test_steps

integration_test:
<<: *default
steps:
- *attach_workspace
- *redis_dep
- run: ./gradlew codeCoverageReport -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results
<<: *integration_test_steps

reactive_integration_test:
<<: *reactive
<<: *integration_test_steps

integration_test_v0:
<<: *default_vo
<<: *integration_test_steps

redis_custer_test:
<<: *default
steps:
- *attach_workspace
- *redis_dep
- *redis_cluster_setup
- run: ./gradlew codeCoverageReport -DincludeTags=redisCluster
- *persist_to_workspace
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results
<<: *redis_cluster_test_steps

redis_custer_test_v0:
<<: *default_vo
<<: *redis_cluster_test_steps

report_code_coverage:
<<: *default
steps:
- *attach_workspace
- run: ./gradlew coveralls
- *copy_logs
- *copy_test_results
- *store_logs
- *store_test_results
<<: *report_code_coverage_steps

report_code_coverage_v0:
<<: *default_vo
<<: *report_code_coverage_steps

workflows:
main:
Expand All @@ -197,9 +267,29 @@ workflows:
- integration_test:
requires:
- producer_only_test
- redis_custer_test:
- reactive_integration_test:
requires:
- integration_test
- redis_custer_test:
requires:
- reactive_integration_test
- report_code_coverage:
requires:
- redis_custer_test
main_v0:
jobs:
- build_v0
- unit_test_v0:
requires:
- build_v0
- producer_only_test_v0:
requires:
- unit_test_v0
- integration_test_v0:
requires:
- producer_only_test_v0
- redis_custer_test_v0:
requires:
- integration_test_v0


16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
# [Rqueue] New and Notable Changes

## [2.6.1] - 1-Marc-2021
## [2.7.0] - TBD

### Fixes

* Spring Boot App could not start due to class not found error **Boot 2.0**
* Utility UI message move not working due to invalid data type

### Added

* Support for Reactive Redis and Spring Webflux
* Delete message metadata when `rqueue.message.durability.in-terminal-state` is less than equal to
zero
* Delete job detail when `rqueue.job.durability.in-terminal-state` is less tha equal to zero

## [2.6.1] - 1-Mar-2021

### Fixes

Expand Down
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ services code is in Spring.
* **Long execution job**: Long running jobs can check in periodically.
* **Middleware**: Add one or more middleware, middlewares are called before listener method.
* **Message Multicasting**: Call multiple message listeners on very message
* **Reactive Programming**: Supports reactive Redis and spring webflux

## Getting Started

Expand Down Expand Up @@ -244,9 +245,18 @@ PR/[issue](https://github.com/sonus21/rqueue/issues/new?template=i-m-using-rqueu
## Contribution

You are most welcome for any pull requests for any feature/bug/enhancement. You would need Java8 and
gradle to start with.
gradle to start with. In root `build.gradle` file comment out spring related versions, or set
environment variables for Spring versions.

**Please format your code with Google Java formatter.**

```bash
// springBootVersion = '2.2.0.RELEASE'
// springVersion = '5.2.0.RELEASE'
// springDataVersion = '2.2.0.RELEASE'
// microMeterVersion = '1.3.2'
```

## Links

* Documentation:
Expand All @@ -260,6 +270,7 @@ gradle to start with.
* [https://repo1.maven.org/maven2/com/github/sonus21/rqueue-spring-boot-starter](https://repo1.maven.org/maven2/com/github/sonus21/rqueue-spring-boot-starter)

* StackOverflow: [https://stackoverflow.com/tags/rqueue](https://stackoverflow.com/tags/rqueue)
* Discord: https://discord.gg/2hgQZXS2
* Project
Progress: [https://github.com/sonus21/rqueue/projects/3](https://github.com/sonus21/rqueue/projects/3)

Expand Down
12 changes: 6 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ ext {
springDataVersion = System.getenv("SPRING_DATA_VERSION")
microMeterVersion = System.getenv("MICROMETER_VERSION")

springBootVersion = '2.2.0.RELEASE'
springVersion = '5.2.0.RELEASE'
springDataVersion = '2.2.0.RELEASE'
microMeterVersion = '1.3.2'
// springBootVersion = '2.2.0.RELEASE'
// springVersion = '5.2.0.RELEASE'
// springDataVersion = '2.2.0.RELEASE'
// microMeterVersion = '1.3.2'

// logging dependencies
lombokVersion = '1.18.10'
Expand All @@ -56,7 +56,7 @@ ext {
pebbleVersion = '3.1.5'

// database
lettuceVersion = '5.2.0.RELEASE'
lettuceVersion = '5.0.2.RELEASE'
javaxAnnotationVersion = '1.3.2'
jpaVersion = '2.2'
hibernateVersion = '5.4.9.Final'
Expand All @@ -71,7 +71,7 @@ ext {

subprojects {
group = 'com.github.sonus21'
version = '2.6.1-RELEASE'
version = '2.7.0-RELEASE'

dependencies {
// https://mvnrepository.com/artifact/org.springframework/spring-messaging
Expand Down
Loading