Skip to content

Release v3.12.6 #993

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Apr 22, 2025
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
4 changes: 2 additions & 2 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ steps:
config: docker/buildkite/docker-compose.yaml

- label: ":java: Unit test with docker services sticky on"
timeout_in_minutes: 30
timeout_in_minutes: 50 # integration tests take longer
retry:
automatic:
- exit_status: "*"
Expand All @@ -95,7 +95,7 @@ steps:
config: docker/buildkite/docker-compose.yaml

- label: ":java: Unit test with docker services sticky off"
timeout_in_minutes: 30
timeout_in_minutes: 50 # integration tests take longer
retry:
automatic:
- exit_status: "*"
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# Changelog

## 3.12.6
- Adding logs to internal shadower to check for failures log (#918)
- Removing fossa as it is migrated to snyk (#919)
- Add codecov (#920)
- Add missing proto to thrift enum mappings and unit tests for both EnumMappers (#924)
- Remove unused code from cadence.internal package (#921)
- Refactor Test environment initialization to CadenceTestRule from WorkflowTest. (#923)
- upgrade mockito to 4.5.1 (#929)
- Report child workflow started synchronously (#928)
- Fix incorrect exception handling in WorkflowTchannelClient and add unit test coverage (#931)
- Fix WorkflowQueue#offer and increase test coverage (#932)
- Fix ActivityCompletionClient cancellation and failure by WorkflowExecution (#930)
- Fix incorrect exception for unsupported method in WorkflowService (#933)
- Fix flakiness in ManualActivityCompletionWorkflowTest (#937)
- Fix Domain GRPC->Thrift mapping and increase test coverage (#934)
- thrift install script (#939)
- Fix unimplementented methods of TestWorkflowEnvironment (#945)
- Fix bug in QueryWorkflowParameters.toString (#948)
- Fix NPE in RetryParameters and add unit tests to ExecuteActivityParameters (#946)
- Add copy function and unit tests to StartWorkflowExecutionParameters (#953)
- Fix Error handling and add test coverage for Thrift2ProtoAdapter (#950)
- Fix unhandled exceptions in WorkflowServiceTChannel (#954)
- Fix nil pointer issue (#982)
- add log and metrics on TBase message dataconverter usage (#986)
- added ExecutorWrapper in WorkerFactoryOptions (#988)
- Set skipArchival to true for getResultAsync (#990)

## 3.12.5
- Fix transient test failures
- Fix Request ID handling for server-side idempotency
Expand Down
133 changes: 36 additions & 97 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,6 @@ apply plugin: 'org.jruyi.thrift'
apply plugin: 'maven-publish'
apply plugin: 'com.github.sherter.google-java-format'

if (hasProperty('signing.keyId')) {
apply plugin: 'signing'
signing {
sign configurations.archives
}
}

googleJavaFormat {
toolVersion '1.5'
include '**/*.java'
Expand All @@ -45,7 +38,7 @@ googleJavaFormat {
tasks.googleJavaFormat.dependsOn 'license'

group = 'com.uber.cadence'
version = '3.12.5'
version = '3.12.6'

description = '''Uber Cadence Java Client'''

Expand Down Expand Up @@ -225,47 +218,40 @@ def ossrhUsername = hasProperty('ossrhUsername') ? property('ossrhUsername') : '
def ossrhPassword = hasProperty('ossrhPassword') ? property('ossrhPassword') : ''

publishing {

publications {
// Uncomment below if you want to run "publishMavenLocal"
maven(MavenPublication) {
pom.withXml {
asNode().with {
appendNode('packaging', 'jar')
appendNode('name', 'cadence-client')
appendNode('description', description)
appendNode('url', 'https://github.com/uber-java/cadence-client')
appendNode('scm').with {
appendNode('url', 'https://github.com/uber-java/cadence-client')
appendNode('connection', '[email protected]:uber-java/cadence-client.git')
mavenJava(MavenPublication) {
from components.java
artifact javadocJar
artifact sourcesJar
pom {
name = 'cadence-client'
description = 'Uber Cadence Java Client'
url = 'https://github.com/uber-java/cadence-client'
scm {
url = 'https://github.com/uber-java/cadence-client'
connection = 'scm:git:[email protected]:uber-java/cadence-client.git/'
developerConnection = 'scm:git:[email protected]:uber-java/cadence-client.git/'
}
licenses {
license {
name = 'The Apache License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
appendNode('licenses').with {
appendNode('license').with {
appendNode('name', 'The Apache License, Version 2.0')
appendNode('url', 'http://www.apache.org/licenses/LICENSE-2.0.txt')
}
}
developers {
developer {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe there's a group cadence alias we can point to instead?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can add mailingLists. I'll try to release first and in another PR to add it

id = 'maxim'
name = 'Maxim Fateev'
email = '[email protected]'
}
appendNode('developers').with {
appendNode('maxim').with {
appendNode('id', 'maxim')
appendNode('name', 'Maxim Fateev')
appendNode('email', '[email protected]')
}
appendNode('developer').with {
appendNode('id', 'meiliang')
appendNode('name', 'Liang Mei')
appendNode('email', '[email protected]')
}
developer {
id = 'meiliang'
name = 'Liang Mei'
email = '[email protected]'
}
}
}
}

mavenJava(MavenPublication) {
from components.java
artifact javadocJar
artifact sourcesJar
}
}
repositories {
maven {
Expand All @@ -282,6 +268,14 @@ publishing {
}
}

if (hasProperty('signing.keyId')) {
apply plugin: 'signing'
signing {
sign configurations.archives
sign publishing.publications.mavenJava
}
}

task registerDomain(type:JavaExec) {
main = 'com.uber.cadence.RegisterTestDomain'
classpath = sourceSets.test.runtimeClasspath
Expand All @@ -299,61 +293,6 @@ test {
}
}

uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

repository(url: 'https://oss.sonatype.org/service/local/staging/deploy/maven2/') {
authentication(userName: ossrhUsername, password: ossrhPassword)
}

snapshotRepository(url: 'https://oss.sonatype.org/content/repositories/snapshots/') {
authentication(userName: ossrhUsername, password: ossrhPassword)
}

pom.project {
name 'cadence-client'
packaging 'jar'
// optionally artifactId can be defined here
description 'Uber Cadence Java Client'
url 'https://github.com/uber-java/cadence-client'

scm {
connection 'scm:git:[email protected]:uber-java/cadence-client.git/'
developerConnection 'scm:git:[email protected]:uber-java/cadence-client.git/'
url 'https://github.com/uber-java/cadence-client'
}

licenses {
license {
name 'The Apache License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}

developers {
developer {
id 'maxim'
name 'Maxim Fateev'
email '[email protected]'
}
developer {
id 'mkol'
name 'Max K'
email '[email protected]'
}
developer {
id 'meiliang'
name 'Liang Mei'
email '[email protected]'
}
}
}
}
}
}

jacoco {
toolVersion = "0.8.2"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,6 @@ public NonSerializableException(Throwable cause) {
}
}

// TODO flaky test in local env: expected:<class java.lang.IllegalArgumentException> but
// was:<class java.lang.StackOverflowError>
@Test
public void testException() {
RuntimeException rootException = new RuntimeException("root exception");
Expand All @@ -263,7 +261,9 @@ public void testException() {
assertNotNull(causeFromConverted);
assertEquals(DataConverterException.class, causeFromConverted.getClass());
assertNotNull(causeFromConverted.getCause());
assertEquals(JsonIOException.class, causeFromConverted.getCause().getClass());
assertTrue(
causeFromConverted.getCause() instanceof JsonIOException
|| causeFromConverted.getCause() instanceof StackOverflowError);

assertNotNull(causeFromConverted.getSuppressed());
assertEquals(1, causeFromConverted.getSuppressed().length);
Expand Down