Skip to content

Commit

Permalink
Merge branch 'testcontainers:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
subshell GmbH – Team Korora authored Aug 2, 2021
2 parents 4501877 + b5331f4 commit 993c82b
Show file tree
Hide file tree
Showing 20 changed files with 80 additions and 239 deletions.
138 changes: 0 additions & 138 deletions .github/workflows/combine-prs.yml

This file was deleted.

20 changes: 12 additions & 8 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
# Release process

Testcontainers' release process is automated as a Travis deployment. This describes the basic steps for a project member to perform a release.
Testcontainers' release process is semi-automated through GitHub Actions. This describes the basic steps for a project member to perform a release.

## Steps

1. Ensure that the master branch is building and that tests are passing.
1. Ensure that the [`CHANGELOG`](CHANGELOG.md) file is up to date and includes all merged features.
1. Create a new release on GitHub. **The tag name is used as the version**, so please keep the tag name plain (e.g. 1.2.3).
1. Check that the Travis build passed.
1. Release of published artifacts to Bintray is fully automated.
1. After successful publication to Bintray, the artifacts must be synced to Maven Central.
1. The release triggers a GitHub Action workflow, but it gets mostly build using results from the Gradle remote-cache. Therefore, this should be fairly fast.
1. Login to Sonatype to check the staging repository.
1. Get the staging url after GitHub Action workflow finished.
1. Manually test the release with the staging url as maven repository url (e.g. critical issues and features).
1. Run [TinSalver](https://github.com/bsideup/tinsalver) from GitHub using `npx` to sign artifact (see [TinsSalver README](https://github.com/bsideup/tinsalver/blob/main/README.md)).
1. Close the release in Sonatype. This will evaluate the release based on given Sontaype rules and afterwards automatically sync to Maven Central.
1. Handcraft and polish some of the release notes (e.g. substitute combinded dependency PRs and highlight certain features).
1. When available through Maven Central, poke [Richard North](https://github.com/rnorth) to announce the release on Twitter!

## Internal details

* The process is done with Gradle and Bintray.
* Bintray will automatically promote the release to Maven Central.
* Travis secrets hold Bintray username/passwords that are used for publishing.
* The process is done with GitHub Actions, TinSalver and Sonatype.
* Sonatype will automatically promote the staging release to Maven Central.
* Keybase needs to be installed on the developer machine.
* GPG key of signing developer needs to be uplodaed to the Ubuntu keyserver (or other server supported by Sonatype).
9 changes: 5 additions & 4 deletions core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ task jarFileTest(type: Test) {
testClassesDirs = sourceSets.jarFileTest.output.classesDirs
classpath = sourceSets.jarFileTest.runtimeClasspath

file(shadowJar.outputs.files.singleFile) // input for correct caching
systemProperty("jarFile", shadowJar.outputs.files.singleFile)

dependsOn(shadowJar)
Expand Down Expand Up @@ -95,12 +96,12 @@ configurations.all {
}

dependencies {
baseline 'org.testcontainers:testcontainers:1.15.3', {
baseline 'org.testcontainers:testcontainers:1.16.0', {
exclude group: "*", module: "*"
}

api 'junit:junit:4.12'
api 'org.slf4j:slf4j-api:1.7.30'
api 'org.slf4j:slf4j-api:1.7.32'
compileOnly 'org.jetbrains:annotations:21.0.1'
testCompileClasspath 'org.jetbrains:annotations:21.0.1'
api 'org.apache.commons:commons-compress:1.20'
Expand Down Expand Up @@ -138,9 +139,9 @@ dependencies {
}

testImplementation 'org.apache.httpcomponents:httpclient:4.5.9'
testImplementation 'redis.clients:jedis:3.6.1'
testImplementation 'redis.clients:jedis:3.6.3'
testImplementation 'com.rabbitmq:amqp-client:5.12.0'
testImplementation 'org.mongodb:mongo-java-driver:3.12.7'
testImplementation 'org.mongodb:mongo-java-driver:3.12.9'

testImplementation ('org.mockito:mockito-core:3.11.2') {
exclude(module: 'hamcrest-core')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ public void setUp() {
case "org/testcontainers/dockerclient/UnixSocketClientProviderStrategy":
case "org/testcontainers/dockerclient/DockerClientProviderStrategy":
case "org/testcontainers/dockerclient/WindowsClientProviderStrategy":
case "org/testcontainers/utility/DynamicPollInterval":
Assume.assumeTrue(false);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ public class GenericContainer<SELF extends GenericContainer<SELF>>
@NonNull
private String networkMode;

@NonNull
@Nullable
private Network network;

@NonNull
Expand Down
4 changes: 2 additions & 2 deletions examples/linked-container/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ repositories {
jcenter()
}
dependencies {
compileOnly 'org.slf4j:slf4j-api:1.7.30'
compileOnly 'org.slf4j:slf4j-api:1.7.32'
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'org.json:json:20210307'
testImplementation 'org.postgresql:postgresql:42.2.22'
testImplementation 'org.postgresql:postgresql:42.2.23'
testImplementation 'ch.qos.logback:logback-classic:1.2.3'
testImplementation 'org.testcontainers:postgresql'
}
Expand Down
2 changes: 1 addition & 1 deletion examples/redis-backed-cache-testng/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ repositories {
}

dependencies {
compileOnly 'org.slf4j:slf4j-api:1.7.30'
compileOnly 'org.slf4j:slf4j-api:1.7.32'
implementation 'redis.clients:jedis:3.6.1'
implementation 'com.google.code.gson:gson:2.8.7'
implementation 'com.google.guava:guava:23.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/redis-backed-cache/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ repositories {
}

dependencies {
compileOnly 'org.slf4j:slf4j-api:1.7.30'
compileOnly 'org.slf4j:slf4j-api:1.7.32'
implementation 'redis.clients:jedis:3.6.1'
implementation 'com.google.code.gson:gson:2.8.7'
implementation 'com.google.guava:guava:23.0'
Expand Down
2 changes: 1 addition & 1 deletion examples/singleton-container/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dependencies {
implementation 'redis.clients:jedis:3.6.1'
implementation 'com.google.code.gson:gson:2.8.7'
implementation 'com.google.guava:guava:23.0'
compileOnly 'org.slf4j:slf4j-api:1.7.30'
compileOnly 'org.slf4j:slf4j-api:1.7.32'

testImplementation 'ch.qos.logback:logback-classic:1.2.3'
testImplementation 'org.testcontainers:testcontainers'
Expand Down
2 changes: 1 addition & 1 deletion examples/spring-boot-kotlin-redis/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
id("org.springframework.boot") version "2.5.2"
id("org.jetbrains.kotlin.jvm") version "1.5.10"
id("org.jetbrains.kotlin.plugin.spring") version "1.5.20"
id("org.jetbrains.kotlin.plugin.spring") version "1.5.21"
}

apply plugin: 'io.spring.dependency-management'
Expand Down
2 changes: 1 addition & 1 deletion modules/couchbase/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ description = "Testcontainers :: Couchbase"
dependencies {
api project(':testcontainers')

testImplementation 'com.couchbase.client:java-client:3.1.6'
testImplementation 'com.couchbase.client:java-client:3.2.0'
testImplementation 'org.awaitility:awaitility:4.1.0'
}
2 changes: 1 addition & 1 deletion modules/elasticsearch/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ description = "TestContainers :: elasticsearch"
dependencies {
api project(':testcontainers')
testImplementation "org.elasticsearch.client:elasticsearch-rest-client:7.13.0"
testImplementation "org.elasticsearch.client:transport:7.13.2"
testImplementation "org.elasticsearch.client:transport:7.13.4"
testImplementation 'org.rnorth.visible-assertions:visible-assertions:2.1.2'
}
2 changes: 1 addition & 1 deletion modules/jdbc-test/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ dependencies {

api 'org.apache.tomcat:tomcat-jdbc:10.0.7'
api 'org.vibur:vibur-dbcp:25.0'
api 'mysql:mysql-connector-java:8.0.25'
api 'mysql:mysql-connector-java:8.0.26'
}
4 changes: 2 additions & 2 deletions modules/junit-jupiter/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ dependencies {
testImplementation project(':mysql')
testImplementation project(':postgresql')
testImplementation 'com.zaxxer:HikariCP:4.0.3'
testImplementation 'redis.clients:jedis:3.6.1'
testImplementation 'redis.clients:jedis:3.6.3'
testImplementation 'org.apache.httpcomponents:httpclient:4.5.13'
testImplementation ('org.mockito:mockito-core:3.11.2') {
exclude(module: 'hamcrest-core')
Expand All @@ -16,7 +16,7 @@ dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.7.2'

testRuntimeOnly 'org.postgresql:postgresql:42.2.22'
testRuntimeOnly 'mysql:mysql-connector-java:8.0.25'
testRuntimeOnly 'mysql:mysql-connector-java:8.0.26'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.2'
}

Expand Down
Loading

0 comments on commit 993c82b

Please sign in to comment.