Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit a80b63d

Browse files
authored
Merge pull request #497 from grails/renovate/mongodbdriverversion
Update mongodbDriverVersion to v4.10.2
2 parents 33465d6 + 1a59c44 commit a80b63d

File tree

21 files changed

+224
-193
lines changed

21 files changed

+224
-193
lines changed

.github/workflows/gradle.yml

Lines changed: 59 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,14 @@ on:
1414
jobs:
1515
build:
1616
runs-on: ubuntu-latest
17+
continue-on-error: true
1718
env:
1819
WORKSPACE: ${{ github.workspace }}
1920
GRADLE_OPTS: -Xmx1500m -Dfile.encoding=UTF-8
21+
strategy:
22+
matrix:
23+
mongodb-version: ['4.4', '5.0', '6.0' ]
2024
steps:
21-
- name: Print Dispatch Information
22-
if: github.event_name == 'workflow_dispatch'
23-
env:
24-
DISPATCH_INFORMATION: ${{ github.event.inputs.message }}
25-
run: echo $DISPATCH_INFORMATION
2625
- uses: actions/checkout@v4
2726
- name: Set up JDK
2827
uses: actions/setup-java@v3
@@ -32,72 +31,66 @@ jobs:
3231
- name: Start MongoDB
3332
uses: supercharge/mongodb-github-action@v1.10.0
3433
with:
35-
mongodb-version: '4.0'
36-
- name: Run Tests
37-
if: github.event_name == 'pull_request'
38-
id: tests
39-
uses: gradle/gradle-build-action@v2
40-
with:
41-
arguments: check -Dgeb.env=chromeHeadless
42-
env:
43-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
44-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
45-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
34+
mongodb-version: ${{ matrix.mongodb-version }}
4635
- name: Run Build
47-
if: github.event_name == 'push'
48-
id: build
4936
uses: gradle/gradle-build-action@v2
5037
env:
5138
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
5239
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
5340
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
5441
with:
5542
arguments: build -Dgeb.env=chromeHeadless
56-
- name: Publish Test Report
57-
if: steps.build.outcome == 'failure' || steps.tests.outcome == 'failure'
58-
uses: scacap/action-surefire-report@v1
59-
with:
60-
github_token: ${{ secrets.GITHUB_TOKEN }}
61-
report_paths: '**/build/test-results/test/TEST-*.xml'
62-
- name: Publish to repo.grails.org
63-
id: publish
64-
uses: gradle/gradle-build-action@v2
65-
if: steps.build.outcome == 'success' && github.event_name == 'push'
66-
env:
67-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
68-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
69-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
70-
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
71-
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
72-
with:
73-
arguments: -Dorg.gradle.internal.publish.checksums.insecure=true publish
74-
- name: Build Docs
75-
id: docs
76-
if: steps.build.outcome == 'success' && github.event_name == 'push'
77-
uses: gradle/gradle-build-action@v2
78-
env:
79-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
80-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
81-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
82-
with:
83-
arguments: docs:docs
84-
- name: Determine docs target repository
85-
if: steps.docs.outcome == 'success' && github.event_name == 'push'
86-
uses: haya14busa/action-cond@v1
87-
id: docs_target
88-
with:
89-
cond: ${{ github.repository == 'grails/gorm-mongodb' }}
90-
if_true: "grails/grails-data-mapping"
91-
if_false: ${{ github.repository }}
92-
- name: Publish to Github Pages
93-
if: steps.docs.outcome == 'success' && github.event_name == 'push'
94-
uses: micronaut-projects/github-pages-deploy-action@master
95-
env:
96-
TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }}
97-
GH_TOKEN: ${{ secrets.GH_TOKEN }}
98-
BRANCH: gh-pages
99-
FOLDER: docs/build/docs
100-
DOC_SUB_FOLDER: mongodb
101-
DOC_FOLDER: gh-pages
102-
COMMIT_EMAIL: behlp@objectcomputing.com
103-
COMMIT_NAME: Puneet Behl
43+
publish:
44+
runs-on: ubuntu-latest
45+
if: github.event_name == 'push'
46+
needs: [build]
47+
env:
48+
WORKSPACE: ${{ github.workspace }}
49+
steps:
50+
- uses: actions/checkout@v4
51+
- name: Set up JDK
52+
uses: actions/setup-java@v3
53+
with:
54+
distribution: 'adopt'
55+
java-version: '11'
56+
- name: Publish to repo.grails.org
57+
id: publish
58+
uses: gradle/gradle-build-action@v2
59+
env:
60+
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
61+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
62+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
63+
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
64+
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
65+
with:
66+
arguments: -Dorg.gradle.internal.publish.checksums.insecure=true publish
67+
- name: Build Docs
68+
id: docs
69+
if: steps.build.outcome == 'success'
70+
uses: gradle/gradle-build-action@v2
71+
env:
72+
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
73+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
74+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
75+
with:
76+
arguments: docs:docs
77+
- name: Determine docs target repository
78+
if: steps.docs.outcome == 'success'
79+
uses: haya14busa/action-cond@v1
80+
id: docs_target
81+
with:
82+
cond: ${{ github.repository == 'grails/gorm-mongodb' }}
83+
if_true: "grails/grails-data-mapping"
84+
if_false: ${{ github.repository }}
85+
- name: Publish to Github Pages
86+
if: steps.docs.outcome == 'success'
87+
uses: micronaut-projects/github-pages-deploy-action@master
88+
env:
89+
TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }}
90+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
91+
BRANCH: gh-pages
92+
FOLDER: docs/build/docs
93+
DOC_SUB_FOLDER: mongodb
94+
DOC_FOLDER: gh-pages
95+
COMMIT_EMAIL: behlp@objectcomputing.com
96+
COMMIT_NAME: Puneet Behl

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ subprojects { project ->
7272
ext['gorm.hibernate5.version'] = hibernatePluginVersion
7373
ext['junit-jupiter.version'] = junitJupiterVersion
7474
ext['spock.version'] = spockVersion
75+
ext['mongodb.version'] = mongodbDriverVersion
7576

7677
if (project.name.startsWith("examples")) {
7778

examples/grails3-hibernate5-mongodb/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,14 @@ dependencies {
2424

2525
testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion"
2626
testImplementation "org.grails:grails-web-testing-support:$testingSupportVersion"
27-
testImplementation "de.bwaldvogel:mongo-java-server:$mongoJavaServerVersion"
27+
testImplementation "org.testcontainers:mongodb:1.19.0"
2828
testImplementation "io.netty:netty-transport:4.1.72.Final"
2929
testImplementation "io.netty:netty-codec:4.1.72.Final"
3030
testImplementation "io.netty:netty-handler:4.1.72.Final"
3131
testImplementation "org.grails.plugins:geb", {
3232
exclude group: 'org.gebish', module: 'geb-spock'
3333
}
34+
implementation "com.github.erdi:webdriver-binaries-gradle-plugin:3.2"
3435
testImplementation "org.gebish:geb-spock:$gebVersion"
3536

3637
testRuntimeOnly "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"

examples/grails3-hibernate5-mongodb/gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
22
grailsVersion=6.0.0
33
micrometer.version=1.8.0
44
scaffolingVersion=4.1.0
5-
testingSupportVersion=3.0.0
6-
chromeDriverVersion=96.0.4664.45
7-
geckodriverVersion=0.24.0
5+
testingSupportVersion=3.0.1
6+
chromeDriverVersion=116.0.5845.96
7+
geckodriverVersion=0.33.0

examples/grails3-hibernate5-mongodb/src/test/groovy/functional/tests/BookFongoSpec.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package functional.tests
22

33
import grails.test.mongodb.MongoSpec
4+
import org.testcontainers.containers.MongoDBContainer
5+
import org.testcontainers.utility.DockerImageName
6+
import spock.lang.Shared
47

58
class BookFongoSpec extends MongoSpec implements EmbeddedMongoClient {
69

10+
@Shared
11+
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))
12+
713
//tag::getDomainClasses[]
814
@Override
915
protected List<Class> getDomainClasses() {

examples/grails3-hibernate5-mongodb/src/test/groovy/functional/tests/EmbeddedMongoClient.groovy

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@ package functional.tests
22

33
import com.mongodb.client.MongoClient
44
import com.mongodb.client.MongoClients
5-
import de.bwaldvogel.mongo.MongoServer
6-
import de.bwaldvogel.mongo.backend.memory.MemoryBackend
75
import groovy.transform.CompileStatic
6+
import org.testcontainers.containers.MongoDBContainer
87

98
@CompileStatic
109
trait EmbeddedMongoClient {
1110

11+
abstract MongoDBContainer getMongoDBContainer()
12+
1213
MongoClient createMongoClient() {
13-
MongoServer server = new MongoServer(new MemoryBackend())
14-
// bind on a random local port
15-
InetSocketAddress serverAddress = server.bind()
16-
return MongoClients.create("mongodb://" + serverAddress.getHostName() + ":" + serverAddress.getPort())
14+
if (!mongoDBContainer.isRunning()) {
15+
mongoDBContainer.start()
16+
}
17+
return MongoClients.create(mongoDBContainer.getReplicaSetUrl())
1718
}
1819
}

examples/grails3-mongodb-database-per-tenant/gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
22
grailsVersion=6.0.0
33
micrometer.version=1.8.0
44
scaffolingVersion=4.1.0
5-
testingSupportVersion=3.0.0
6-
chromeDriverVersion=96.0.4664.45
7-
geckodriverVersion=0.24.0
5+
testingSupportVersion=3.0.1
6+
chromeDriverVersion=116.0.5845.96
7+
geckodriverVersion=0.33.0

examples/grails3-mongodb/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ dependencies {
2121

2222
testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion"
2323
testImplementation "org.grails:grails-web-testing-support:$testingSupportVersion"
24-
testImplementation "de.bwaldvogel:mongo-java-server:$mongoJavaServerVersion"
2524
testImplementation "io.netty:netty-transport:4.1.72.Final"
2625
testImplementation "io.netty:netty-codec:4.1.72.Final"
2726
testImplementation "io.netty:netty-handler:4.1.72.Final"
27+
testImplementation "org.testcontainers:mongodb:1.19.0"
2828

2929
testImplementation "org.grails.plugins:geb", {
3030
exclude group: 'org.gebish', module: 'geb-spock'

examples/grails3-mongodb/gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
22
grailsVersion=6.0.0
33
micrometer.version=1.8.0
44
scaffolingVersion=4.1.0
5-
testingSupportVersion=3.0.0
6-
chromeDriverVersion=96.0.4664.45
7-
geckodriverVersion=0.24.0
5+
testingSupportVersion=3.0.1
6+
chromeDriverVersion=116.0.5845.96
7+
geckodriverVersion=0.33.0

examples/grails3-mongodb/src/test/groovy/functional/tests/BookUnitSpec.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package functional.tests
22

33
import grails.test.mongodb.MongoSpec
4+
import org.testcontainers.containers.MongoDBContainer
5+
import org.testcontainers.utility.DockerImageName
6+
import spock.lang.Shared
47

58
class BookUnitSpec extends MongoSpec implements EmbeddedMongoClient {
69

10+
@Shared
11+
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))
12+
713
void "Test low-level API extensions"() {
814
when:
915
def db = createMongoClient().getDatabase("test")
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
package functional.tests
22

3-
import com.mongodb.client.MongoClients
4-
import de.bwaldvogel.mongo.MongoServer
5-
import de.bwaldvogel.mongo.backend.memory.MemoryBackend
63
import com.mongodb.client.MongoClient
4+
import com.mongodb.client.MongoClients
75
import groovy.transform.CompileStatic
6+
import org.testcontainers.containers.MongoDBContainer
87

98
@CompileStatic
109
trait EmbeddedMongoClient {
1110

11+
abstract MongoDBContainer getMongoDBContainer()
12+
1213
MongoClient createMongoClient() {
13-
MongoServer server = new MongoServer(new MemoryBackend())
14-
// bind on a random local port
15-
InetSocketAddress serverAddress = server.bind()
16-
return MongoClients.create("mongodb://" + serverAddress.getHostName() + ":" + serverAddress.getPort())
14+
if (!mongoDBContainer.isRunning()) {
15+
mongoDBContainer.start()
16+
}
17+
return MongoClients.create(mongoDBContainer.getReplicaSetUrl())
1718
}
1819
}

examples/grails3-mongodb/src/test/groovy/functional/tests/LocalMongoUnitSpec.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,16 @@ package functional.tests
33
//tag::structure[]
44
import grails.test.mongodb.MongoSpec
55
import grails.validation.ValidationException
6+
import org.testcontainers.containers.MongoDBContainer
7+
import org.testcontainers.utility.DockerImageName
68
import spock.lang.Ignore
9+
import spock.lang.Shared
710

811
class LocalMongoUnitSpec extends MongoSpec implements EmbeddedMongoClient {
912

13+
@Shared
14+
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))
15+
1016
//end::structure[]
1117
void "Test GORM access"(){
1218
when:

examples/grails3-mongodb/src/test/groovy/functional/tests/PersonSpec.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
package functional.tests
22

33
import grails.test.mongodb.MongoSpec
4+
import org.testcontainers.containers.MongoDBContainer
5+
import org.testcontainers.utility.DockerImageName
6+
import spock.lang.Shared
47

58
/**
69
* Created by graemerocher on 17/10/16.
710
*/
811
class PersonSpec extends MongoSpec implements EmbeddedMongoClient {
912

13+
@Shared
14+
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))
15+
1016
void "Test codecs work for custom properties"() {
1117
when:"An an instance with a custom codec is saved"
1218
def dob = new Date()

examples/grails3-mongodb/src/test/groovy/functional/tests/TeamUnitSpec.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package functional.tests
22

33
import grails.test.mongodb.MongoSpec
4+
import org.testcontainers.containers.MongoDBContainer
5+
import org.testcontainers.utility.DockerImageName
6+
import spock.lang.Shared
47

58
class TeamUnitSpec extends MongoSpec implements EmbeddedMongoClient {
69

10+
@Shared
11+
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))
12+
713
void "get() doesn't throw NPE"() {
814
when:
915
Team team = Team.get("123")

examples/springboot-mongodb/gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
22
grailsVersion=6.0.0
33
micrometer.version=1.8.0
44
scaffolingVersion=4.1.0
5-
testingSupportVersion=3.0.0
6-
chromeDriverVersion=96.0.4664.45
7-
geckodriverVersion=0.24.0
5+
testingSupportVersion=3.0.1
6+
chromeDriverVersion=116.0.5845.96
7+
geckodriverVersion=0.33.0

examples/test-data-service/gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
22
grailsVersion=6.0.0
33
micrometer.version=1.8.0
44
scaffolingVersion=4.1.0
5-
testingSupportVersion=3.0.0
6-
chromeDriverVersion=96.0.4664.45
7-
geckodriverVersion=0.24.0
5+
testingSupportVersion=3.0.1
6+
chromeDriverVersion=116.0.5845.96
7+
geckodriverVersion=0.33.0

gradle.properties

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ hibernateValidatorVersion=6.2.5.Final
1212
jansiVersion=2.4.0
1313
javaParserCoreVersion=3.15.14
1414
junitJupiterVersion=5.10.0
15-
mongoJavaServerVersion=1.28.0
16-
mongodbDriverVersion=4.5.0
15+
mongodbDriverVersion=4.10.2
1716
mongodbRxDriverVersion=1.10.0
1817
pluginGrailsVersion=6.0.0
1918
projectVersion=8.0.1-SNAPSHOT

0 commit comments

Comments
 (0)