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

Add Documentation for Testing E2E Resource Changes #709

Conversation

harrryr
Copy link
Contributor

@harrryr harrryr commented Jan 10, 2024

Issue #, if available:
This commit will aim to provide developers with a guide for setting up their personal testing environment running E2E tests

Description of changes:

  • README.md file under ./testing that describes how to setup github and aws account to run EKS and EC2 end-to-end tests
  • Changed e2e-eks-test.yml to download enablement script from the public repo instead of a S3 bucket
  • Modified testing/terraform/ec2/main.tf file to make it easier to setup testing environment
  • Added extra secrets for EC2 S3 bucket since bucket names are global and each developer will need to choose a unique s3 bucket on their account.

Test run:

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

@harrryr harrryr requested a review from a team as a code owner January 10, 2024 03:34
@codecov-commenter
Copy link

codecov-commenter commented Jan 10, 2024

Codecov Report

Attention: 102 lines in your changes are missing coverage. Please review.

Comparison is base (09e6487) 85.71% compared to head (ce2514d) 50.73%.
Report is 230 commits behind head on main.

Files Patch % Lines
...ent/providers/AwsAppSignalsCustomizerProvider.java 24.00% 35 Missing and 3 partials ⚠️
...gent/providers/AwsSpanMetricsProcessorBuilder.java 0.00% 20 Missing ⚠️
...ders/AttributePropagatingSpanProcessorBuilder.java 0.00% 16 Missing ⚠️
...viders/AwsMetricAttributesSpanExporterBuilder.java 0.00% 11 Missing ⚠️
...try/javaagent/providers/AwsSpanProcessingUtil.java 90.16% 1 Missing and 5 partials ⚠️
...vaagent/providers/AwsMetricAttributeGenerator.java 96.89% 2 Missing and 3 partials ⚠️
...y/javaagent/providers/AwsSpanMetricsProcessor.java 91.48% 0 Missing and 4 partials ⚠️
...t/providers/AttributePropagatingSpanProcessor.java 94.59% 2 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@              Coverage Diff              @@
##               main     #709       +/-   ##
=============================================
- Coverage     85.71%   50.73%   -34.99%     
- Complexity       19      264      +245     
=============================================
  Files             3       39       +36     
  Lines            49     1301     +1252     
  Branches          5      141      +136     
=============================================
+ Hits             42      660      +618     
- Misses            3      609      +606     
- Partials          4       32       +28     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@harrryr harrryr force-pushed the add-documentation-e2e-test-change-guide branch from 60248e0 to 9adde52 Compare January 10, 2024 03:58
Copy link
Contributor

@majanjua-amzn majanjua-amzn left a comment

Choose a reason for hiding this comment

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

Great work, it's quite detailed. Left some comments, let's make sure we understand the impact on the other repos. For other repos: (1) Do we need to update secrets? Let's do so before merging of course (2) Will this break the release tests? Is a code change required in the other repos as well? Seems like yes based on changes to terraform.

See comment on how we can avoid both.

Comment on lines +4 to +13
### 1. Create an IAM Role with OIDC Identity Provider
This step is needed to allow Github Action to have access to resources in the AWS account
#### Create an OIDC Provider
- First step is to create an OIDC Identity Provider to allow Github action access to the AWS account resource. Login to AWS, go to the IAM console and click on the Identity Providers tab.
- Click on Add Provider, choose OpenID Connect and type `https://token.actions.githubusercontent.com` in the Provider URL. Click "Get thumbprint". For Audience, use `sts.amazonaws.com`. Finally, click "Add provider"
#### Create an IAM role
- Next, an IAM role needs to be created using the OIDC Identity Provider. Go to the Roles tab and click Create role.
- Choose Web Identity, and choose `token.actions.githubusercontent.com` as the Identity provider, Audience as `sts.amazonaws.com`, and for Github organizations put your github username down. Click next.
- Add the AdministratorAccess policy. Click next.
- Enter your Role name. Click "Create role".
Copy link
Contributor

Choose a reason for hiding this comment

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

Can't we do this programatically?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We can. We also have to enter the console anyways to manually change the edit policy for the role so I think we can just make the programmer do this on the console?

- `export AWS_SESSION_TOKEN=$(echo $output | jq -r .Credentials.SessionToken)`
- Run `aws sts get-caller-identity` to check if you are in the correct role
#### Create a new Cluster
- Next, create the cluster by running `eksctl create cluster --name <ClusterName> --region us-east-1 --zones us-east-1a,us-east-1b`. This will take around ~10 minutes.
Copy link
Contributor

Choose a reason for hiding this comment

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

Always point out the reader needs to replace something in the command before the command itself. Room for error here

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Comment on lines 41 to 52
- Finally, install the AWS Load Balancer Controller add-on by running the following commands. Make sure to replace the `<ClusterName>` and `<AccountID>` with the correct value.
- `eksctl utils associate-iam-oidc-provider --cluster <ClusterName> --region us-east-1 --approve`
- `curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.7/docs/install/iam_policy.json`
- `aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://iam_policy.json --region us-east-1`
- `eksctl create iamserviceaccount --cluster=<ClusterName> --namespace=kube-system --name=aws-load-balancer-controller --attach-policy-arn=arn:aws:iam::<AccountID>:policy/AWSLoadBalancerControllerIAMPolicy --region us-east-1 --approve`
- `kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml`
- `curl -Lo v2_4_7_full.yaml https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/download/v2.4.7/v2_4_7_full.yaml`
- `sed -i.bak -e '561,569d' ./v2_4_7_full.yaml`
- `sed -i.bak -e 's|your-cluster-name|<ClusterName>|' ./v2_4_7_full.yaml`
- `kubectl apply -f v2_4_7_full.yaml`
- `curl -Lo v2_4_7_ingclass.yaml https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/download/v2.4.7/v2_4_7_ingclass.yaml`
- `kubectl apply -f v2_4_7_ingclass.yaml`
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we use a code block here instead of bullet points and inline code?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


### 4. Building Sample App to ECR
Create two ECR repositories: one for the sample app main service and another for the sample app remote service.
Follow the instructions under ./sample-apps/README.md to build the sample app image and upload it to the ECR
Copy link
Contributor

Choose a reason for hiding this comment

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

IIRC there's a way to link between pages instead of giving the path

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


### 5. Building Sample App to S3 Bucket
Create an S3 Bucket to store the .jar files for the sample app main service and sample app remote service.
Follow the instructions under ./sample-apps/README.md to build the sample app .jar and upload it to the bucket
Copy link
Contributor

Choose a reason for hiding this comment

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

Same as above

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

### Steps to update image:
1. Use `ada` commands to autheticate into the testing account
2. Login to ECR Repository: `aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin {REPOSITORY}`
2. Login to ECR Repository: `aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin {REPOSITORY}`. Create a new repository first if the repository doesn't exist.
Copy link
Contributor

Choose a reason for hiding this comment

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

If it's needed, just make that step 1

3. Change repository name in the `build.gradle.kts` file under `testing/sample-apps/springboot` or `testing/sample-apps/sprintboot-remote-service`
4. Change the `tasks.named("jib").enabled` value on the `build.gradle.kts` file from false to true
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it set to false in the first place?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Looks like it was changed a while back: 862695e

I'm assuming the sample app gradle file was interfering when the ADOT team tries to build their images.

Comment on lines +45 to +62
- name: Download enablement script
uses: actions/checkout@v4
with:
repository: aws-observability/application-signals-demo
ref: main
path: enablement-script
sparse-checkout: |
scripts/eks/appsignals/enable-app-signals.sh
scripts/eks/appsignals/clean-app-signals.sh
sparse-checkout-cone-mode: false

- name: Remove log group deletion command
if: always()
working-directory: enablement-script/scripts/eks/appsignals
run: |
delete_log_group="aws logs delete-log-group --log-group-name '${{ env.LOG_GROUP_NAME }}' --region \$REGION"
sed -i "s#$delete_log_group##g" clean-app-signals.sh

Copy link
Contributor

Choose a reason for hiding this comment

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

nit: This should be a separate PR. We're mixing 2 different tasks here and we could've merged this small fix by now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Testing this change requires us to merge this PR first so I included it together.

@@ -66,7 +66,7 @@ resource "aws_instance" "main_service_instance" {
ami = data.aws_ami.ami.id # Amazon Linux 2 (free tier)
instance_type = "t2.micro"
key_name = local.ssh_key_name
iam_instance_profile = "APP_SIGNALS_EC2_TEST_ROLE"
iam_instance_profile = var.test_role
Copy link
Contributor

Choose a reason for hiding this comment

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

Will this immediately break release testing in CWA and CWA Operator?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

CWA Operator doesn't use EC2, but it will break CWA

- Login to AWS, go to the IAM console and click on the Roles tab. Click Create role.
- Choose AWS service, and choose EC2 as the use case. Click Next.
- Choose AmazonS3ReadOnlyAccess, AWSXrayWriteOnlyAccess, and CloudWatchAgentServerPolicy as the permission.
- Type the role name and click "Create role".
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's ask them to name their role the same as we do. This would avoid the need for secret updates everywhere and a change in other repos I believe.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The CW Agent team has already added the secret for us and we just need to update the variables once this PR is merged. I think this change will make it more flexible and also hide our role name? Lmk

Copy link
Contributor

Choose a reason for hiding this comment

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

Showing role name is not a big deal, and I think this will help reduce the work involved in running the test/having to update the other repo.

@harrryr harrryr force-pushed the add-documentation-e2e-test-change-guide branch from f068278 to 7c1bcac Compare January 16, 2024 22:49
@harrryr harrryr force-pushed the add-documentation-e2e-test-change-guide branch from 7c1bcac to ee28603 Compare January 16, 2024 22:50
@majanjua-amzn majanjua-amzn self-requested a review January 16, 2024 23:11
Copy link
Contributor

@majanjua-amzn majanjua-amzn left a comment

Choose a reason for hiding this comment

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

Make sure to run test runs

@harrryr harrryr force-pushed the add-documentation-e2e-test-change-guide branch 4 times, most recently from e512894 to 416c85c Compare January 17, 2024 18:04
@harrryr harrryr force-pushed the add-documentation-e2e-test-change-guide branch from 416c85c to ce2514d Compare January 17, 2024 18:06
@bryan-aguilar bryan-aguilar merged commit b907c0f into aws-observability:main Jan 17, 2024
4 checks passed
vasireddy99 pushed a commit to vasireddy99/aws-otel-java-instrumentation that referenced this pull request Feb 23, 2024
…#709)

* Add documentation for testing E2E resource changes, download enablement script from public repo

* Additional changes to the README.md

* Change back whitespace

* Remove secret and run test on the canary

* Add extra note to EKS cluster setup

* Remove Internal Reference

---------

Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>
vasireddy99 added a commit that referenced this pull request Feb 27, 2024
* E2E Testing: Add failure in waiting for pods to retry mechanism (#659)

* Revert "E2E Testing: Add failure in waiting for pods to retry mechanism (#659)" (#661)

This reverts commit a5f5565.

* Bump github/codeql-action from 2 to 3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Feat: add support to releasing to private ECR (#633)

* Removing patch dependencies scope restriction to release branch only (#670)

Removing patches scope restriction to release branch

* Updating patch file path and Excluding windows-built for patch build

* Add patch dependencies and publish to maven local (#677)

Add patch dependencies and publish to maven local for appsignals tests for canaries

* nightly-build workfow update (#627)

nightly-build-update seprarte out contract tests and timestamp

* Adding missing symbols (#679)

* Fixing main build failure (#680)

* Updating workflows

* Do not sign patched artifacts at PR time (#691)

* Do not sign patched artifacts at PR time

* Fix dir structure

* Just don't provide keys to the workflow

* Set env vars conditionally

* Double quote

* Use truthy statement instead

* Use env vars to avoid inject attacks

* Delete unncessary workflow

* Use doublequote for substitution

* Bump rust from 1.74 to 1.75

Bumps rust from 1.74 to 1.75.

---
updated-dependencies:
- dependency-name: rust
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump tempfile from 3.8.1 to 3.9.0 in /tools/cp-utility

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.1 to 3.9.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](Stebalien/tempfile@v3.8.1...v3.9.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump org.apache.logging.log4j:log4j-core from 2.20.0 to 2.22.1

Bumps org.apache.logging.log4j:log4j-core from 2.20.0 to 2.22.1.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump com.linecorp.armeria:armeria-bom from 1.26.3 to 1.26.4

Bumps [com.linecorp.armeria:armeria-bom](https://github.com/line/armeria) from 1.26.3 to 1.26.4.
- [Release notes](https://github.com/line/armeria/releases)
- [Changelog](https://github.com/line/armeria/blob/main/.post-release-msg)
- [Commits](line/armeria@armeria-1.26.3...armeria-1.26.4)

---
updated-dependencies:
- dependency-name: com.linecorp.armeria:armeria-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump org.mockito:mockito-junit-jupiter from 5.3.1 to 5.8.0

Bumps [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) from 5.3.1 to 5.8.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.3.1...v5.8.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Changing from workflow to action (#694)

Change from workflow to action

* Dry run validator before pull request (#690)

* Create test_validator

* Rename test_validator to test_validator.yml

* Update appsignals-e2e-ec2-test.yml

* Update appsignals-e2e-ec2-canary-test.yml

* Update appsignals-e2e-eks-canary-test.yml

* add option to allow validator dry run compile

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* Allow PR-build test to test validator success to build

* Revert change in E2E Test

* Revert unneeded change

* Revert unneeded change

* Use Gradle-Build-Action instead of run command

* delete unneeded indent

* delete unneeded indent

* delete unneeded indent

* Handle multi-line strings (#700)

* Use input rather than secret (#702)

* Fix usage of input variable in workflows (#703)

* remove unncessary build output

* Fix region in app signal e2e workflow

* Fix incorrect usage of env var

* fix nightly build wf also

* Build patched artifacts in codeql workflow (#701)

* Build patched artifacts in codeql workflow

* Add cache check

* Set default region as build output (#704)

* Set output for default region

* Update the rest of the workflows

* reorder init (#705)

* add outputs context (#706)

* Reinsert aws default region env var (#708)

* Reinsert aws default region env var

* Use explicit job for setting env var output

* Fix tab spacing

* revert region changes to app signal wfs

* revert 703 changes fully

* Build before publishing in e2e operator tests (#710)

* Build before publishing

* Add sample app build as dependency

* Bump org.junit.jupiter:junit-jupiter-engine from 5.9.2 to 5.10.1 (#695)

Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](junit-team/junit5@r5.9.2...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/stale from 8 to 9 (#638)

Bumps [actions/stale](https://github.com/actions/stale) from 8 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v8...v9)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump com.google.guava:guava-bom from 32.1.3-jre to 33.0.0-jre (#696)

Bumps [com.google.guava:guava-bom](https://github.com/google/guava) from 32.1.3-jre to 33.0.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava-bom
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump org.apache.kafka:kafka-clients from 3.6.0 to 3.6.1 (#698)

Bumps org.apache.kafka:kafka-clients from 3.6.0 to 3.6.1.

---
updated-dependencies:
- dependency-name: org.apache.kafka:kafka-clients
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/setup-java from 3 to 4 (#681)

Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](actions/setup-java@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Change terraform to use minimal ami (#712)

* Change terraform to use minimal ami

* Combine wget and java11 installation

---------

Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>

* Add Documentation for Testing E2E Resource Changes (#709)

* Add documentation for testing E2E resource changes, download enablement script from public repo

* Additional changes to the README.md

* Change back whitespace

* Remove secret and run test on the canary

* Add extra note to EKS cluster setup

* Remove Internal Reference

---------

Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>

* Add E2E EC2 Release Testing for Main Build (#713)

* Add E2E EC2 Release Testing for Main Build

* Fix changes based on PR

* Change Terraform variable

* Update variable name

* Edit if statement for main build

---------

Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>

* Bump actions/setup-go from 4 to 5 (#639)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix typos (#730)

A few small fixes, no functional changes.

* Update README.md (#743)

* Remote target (#745)

* Setting SQS remote target to ARN

* Adding remote target for the other services

* Ran spotless

* Adding more tests

* Adding more tests

* Addressing PR

* Fixing contract tests

* Fixing PR

* Rename AppSignals configs with backward compatibility (#744)

* Rename AppSignals configs with backwards compatibility

* update config name in contract tests

* fixing related javadoc

* Updated generateRemoteService to parse HTTP_URL as last resort (#750)

* Updated generateRemoteService to parse HTTP_URL as last resort

* fixed violations

* updated comments

* applied comments

* Support AppSignals metrics transport protocol configuration (#752)

* Support AppSignals metrics transport protocol configuration

* rename SMP to AppSignals

* rename Span Metrics to AppSignals

* run gradlew :awsagentprovider:spotlessApply

* Parse db.statement attribute for database instrumentation (#755)

* Parse db.statement attribute for database instrumentation

* reverted file change

* fixed tests

* fixed formating

* applied comments

* fixed ordering

* Bump gradle/gradle-build-action from 2 to 3 (#732)

Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2 to 3.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](gradle/gradle-build-action@v2...v3)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* prefix AWS.SDK to the RemoteService from v1 (#756)

* Update RemoteTarget Value to ::s3:::e2e-test-bucket-name for aws-sdk-call on E2E EC2 Tests (#757)

Co-authored-by: Harry Ryu <khryu999@gmail.com>

* update the remote target for eks e2e validations (#758)

* Add `RPC_SYSTEM` testing to AWS SDK contract tests (#760)

Followup contract test improvement following from #756

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mahad Janjua <134644284+majanjua-amzn@users.noreply.github.com>
Co-authored-by: Mengyi Zhou (bjrara) <zmengyi@amazon.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raphael Philipe Mendes da Silva <rapphil@gmail.com>
Co-authored-by: Paurush Garg <62579325+PaurushGarg@users.noreply.github.com>
Co-authored-by: Paurush Garg <paurushg@amazon.com>
Co-authored-by: bryan-aguilar <46550959+bryan-aguilar@users.noreply.github.com>
Co-authored-by: XinRan Zhang <xinranzh@amazon.com>
Co-authored-by: Harry <harryryu@amazon.com>
Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>
Co-authored-by: Thomas Pierce <thp@amazon.com>
Co-authored-by: atshaw43 <108552302+atshaw43@users.noreply.github.com>
Co-authored-by: Prashant Srivastava <50466688+srprash@users.noreply.github.com>
Co-authored-by: Mohamed Asaker <asakermohamad471@icloud.com>
Co-authored-by: Lei Wang <66336933+wangzlei@users.noreply.github.com>
Co-authored-by: Harry Ryu <khryu999@gmail.com>
vasireddy99 added a commit that referenced this pull request Feb 28, 2024
* Update Dependency to 1.32.1 and remove patch (#749)

* [release/v1.32.x] Add commits from main branch (#761)

* E2E Testing: Add failure in waiting for pods to retry mechanism (#659)

* Revert "E2E Testing: Add failure in waiting for pods to retry mechanism (#659)" (#661)

This reverts commit a5f5565.

* Bump github/codeql-action from 2 to 3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Feat: add support to releasing to private ECR (#633)

* Removing patch dependencies scope restriction to release branch only (#670)

Removing patches scope restriction to release branch

* Updating patch file path and Excluding windows-built for patch build

* Add patch dependencies and publish to maven local (#677)

Add patch dependencies and publish to maven local for appsignals tests for canaries

* nightly-build workfow update (#627)

nightly-build-update seprarte out contract tests and timestamp

* Adding missing symbols (#679)

* Fixing main build failure (#680)

* Updating workflows

* Do not sign patched artifacts at PR time (#691)

* Do not sign patched artifacts at PR time

* Fix dir structure

* Just don't provide keys to the workflow

* Set env vars conditionally

* Double quote

* Use truthy statement instead

* Use env vars to avoid inject attacks

* Delete unncessary workflow

* Use doublequote for substitution

* Bump rust from 1.74 to 1.75

Bumps rust from 1.74 to 1.75.

---
updated-dependencies:
- dependency-name: rust
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump tempfile from 3.8.1 to 3.9.0 in /tools/cp-utility

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.1 to 3.9.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](Stebalien/tempfile@v3.8.1...v3.9.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump org.apache.logging.log4j:log4j-core from 2.20.0 to 2.22.1

Bumps org.apache.logging.log4j:log4j-core from 2.20.0 to 2.22.1.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump com.linecorp.armeria:armeria-bom from 1.26.3 to 1.26.4

Bumps [com.linecorp.armeria:armeria-bom](https://github.com/line/armeria) from 1.26.3 to 1.26.4.
- [Release notes](https://github.com/line/armeria/releases)
- [Changelog](https://github.com/line/armeria/blob/main/.post-release-msg)
- [Commits](line/armeria@armeria-1.26.3...armeria-1.26.4)

---
updated-dependencies:
- dependency-name: com.linecorp.armeria:armeria-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump org.mockito:mockito-junit-jupiter from 5.3.1 to 5.8.0

Bumps [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) from 5.3.1 to 5.8.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.3.1...v5.8.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Changing from workflow to action (#694)

Change from workflow to action

* Dry run validator before pull request (#690)

* Create test_validator

* Rename test_validator to test_validator.yml

* Update appsignals-e2e-ec2-test.yml

* Update appsignals-e2e-ec2-canary-test.yml

* Update appsignals-e2e-eks-canary-test.yml

* add option to allow validator dry run compile

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* allow test validator dry run

* Allow PR-build test to test validator success to build

* Revert change in E2E Test

* Revert unneeded change

* Revert unneeded change

* Use Gradle-Build-Action instead of run command

* delete unneeded indent

* delete unneeded indent

* delete unneeded indent

* Handle multi-line strings (#700)

* Use input rather than secret (#702)

* Fix usage of input variable in workflows (#703)

* remove unncessary build output

* Fix region in app signal e2e workflow

* Fix incorrect usage of env var

* fix nightly build wf also

* Build patched artifacts in codeql workflow (#701)

* Build patched artifacts in codeql workflow

* Add cache check

* Set default region as build output (#704)

* Set output for default region

* Update the rest of the workflows

* reorder init (#705)

* add outputs context (#706)

* Reinsert aws default region env var (#708)

* Reinsert aws default region env var

* Use explicit job for setting env var output

* Fix tab spacing

* revert region changes to app signal wfs

* revert 703 changes fully

* Build before publishing in e2e operator tests (#710)

* Build before publishing

* Add sample app build as dependency

* Bump org.junit.jupiter:junit-jupiter-engine from 5.9.2 to 5.10.1 (#695)

Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](junit-team/junit5@r5.9.2...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/stale from 8 to 9 (#638)

Bumps [actions/stale](https://github.com/actions/stale) from 8 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v8...v9)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump com.google.guava:guava-bom from 32.1.3-jre to 33.0.0-jre (#696)

Bumps [com.google.guava:guava-bom](https://github.com/google/guava) from 32.1.3-jre to 33.0.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava-bom
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump org.apache.kafka:kafka-clients from 3.6.0 to 3.6.1 (#698)

Bumps org.apache.kafka:kafka-clients from 3.6.0 to 3.6.1.

---
updated-dependencies:
- dependency-name: org.apache.kafka:kafka-clients
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/setup-java from 3 to 4 (#681)

Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](actions/setup-java@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Change terraform to use minimal ami (#712)

* Change terraform to use minimal ami

* Combine wget and java11 installation

---------

Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>

* Add Documentation for Testing E2E Resource Changes (#709)

* Add documentation for testing E2E resource changes, download enablement script from public repo

* Additional changes to the README.md

* Change back whitespace

* Remove secret and run test on the canary

* Add extra note to EKS cluster setup

* Remove Internal Reference

---------

Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>

* Add E2E EC2 Release Testing for Main Build (#713)

* Add E2E EC2 Release Testing for Main Build

* Fix changes based on PR

* Change Terraform variable

* Update variable name

* Edit if statement for main build

---------

Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>

* Bump actions/setup-go from 4 to 5 (#639)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix typos (#730)

A few small fixes, no functional changes.

* Update README.md (#743)

* Remote target (#745)

* Setting SQS remote target to ARN

* Adding remote target for the other services

* Ran spotless

* Adding more tests

* Adding more tests

* Addressing PR

* Fixing contract tests

* Fixing PR

* Rename AppSignals configs with backward compatibility (#744)

* Rename AppSignals configs with backwards compatibility

* update config name in contract tests

* fixing related javadoc

* Updated generateRemoteService to parse HTTP_URL as last resort (#750)

* Updated generateRemoteService to parse HTTP_URL as last resort

* fixed violations

* updated comments

* applied comments

* Support AppSignals metrics transport protocol configuration (#752)

* Support AppSignals metrics transport protocol configuration

* rename SMP to AppSignals

* rename Span Metrics to AppSignals

* run gradlew :awsagentprovider:spotlessApply

* Parse db.statement attribute for database instrumentation (#755)

* Parse db.statement attribute for database instrumentation

* reverted file change

* fixed tests

* fixed formating

* applied comments

* fixed ordering

* Bump gradle/gradle-build-action from 2 to 3 (#732)

Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2 to 3.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](gradle/gradle-build-action@v2...v3)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* prefix AWS.SDK to the RemoteService from v1 (#756)

* Update RemoteTarget Value to ::s3:::e2e-test-bucket-name for aws-sdk-call on E2E EC2 Tests (#757)

Co-authored-by: Harry Ryu <khryu999@gmail.com>

* update the remote target for eks e2e validations (#758)

* Add `RPC_SYSTEM` testing to AWS SDK contract tests (#760)

Followup contract test improvement following from #756

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mahad Janjua <134644284+majanjua-amzn@users.noreply.github.com>
Co-authored-by: Mengyi Zhou (bjrara) <zmengyi@amazon.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raphael Philipe Mendes da Silva <rapphil@gmail.com>
Co-authored-by: Paurush Garg <62579325+PaurushGarg@users.noreply.github.com>
Co-authored-by: Paurush Garg <paurushg@amazon.com>
Co-authored-by: bryan-aguilar <46550959+bryan-aguilar@users.noreply.github.com>
Co-authored-by: XinRan Zhang <xinranzh@amazon.com>
Co-authored-by: Harry <harryryu@amazon.com>
Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>
Co-authored-by: Thomas Pierce <thp@amazon.com>
Co-authored-by: atshaw43 <108552302+atshaw43@users.noreply.github.com>
Co-authored-by: Prashant Srivastava <50466688+srprash@users.noreply.github.com>
Co-authored-by: Mohamed Asaker <asakermohamad471@icloud.com>
Co-authored-by: Lei Wang <66336933+wangzlei@users.noreply.github.com>
Co-authored-by: Harry Ryu <khryu999@gmail.com>

* Prepare for release 1.32.1 - Update licenses (#766)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mahad Janjua <134644284+majanjua-amzn@users.noreply.github.com>
Co-authored-by: Mengyi Zhou (bjrara) <zmengyi@amazon.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raphael Philipe Mendes da Silva <rapphil@gmail.com>
Co-authored-by: Paurush Garg <62579325+PaurushGarg@users.noreply.github.com>
Co-authored-by: Paurush Garg <paurushg@amazon.com>
Co-authored-by: bryan-aguilar <46550959+bryan-aguilar@users.noreply.github.com>
Co-authored-by: XinRan Zhang <xinranzh@amazon.com>
Co-authored-by: Harry <harryryu@amazon.com>
Co-authored-by: ADOT Patch workflow <adot-patch-workflow@github.com>
Co-authored-by: Thomas Pierce <thp@amazon.com>
Co-authored-by: atshaw43 <108552302+atshaw43@users.noreply.github.com>
Co-authored-by: Prashant Srivastava <50466688+srprash@users.noreply.github.com>
Co-authored-by: Mohamed Asaker <asakermohamad471@icloud.com>
Co-authored-by: Lei Wang <66336933+wangzlei@users.noreply.github.com>
Co-authored-by: Harry Ryu <khryu999@gmail.com>
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.

4 participants