Compare commits

...

13 Commits

Author SHA1 Message Date
Jon Chambers
52cac449aa [maven-release-plugin] prepare for next development iteration
Some checks failed
Service CI / build (macos-latest) (push) Has been cancelled
Service CI / build (ubuntu-latest) (push) Has been cancelled
2024-10-21 11:08:34 -04:00
Jon Chambers
7515aa3653 [maven-release-plugin] prepare release 0.9.1
Some checks failed
Service CI / build (macos-latest) (push) Has been cancelled
Service CI / build (ubuntu-latest) (push) Has been cancelled
2024-10-21 11:08:31 -04:00
Chris Eager
1058eb0d03 Throw EmbeddedRedisException if server fails to start 2024-10-18 15:45:48 -05:00
Jon Chambers
596e1e4f55 Update to commons-io 2.17.0 2024-10-07 12:27:56 -04:00
Jon Chambers
ce50da9193 Update version in dependency snippet in README 2024-03-29 11:49:45 -04:00
Jon Chambers
d766a33570 [maven-release-plugin] prepare for next development iteration 2024-03-29 11:46:32 -04:00
Jon Chambers
9ebccb7ad8 [maven-release-plugin] prepare release 0.9.0
Some checks failed
Service CI / build (ubuntu-latest) (push) Has been cancelled
Service CI / build (macos-latest) (push) Has been cancelled
2024-03-29 11:46:30 -04:00
Chris Eager
8145f151d6 Update Maven plugins 2024-03-26 15:00:42 -05:00
Chris Eager
4e0f1416c3 Update actions/checkout and actions/setup-java to 4.x 2024-02-29 11:45:02 -06:00
Chris Eager
48820c03a4 Update README.md for 0.9.0 2024-02-27 09:51:29 -06:00
Chris Eager
06b2938e6b Update binaries to Redis 7.0.15 2024-02-27 09:51:29 -06:00
Chris Eager
2beaab3fab Update various dependencies 2024-02-27 09:51:29 -06:00
Chris Eager
e22d710cec Update next release to 0.9.0 2024-02-27 09:51:29 -06:00
17 changed files with 32 additions and 27 deletions

View File

@ -12,9 +12,9 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up JDK 11
uses: actions/setup-java@v2
uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
with:
java-version: 11
distribution: 'temurin'

View File

@ -5,7 +5,7 @@ Redis embedded server for Java integration testing
Fork Notes
==============
This repository is a fork of https://github.com/ozimov/embedded-redis, which is in turn a fork of https://github.com/kstyrc/embedded-redis. We've updated the embedded Redis binaries to version 6.2.7 so we can write tests that use recent Redis features without imposing dependencies that are not well-encapsulated by a single Maven/Gradle build.
This repository is a fork of https://github.com/ozimov/embedded-redis, which is in turn a fork of https://github.com/kstyrc/embedded-redis. We've updated the embedded Redis binaries to version 7.0.15 so we can write tests that use recent Redis features without imposing dependencies that are not well-encapsulated by a single Maven/Gradle build.
Maven dependency
==============
@ -15,7 +15,7 @@ Maven Central:
<dependency>
<groupId>org.signal</groupId>
<artifactId>embedded-redis</artifactId>
<version>0.8.3</version>
<version>0.9.0</version>
</dependency>
```
@ -142,10 +142,10 @@ Redis version
By default, RedisServer runs an OS-specific executable enclosed in in the `embedded-redis` jar. The jar includes:
- Redis 6.2.7 for Linux/Unix (i386, x86_64 and arm64)
- Redis 6.2.7 for macOS (x86_64 and arm64e AKA Apple Silicon)
- Redis 7.0.15 for Linux/Unix (i386, x86_64 and arm64)
- Redis 7.0.15 for macOS (x86_64 and arm64e AKA Apple Silicon)
The enclosed binaries are built from source from the [`6.2.7` tag](https://github.com/redis/redis/releases/tag/6.2.7) in the official Redis repository. The Linux and Darwin/macOS binaries are statically-linked amd64 and x86 executables built using the [build-server-binaries.sh](src/main/docker/build-server-binaries.sh) script included in this repository at `/src/main/docker`. Windows binaries are not included because Windows is not officially supported by Redis.
The enclosed binaries are built from source from the [`7.0.15` tag](https://github.com/redis/redis/releases/tag/7.0.15) in the official Redis repository. The Linux and Darwin/macOS binaries are statically-linked amd64 and x86 executables built using the [build-server-binaries.sh](src/main/docker/build-server-binaries.sh) script included in this repository at `/src/main/docker`. Windows binaries are not included because Windows is not officially supported by Redis.
Note: the `build-server-binaries.sh` script attempts to build all of the above noted OS and architectures, which means that it expects the local Docker daemon to support all of them. Docker Desktop on macOS and Windows supports multi-arch builds out of the box; Docker on Linux may require [additional configuration](https://docs.docker.com/buildx/working-with-buildx/).
@ -184,6 +184,11 @@ Contributors
Changelog
==============
### 0.9.0
* Updated to Redis 7.0.15
* Updated Guava to 33
* Updated JUnit to 4.13.2
### 0.8.3
* Updated to Redis 6.2.7
* Statically link Linux binaries with OpenSSL instead of LibreSSL to avoid `openssl.cnf` incompatibilities

24
pom.xml
View File

@ -4,7 +4,7 @@
<groupId>org.signal</groupId>
<artifactId>embedded-redis</artifactId>
<packaging>jar</packaging>
<version>0.8.4-SNAPSHOT</version>
<version>0.9.2-SNAPSHOT</version>
<name>embedded-redis</name>
<description>Redis embedded server for Java integration testing.</description>
<url>https://github.com/signalapp/embedded-redis</url>
@ -21,7 +21,7 @@
<url>https://github.com/signalapp/embedded-redis</url>
<connection>scm:git:https://github.com/signalapp/embedded-redis.git</connection>
<developerConnection>scm:git:git@github.com:signalapp/embedded-redis.git</developerConnection>
<tag>HEAD</tag>
<tag>0.9.1</tag>
</scm>
<developers>
@ -39,13 +39,13 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
<version>33.0.0-jre</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
<version>2.17.0</version>
</dependency>
<!-- TEST DEPENDENCIES -->
@ -65,7 +65,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
@ -89,13 +89,13 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<version>3.2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<version>3.13.0</version>
<configuration>
<source>8</source>
<target>8</target>
@ -105,7 +105,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.0</version>
<version>3.3.0</version>
<executions>
<execution>
<id>attach-sources</id>
@ -118,7 +118,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.3</version>
<configuration>
<source>8</source>
</configuration>
@ -134,7 +134,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<version>3.2.2</version>
<executions>
<execution>
<id>sign-artifacts</id>
@ -159,7 +159,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<version>3.3.1</version>
<executions>
<execution>
<id>copy-test-certs</id>
@ -180,7 +180,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<version>3.2.0</version>
<executions>
<execution>
<id>generate-test-certificates</id>

View File

@ -1,4 +1,4 @@
ARG ALPINE_VERSION=3.16
ARG ALPINE_VERSION=3.19.1
FROM alpine:${ALPINE_VERSION}
RUN apk add --no-cache gcc musl-dev openssl-dev openssl-libs-static make pkgconfig linux-headers

View File

@ -2,7 +2,7 @@
set -e
REDIS_VERSION=6.2.7
REDIS_VERSION=7.0.15
REDIS_TARBALL="redis-${REDIS_VERSION}.tar.gz"
REDIS_URL="https://download.redis.io/releases/${REDIS_TARBALL}"

View File

@ -63,16 +63,16 @@ abstract class AbstractRedisInstance implements Redis {
private void awaitRedisServerReady() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(redisProcess.getInputStream()));
try {
StringBuffer outputStringBuffer = new StringBuffer();
StringBuilder outputStringBuilder = new StringBuilder();
String outputLine;
do {
outputLine = reader.readLine();
if (outputLine == null) {
//Something goes wrong. Stream is ended before server was activated.
throw new RuntimeException("Can't start redis server. Check logs for details. Redis process log: " + outputStringBuffer.toString());
// Something is wrong. Stream ended before server was activated.
throw new EmbeddedRedisException("Redis server failed to become ready. Check logs for details. Redis process log: " + outputStringBuilder.toString());
} else {
outputStringBuffer.append("\n");
outputStringBuffer.append(outputLine);
outputStringBuilder.append("\n");
outputStringBuilder.append(outputLine);
}
} while (!outputLine.matches(redisReadyPattern()));
} finally {

View File

@ -15,7 +15,7 @@ public class RedisExecProvider {
private final Map<OsArchitecture, String> executables = Maps.newHashMap();
public static final String redisVersion = "6.2.7";
public static final String redisVersion = "7.0.15";
public static RedisExecProvider defaultProvider() {
return new RedisExecProvider();

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.