Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
964c6e6
Fix docker credentials output (#9544)
eddumelendez Nov 19, 2024
e3e7fdc
Update gradle/setup-gradle version to v4
eddumelendez Nov 19, 2024
c68f791
Update com.gradle.enterprise.gradle.plugin version to 3.18.2
eddumelendez Nov 19, 2024
1facaf0
Remove extra call to docker credentials (#9545)
eddumelendez Nov 20, 2024
39ff5f8
[localstack] Add testcontainer marker labels to additional localstack…
dfangl Nov 20, 2024
d3dcd34
[create-pull-request] automated change (#9548)
github-actions[bot] Nov 20, 2024
f7267c7
[create-pull-request] automated change (#9549)
github-actions[bot] Nov 20, 2024
15a150a
Remove fixed port from compose file
eddumelendez Nov 25, 2024
87bf5bf
Set `RABBITMQ_DEFAULT_USER` env var with `withAdminUser` (#9571)
eddumelendez Nov 26, 2024
de3d2d3
Improve Docker Compose docs (#9461)
etrandafir93 Nov 26, 2024
37b6f87
Fix typo in SolrContainer (#9572)
dajudge Nov 27, 2024
8ca024d
Add netlify badge
eddumelendez Nov 28, 2024
7a9d09b
Update shadow gradle plugin coordinates (#9577)
patrick-dedication Nov 30, 2024
a50544f
Polish BigtableEmulatorContainer test (#9599)
eddumelendez Dec 3, 2024
1eeeba8
Polish AbstractPulsar test (#9600)
eddumelendez Dec 3, 2024
d21ea3c
Test against multiple Java versions (#8988)
eddumelendez Dec 5, 2024
5628192
Declare Java action in windows workflow (#9604)
eddumelendez Dec 5, 2024
8ce2045
Update devcontainer to use Java 17
eddumelendez Dec 6, 2024
ee885f9
Drop references to vectorized/redpanda image (#9624)
eddumelendez Dec 10, 2024
16397b4
Use docker/setup-docker-action (#9625)
eddumelendez Dec 10, 2024
037b03c
Polish ActiveMQContainerTest
eddumelendez Dec 10, 2024
426e336
Move ollama port to a constant and provide new `getPort` method (#9623)
edeandrea Dec 10, 2024
172dc4a
Update docker-java version to 3.4.1 (#9627)
eddumelendez Dec 11, 2024
165c724
Remove specific Java version for testing in gradle files (#9626)
eddumelendez Dec 11, 2024
5982370
Added Dash0 as Adoptor (#9630)
CodingFabian Dec 16, 2024
7250955
Use docker socket from docker/setup-docker-action
eddumelendez Dec 16, 2024
a74ca4d
Fix build
eddumelendez Dec 16, 2024
f7973aa
Fix rootless build
eddumelendez Dec 16, 2024
2707f31
Add AzuriteContainer to Azure module (#9661)
nagyesta Jan 9, 2025
92a475d
Add Confluent Kafka examples using SASL/SCRAM auth
eddumelendez Jan 21, 2025
e1dc19f
Add AzureEventHubsContainer (#9665)
nagyesta Jan 27, 2025
e0dea62
Bump snakeyaml version to 2.3 to eliminate critical CVE-2022-1471 wit…
Jan 27, 2025
36f29b6
Merge branch 'main' into core-vulns
ZachChuba Jan 27, 2025
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
14 changes: 2 additions & 12 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.241.1/containers/java-8
{
"name": "Java 8",
"image": "mcr.microsoft.com/devcontainers/java:1-8-bullseye",
"name": "Java 17",
"image": "mcr.microsoft.com/devcontainers/java:0-17",

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current",
"java.configuration.runtimes": [{
"default": true,
"name": "JavaSE-1.8",
"path": "/usr/local/sdkman/candidates/java/current"
}]
},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"vscjava.vscode-java-pack"
Expand Down
7 changes: 7 additions & 0 deletions .github/actions/setup-build/action.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
name: Set up Build
description: Sets up Build
inputs:
java-version:
description: 'The Java version to set up'
required: true
default: '17'
runs:
using: "composite"
steps:
- uses: ./.github/actions/setup-java
with:
java-version: ${{ inputs.java-version }}
- name: Clear existing docker image cache
shell: bash
run: docker image prune -af
Expand Down
3 changes: 1 addition & 2 deletions .github/actions/setup-gradle/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@ runs:
using: "composite"
steps:
- name: Setup Gradle Build Action
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v4
with:
gradle-home-cache-includes: |
caches
notifications
jdks
gradle-home-cache-cleanup: true
7 changes: 6 additions & 1 deletion .github/actions/setup-java/action.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
name: Set up Java
description: Sets up Java version
inputs:
java-version:
description: 'The Java version to set up'
required: true
default: '17'
runs:
using: "composite"
steps:
- uses: actions/setup-java@v4
with:
java-version: '8'
java-version: ${{ inputs.java-version }}
distribution: temurin
2 changes: 1 addition & 1 deletion .github/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ branches:
# Required. Require branches to be up to date before merging.
strict: true
# Required. The list of status checks to require in order to merge into this branch
contexts: ["core", "check_docs_examples (:docs:examples:check)", "in-docker_test", "ci/circleci: minimal_core", "test"]
contexts: ["core (17)", "core (21)", "check_docs_examples (:docs:examples:check)", "in-docker_test", "ci/circleci: minimal_core", "test"]
# Required. Enforce all configured restrictions for administrators. Set to true to enforce required status checks for repository administrators. Set to null to disable.
enforce_admins: false
# Prevent merge commits from being pushed to matching branches
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-docker-wormhole.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,5 @@ jobs:
-v "$PWD:$PWD" \
-w "$PWD" \
-e AUTO_APPLY_GIT_HOOKS=false \
openjdk:8-jdk-alpine \
eclipse-temurin:17-jdk-alpine \
./gradlew --no-daemon --continue --scan testcontainers:test --tests '*GenericContainerRuleTest'
8 changes: 4 additions & 4 deletions .github/workflows/ci-rootless.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup rootless Docker
uses: ScribeMD/rootless-docker@0.2.2
- name: Remove Docket root socket
run: sudo rm -rf /var/run/docker.sock
uses: docker/setup-docker-action@v4
with:
rootless: true
- name: Setup Gradle Build Action
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v4
- name: Build with Gradle
run: ./gradlew --no-daemon --scan testcontainers:test --tests '*GenericContainerRuleTest'
- uses: ./.github/actions/setup-junit-report
2 changes: 2 additions & 0 deletions .github/workflows/ci-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
checks: write
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-build
- name: Build with Gradle
run: ./gradlew.bat cleanTest testcontainers:test --no-daemon --continue --scan --no-build-cache
- uses: ./.github/actions/setup-junit-report
Expand Down Expand Up @@ -82,6 +83,7 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }}
ref: ${{ github.event.client_payload.pull_request.head.ref }}
- uses: ./.github/actions/setup-build
- name: Build with Gradle
run: ./gradlew.bat cleanTest testcontainers:test --no-daemon --continue --scan --no-build-cache
- uses: ./.github/actions/setup-junit-report
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,14 @@ jobs:
runs-on: ubuntu-22.04
permissions:
checks: write
strategy:
matrix:
java: [ '17', '21' ]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-build
with:
java-version: ${{ matrix.java }}
- name: Build and test with Gradle
run: |
./gradlew :testcontainers:check --no-daemon --continue --scan
Expand Down Expand Up @@ -86,7 +91,7 @@ jobs:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-java
- name: Setup Gradle Build Action
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v4
- id: set-matrix
env:
# Since we override the tests executor,
Expand Down Expand Up @@ -121,7 +126,7 @@ jobs:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-java
- name: Setup Gradle Build Action
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v4
- id: set-matrix
working-directory: ./examples/
env:
Expand Down Expand Up @@ -158,7 +163,7 @@ jobs:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-java
- name: Setup Gradle Build Action
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v4
- id: set-matrix
env:
# Since we override the tests executor,
Expand Down
28 changes: 12 additions & 16 deletions .github/workflows/moby-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,35 +13,31 @@ jobs:
test_docker:
strategy:
matrix:
install-docker-type: ["STABLE", "ROOTLESS", "ROOTFUL"]
name: "Core tests using Docker ${{ matrix.install-docker-type }}"
include:
- { install-docker-type: "STABLE", channel: stable, rootless: false }
- { install-docker-type: "ROOTLESS", channel: stable, rootless: true }
- { install-docker-type: "ROOTFUL", channel: test, rootless: false }
name: "Core tests using Docker ${{ matrix.install-docker-type }} (channel ${{ matrix.channel }})"
runs-on: ubuntu-22.04
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-build

- name: Install Stable Docker
if: ${{ matrix.install-docker-type == 'STABLE' }}
run: curl https://get.docker.com

- name: Install Docker from the TEST channel
if: ${{ matrix.install-docker-type == 'ROOTFUL' }}
run: curl https://get.docker.com | CHANNEL=test sh

- name: Setup rootless Docker
if: ${{ matrix.install-docker-type == 'ROOTLESS' }}
uses: ScribeMD/rootless-docker@6bd157a512c2fafa4e0243a8aa87d964eb890886 # v0.2.2

- name: Remove Docker root socket
if: ${{ matrix.install-docker-type == 'ROOTLESS' }}
run: sudo rm -rf /var/run/docker.sock
id: setup_docker
uses: docker/setup-docker-action@v4
with:
channel: ${{ matrix.channel }}
rootless: ${{ matrix.rootless }}

- name: Check Docker version
run: docker version

- name: Build with Gradle
run: ./gradlew cleanTest --no-daemon --continue --scan -Dscan.tag.DOCKER_${{ matrix.install-docker-type }} testcontainers:test -Dorg.gradle.caching=false
env:
DOCKER_HOST: ${{steps.setup_docker.outputs.sock}}
- uses: ./.github/actions/setup-junit-report

- name: Notify to Slack on failures
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: docker image prune -af

- name: Setup Gradle Build Action
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v4

- name: Run Gradle Build
run: ./gradlew build --scan --no-daemon -i -x test
Expand Down
2 changes: 1 addition & 1 deletion .sdkmanrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=8.0.372-tem
java=17.0.12-tem
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.testcontainers/testcontainers/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.testcontainers/testcontainers)

[![Netlify Status](https://api.netlify.com/api/v1/badges/189f28a2-7faa-42ff-b03c-738142079cc9/deploy-status)](https://app.netlify.com/sites/testcontainers/deploys)

[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=33816473&machine=standardLinux32gb&devcontainer_path=.devcontainer%2Fdevcontainer.json&location=EastUs)

[![Revved up by Develocity](https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A)](https://ge.testcontainers.org/scans)
Expand Down
21 changes: 15 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ buildscript {

plugins {
id 'io.franzbecker.gradle-lombok' version '5.0.0'
id 'com.github.johnrengelman.shadow' version '8.1.1'
id 'com.gradleup.shadow' version '8.3.0'
id 'me.champeau.gradle.japicmp' version '0.4.3' apply false
id 'com.diffplug.spotless' version '6.13.0' apply false
id 'com.diffplug.spotless' version '6.22.0' apply false
}

apply from: "$rootDir/gradle/ci-support.gradle"
Expand All @@ -26,6 +26,7 @@ captainHook {
}

subprojects {
apply plugin: 'java'
apply plugin: 'java-library'
apply plugin: 'idea'
apply plugin: 'io.franzbecker.gradle-lombok'
Expand All @@ -35,9 +36,17 @@ subprojects {

group = "org.testcontainers"

sourceCompatibility = 1.8
targetCompatibility = 1.8
compileJava.options.encoding = 'UTF-8'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}

tasks.withType(JavaCompile) {
options.release.set(8)
options.encoding = 'UTF-8'
}

compileTestJava.options.encoding = 'UTF-8'
javadoc.options.encoding = 'UTF-8'

Expand Down Expand Up @@ -126,7 +135,7 @@ subprojects {
}

checkstyle {
toolVersion = "9.3"
toolVersion = "10.12.4"
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
}
}
12 changes: 6 additions & 6 deletions core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'com.gradleup.shadow'

description = "Testcontainers Core"

Expand Down Expand Up @@ -63,8 +63,8 @@ tasks.japicmp {
configurations.all {
resolutionStrategy {
// use lower Jackson version
force 'com.fasterxml.jackson.core:jackson-databind:2.8.8'
force 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.8.8'
force 'com.fasterxml.jackson.core:jackson-databind:2.18.2'
force 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2'
}
}

Expand All @@ -88,8 +88,8 @@ dependencies {

shaded 'org.awaitility:awaitility:4.2.0'

api platform('com.github.docker-java:docker-java-bom:3.4.0')
shaded platform('com.github.docker-java:docker-java-bom:3.4.0')
api platform('com.github.docker-java:docker-java-bom:3.4.1')
shaded platform('com.github.docker-java:docker-java-bom:3.4.1')

api "com.github.docker-java:docker-java-api"

Expand All @@ -100,7 +100,7 @@ dependencies {
api 'com.github.docker-java:docker-java-transport-zerodep'

shaded 'com.google.guava:guava:33.3.1-jre'
shaded "org.yaml:snakeyaml:2.2"
shaded "org.yaml:snakeyaml:2.3"

shaded 'org.glassfish.main.external:trilead-ssh2-repackaged:4.1.2'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

interface DockerCompose {
String ENV_PROJECT_NAME = "COMPOSE_PROJECT_NAME";

String ENV_COMPOSE_FILE = "COMPOSE_FILE";

DockerCompose withCommand(String cmd);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

public interface Transferable {
int DEFAULT_FILE_MODE = 0100644;

int DEFAULT_DIR_MODE = 040755;

static Transferable of(String string) {
Expand Down
Loading
Loading