Skip to content
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

Cleanup for release v1.19.0 #242

Merged
merged 5 commits into from
Oct 20, 2022
Merged

Cleanup for release v1.19.0 #242

merged 5 commits into from
Oct 20, 2022

Conversation

rapphil
Copy link
Member

@rapphil rapphil commented Oct 18, 2022

Description of changes:

  • Update jacksom bom to the latest stable version.
  • Revert update in org.slf4j dependency. This was breaking integration tests because the test application stopped working as intended.
  • Updated all tests and workflows to point to the registry aws-otel-test
  • Create integrationTests task that is able to run locally exclusively so that the pr-build gh action can be idempotent. (previously it was depending on artifacts generated during the main-build gh action). This required adding some specific logic in the jib plugin because local docker daemon does not handle multiplatform images.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@rapphil rapphil requested a review from a team as a code owner October 18, 2022 15:18
@codecov-commenter
Copy link

codecov-commenter commented Oct 18, 2022

Codecov Report

Merging #242 (7d532d2) into main (3e31ad4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #242   +/-   ##
=========================================
  Coverage     85.71%   85.71%           
  Complexity       19       19           
=========================================
  Files             3        3           
  Lines            49       49           
  Branches          5        5           
=========================================
  Hits             42       42           
  Misses            3        3           
  Partials          4        4           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@rapphil rapphil force-pushed the rapphil-fix-jackson-dependency branch from 2375d2c to 2bbf676 Compare October 19, 2022 18:07
@rapphil rapphil changed the title Update jackson to latest stable version Cleanup for release v1.19.0 Oct 19, 2022
@rapphil rapphil requested a review from Aneurysm9 October 20, 2022 00:16
}

tasks {
named("jib") {
dependsOn(":otelagent:jib")
}
named("jibDockerBuild") {
dependsOn(":otelagent:jibDockerBuild")
Copy link
Contributor

Choose a reason for hiding this comment

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

as we are aware about the limitation for jibDockerBuild to use for the multi arch images, it is now able to use it docker daemon with this changes?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, docker daemon is still not able to support multi arch. This change is just forcing us to use jibDockerBuild in integration tests so that we don't need to rely on the artifacts that are published in the main-build Github CI.

@@ -60,7 +60,7 @@ val DEPENDENCY_SETS = listOf(
),
DependencySet(
"org.slf4j",
"2.0.3",
"1.7.36",
Copy link
Contributor

@vasireddy99 vasireddy99 Oct 20, 2022

Choose a reason for hiding this comment

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

The issue with using the latest SLF4J API Module. just wondering if it might have to do with this : https://www.slf4j.org/faq.html#changesInVersion200

Copy link
Member Author

Choose a reason for hiding this comment

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

It is not clear what is the issue a this time, but the entry that you pointed in the faq is related to changes that were introduced in version 2.0 that are new features. I was trusting this statement:

SLF4J 2.0.0 incorporates an optional fluent api. Otherwise, there are no client facing API changes in 2.0.x. For most users, upgrading to version 2.0..x should be a drop-in replacement, as long as the logging provider is updated as well.

configureImages(
"public.ecr.aws/aws-otel-test/aws-opentelemetry-java-base:alpha",
"public.ecr.aws/aws-otel-test/aws-otel-java-springboot",
rootProject.property("localDocker")!!.equals("true"),
Copy link
Contributor

Choose a reason for hiding this comment

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

Excuse my gradle ignorance but is there a reason that these don't match the changes in other gradle build files by explicitly stating the parameter they are targetting?

   localDocker = rootProject.property("localDocker")!!.equals("true"),
    multiPlatform = !rootProject.property("localDocker")!!.equals("true"),

Copy link
Member Author

Choose a reason for hiding this comment

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

localDocker and multiPlatform applies to the source image. However there are cases where the we want to use a remote image but no multiPlatform. E.g.: for generating this image: aws-opentelemetry-java-base:alpha

Comment on lines +23 to +30
- name: Build with Gradle with Integration tests
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: gradle/gradle-build-action@v2
with:
arguments: build integrationTests --stacktrace -PenableCoverage=true -PlocalDocker=true
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
if: ${{ matrix.os != 'ubuntu-latest' }}
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are macos and windows tests executed with different gradle inputs than an ubuntu runner?

Copy link
Member Author

Choose a reason for hiding this comment

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

because they don't support docker.

We were skipping the tests for macos and windows silently because of this:
https://github.com/aws-observability/aws-otel-java-instrumentation/blob/main/smoke-tests/runner/src/test/java/io/awsobservability/instrumentation/smoketests/runner/LogInjectionTest.java#L32

@Testcontainers(disabledWithoutDocker = true)
class LogInjectionTest {

Se we are not running smoke tests in windows and macos anyways. Just building and running some unit tets.

Copy link
Contributor

Choose a reason for hiding this comment

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

Noted, there are ways we could run docker on MacOS runners. See here. This could possibly be a follow on item if we feel the need to expand test coverage to other operating systems.

@rapphil rapphil merged commit 9af3d5d into main Oct 20, 2022
@vasireddy99 vasireddy99 deleted the rapphil-fix-jackson-dependency branch October 20, 2022 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants