Skip to content

Commit

Permalink
[release/v1.32.x] Add commits from main branch (#761)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
17 people committed Feb 27, 2024
1 parent 0752034 commit 8c25eaa
Show file tree
Hide file tree
Showing 47 changed files with 2,487 additions and 624 deletions.
67 changes: 67 additions & 0 deletions .github/actions/cpUtility-testing/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Build and Push Java-Agent Image after CPUtility Test
description: |
cpUtility Testing
This action assumes that Repo was checked out and Java was set correctly
inputs:
aws-region:
required: true
description: "AWS Region"
image_uri_with_tag:
required: true
description: "Image URI with Tag"
image_registry:
required: true
description: "Image Registry"
adot-java-version:
required: true
description: "ADOT Java Version"
snapshot-ecr-role:
require: true
description: "IAM Role used for pushing to snapshot ecr"


runs:
using: "composite"
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ inputs.snapshot-ecr-role }}
aws-region: ${{ inputs.aws-region }}

- name: Login to private staging ecr
uses: docker/login-action@v3
with:
registry: ${{ inputs.image_registry }}
env:
AWS_REGION: ${{ inputs.aws-region }}

- name: Build image for testing
uses: docker/build-push-action@v5
with:
push: false
build-args: "ADOT_JAVA_VERSION=${{ inputs.adot-java-version }}"
context: .
platforms: linux/amd64
tags: ${{ inputs.image_uri_with_tag }}
load: true

- name: Test docker image
shell: bash
run: .github/scripts/test-adot-javaagent-image.sh "${{ inputs.image_uri_with_tag }}" "${{ inputs.adot-java-version }}"

- name: Build and push image
uses: docker/build-push-action@v5
with:
push: true
build-args: "ADOT_JAVA_VERSION=${{ inputs.adot-java-version }}"
context: .
platforms: linux/amd64,linux/arm64
tags: ${{ inputs.image_uri_with_tag }}
55 changes: 28 additions & 27 deletions .github/actions/patch-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,33 +13,52 @@ inputs:
default: "false"
required: false
description: "If the workflow should run tests of the dependencies. Anything different than false will evaluate to true"
branch:
required: true
description: "The branch where this patches are being applied e.g.: release/v1.21.x"
gpg_private_key:
description: "The gpg key used to sign the artifacts"
required: true
required: false
gpg_password:
description: "The gpg key password"
required: true
required: false
runs:
using: "composite"
steps:
- name: set environment variables
env:
INPUT_KEY: ${{ inputs.gpg_private_key }}
INPUT_PASSWORD: ${{ inputs.gpg_password }}
shell: bash
run: |
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
if [[ ! -z "$INPUT_KEY" ]]; then
{
echo "GPG_PRIVATE_KEY<<$EOF"
echo "$INPUT_KEY"
echo "$EOF"
} >> "$GITHUB_ENV"
fi
if [[ ! -z "$INPUT_PASSWORD" ]]; then
{
echo "GPG_PASSWORD<<$EOF"
echo "$INPUT_PASSWORD"
echo "$EOF"
} >> "$GITHUB_ENV"
fi
- name: check patches
run: |
if [[ -f .github/patches/${{ inputs.branch }}/opentelemetry-java.patch ]]; then
if [[ -f .github/patches/opentelemetry-java.patch ]]; then
echo 'patch_otel_java=true' >> $GITHUB_ENV
fi
if [[ -f .github/patches/${{ inputs.branch }}/opentelemetry-java-instrumentation.patch ]]; then
if [[ -f .github/patches/opentelemetry-java-instrumentation.patch ]]; then
echo 'patch_otel_java_instrumentation=true' >> $GITHUB_ENV
fi
if [[ -f .github/patches/${{ inputs.branch }}/opentelemetry-java-contrib.patch ]]; then
if [[ -f .github/patches/opentelemetry-java-contrib.patch ]]; then
echo 'patch_otel_java_contrib=true' >> $GITHUB_ENV
fi
shell: bash

- name: Clone and patch repositories
run: .github/scripts/patch.sh "${{ inputs.branch }}"
run: .github/scripts/patch.sh
if: ${{ env.patch_otel_java == 'true' ||
env.patch_otel_java_instrumentation == 'true' ||
env.patch_otel_java_contrib == 'true' }}
Expand All @@ -51,19 +70,13 @@ runs:
with:
arguments: build publishToMavenLocal
build-root-directory: opentelemetry-java
env:
GPG_PRIVATE_KEY: ${{ inputs.gpg_private_key }}
GPG_PASSWORD: ${{ inputs.gpg_password }}

- name: Build opentelemetry-java
uses: gradle/gradle-build-action@v2
if: ${{ env.patch_otel_java == 'true' && inputs.run_tests == 'false' }}
with:
arguments: publishToMavenLocal
build-root-directory: opentelemetry-java
env:
GPG_PRIVATE_KEY: ${{ inputs.gpg_private_key }}
GPG_PASSWORD: ${{ inputs.gpg_password }}

- name: cleanup opentelemetry-java
run: rm -rf opentelemetry-java
Expand All @@ -76,19 +89,13 @@ runs:
with:
arguments: build publishToMavenLocal
build-root-directory: opentelemetry-java-contrib
env:
GPG_PRIVATE_KEY: ${{ inputs.gpg_private_key }}
GPG_PASSWORD: ${{ inputs.gpg_password }}

- name: Build opentelemetry-java-contrib
uses: gradle/gradle-build-action@v2
if: ${{ env.patch_otel_java_contrib == 'true' && inputs.run_tests == 'false' }}
with:
arguments: publishToMavenLocal
build-root-directory: opentelemetry-java-contrib
env:
GPG_PRIVATE_KEY: ${{ inputs.gpg_private_key }}
GPG_PASSWORD: ${{ inputs.gpg_password }}

- name: cleanup opentelemetry-java-contrib
run: rm -rf opentelemetry-java-contrib
Expand All @@ -101,19 +108,13 @@ runs:
with:
arguments: check -x spotlessCheck publishToMavenLocal
build-root-directory: opentelemetry-java-instrumentation
env:
GPG_PRIVATE_KEY: ${{ inputs.gpg_private_key }}
GPG_PASSWORD: ${{ inputs.gpg_password }}

- name: Build opentelemetry java instrumentation
uses: gradle/gradle-build-action@v2
if: ${{ env.patch_otel_java_instrumentation == 'true' && inputs.run_tests == 'false' }}
with:
arguments: publishToMavenLocal
build-root-directory: opentelemetry-java-instrumentation
env:
GPG_PRIVATE_KEY: ${{ inputs.gpg_private_key }}
GPG_PASSWORD: ${{ inputs.gpg_password }}

- name: cleanup opentelmetry-java-instrumentation
run: rm -rf opentelemetry-java-instrumentation
Expand Down
15 changes: 6 additions & 9 deletions .github/scripts/patch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,26 @@
# Enable debug mode, fail on any command that fail in this script and fail on unset variables
set -x -e -u

# This parameter will help find the patches to be applied
BRANCH=$1

# .github/patches/$BRANCH/versions.sh should define all the versions of the dependencies that we are going to patch
# .github/patches/versions.sh should define all the versions of the dependencies that we are going to patch
# This is used so that we can properly clone the upstream repositories.
# This file should define the following variables:
# OTEL_JAVA_VERSION. Tag of the opentelemetry-java repository to use. E.g.: JAVA_OTEL_JAVA_VERSION=v1.21.0
# OTEL_JAVA_INSTRUMENTATION_VERSION. Tag of the opentelemetry-java-instrumentation repository to use, e.g.: OTEL_JAVA_INSTRUMENTATION_VERSION=v1.21.0
# OTEL_JAVA_CONTRIB_VERSION. Tag of the opentelemetry-java-contrib repository. E.g.: OTEL_JAVA_CONTRIB_VERSION=v1.21.0
# This script will fail if a variable that is supposed to exist is referenced.

if [[ ! -f .github/patches/${BRANCH}/versions ]]; then
if [[ ! -f .github/patches/versions ]]; then
echo "No versions file found. Skipping patching"
exit 0
fi

source .github/patches/${BRANCH}/versions
source .github/patches/versions

git config --global user.email "adot-patch-workflow@github.com"
git config --global user.name "ADOT Patch workflow"


OTEL_JAVA_PATCH=".github/patches/${BRANCH}/opentelemetry-java.patch"
OTEL_JAVA_PATCH=".github/patches/opentelemetry-java.patch"
if [[ -f "$OTEL_JAVA_PATCH" ]]; then
git clone https://github.com/open-telemetry/opentelemetry-java.git
cd opentelemetry-java
Expand All @@ -37,7 +34,7 @@ else
fi


OTEL_JAVA_CONTRIB_PATCH=".github/patches/${BRANCH}/opentelemetry-java-contrib.patch"
OTEL_JAVA_CONTRIB_PATCH=".github/patches/opentelemetry-java-contrib.patch"
if [[ -f "$OTEL_JAVA_CONTRIB_PATCH" ]]; then
git clone https://github.com/open-telemetry/opentelemetry-java-contrib.git
cd opentelemetry-java-contrib
Expand All @@ -50,7 +47,7 @@ else
fi


OTEL_JAVA_INSTRUMENTATION_PATCH=".github/patches/${BRANCH}/opentelemetry-java-instrumentation.patch"
OTEL_JAVA_INSTRUMENTATION_PATCH=".github/patches/opentelemetry-java-instrumentation.patch"
if [[ -f "$OTEL_JAVA_INSTRUMENTATION_PATCH" ]]; then
git clone https://github.com/open-telemetry/opentelemetry-java-instrumentation.git
cd opentelemetry-java-instrumentation
Expand Down
58 changes: 48 additions & 10 deletions .github/workflows/appsignals-e2e-ec2-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,12 @@ permissions:
contents: read

env:
AWS_DEFAULT_REGION: ${{ inputs.aws-region }} # Used by terraform and AWS CLI commands
# The precense of this env var is required for use by terraform and AWS CLI commands
# It is not redundant
AWS_DEFAULT_REGION: ${{ inputs.aws-region }}
TEST_ACCOUNT: ${{ secrets.APP_SIGNALS_E2E_TEST_ACC }}
SAMPLE_APP_FRONTEND_SERVICE_JAR: "s3://aws-appsignals-sample-app/main-service.jar"
SAMPLE_APP_REMOTE_SERVICE_JAR: "s3://aws-appsignals-sample-app/remote-service.jar"
SAMPLE_APP_FRONTEND_SERVICE_JAR: ${{ secrets.APP_SIGNALS_E2E_FE_SA_JAR }}
SAMPLE_APP_REMOTE_SERVICE_JAR: ${{ secrets.APP_SIGNALS_E2E_RE_SA_JAR }}
APP_SIGNALS_ADOT_JAR: "https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar"
METRIC_NAMESPACE: AppSignals
LOG_GROUP_NAME: /aws/appsignals/generic
Expand All @@ -33,14 +35,18 @@ jobs:
with:
fetch-depth: 0

- uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin

- name: Set CW Agent RPM environment variable
run: |
if [ ${{ env.AWS_DEFAULT_REGION }} == "us-east-1" ]; then
echo APP_SIGNALS_CW_AGENT_RPM="https://amazoncloudwatch-agent-us-east-1.s3.amazonaws.com/amazon_linux/amd64/1.300031.0b313/amazon-cloudwatch-agent.rpm" >> $GITHUB_ENV
echo GET_CW_AGENT_RPM_COMMAND="wget -O cw-agent.rpm https://amazoncloudwatch-agent-us-east-1.s3.amazonaws.com/amazon_linux/amd64/1.300031.0b313/amazon-cloudwatch-agent.rpm" >> $GITHUB_ENV
else
echo APP_SIGNALS_CW_AGENT_RPM="https://amazoncloudwatch-agent-${{ env.AWS_DEFAULT_REGION }}.s3.${{ env.AWS_DEFAULT_REGION }}.amazonaws.com/amazon_linux/amd64/1.300031.0b313/amazon-cloudwatch-agent.rpm" >> $GITHUB_ENV
echo GET_CW_AGENT_RPM_COMMAND="wget -O cw-agent.rpm https://amazoncloudwatch-agent-${{ env.AWS_DEFAULT_REGION }}.s3.${{ env.AWS_DEFAULT_REGION }}.amazonaws.com/amazon_linux/amd64/1.300031.0b313/amazon-cloudwatch-agent.rpm" >> $GITHUB_ENV
fi
- name: Generate testing id
run: echo TESTING_ID="${{ github.run_id }}-${{ github.run_number }}" >> $GITHUB_ENV
Expand All @@ -51,6 +57,24 @@ jobs:
role-to-assume: ${{ secrets.E2E_TEST_ROLE_ARN }}
aws-region: ${{ env.AWS_DEFAULT_REGION }}

- uses: actions/download-artifact@v3
if: inputs.caller-workflow-name == 'main-build'
with:
name: aws-opentelemetry-agent.jar

- name: Upload main-build adot.jar to s3
if: inputs.caller-workflow-name == 'main-build'
run: aws s3 cp ./aws-opentelemetry-agent-*-SNAPSHOT.jar s3://main-build-adot-staging-jar/aws-opentelemetry-agent.jar

- name: Set Get ADOT.jar command environment variable
working-directory: testing/terraform/ec2
run: |
if [ ${{ inputs.caller-workflow-name }} == "main-build" ]; then
echo GET_ADOT_JAR_COMMAND="aws s3 cp s3://main-build-adot-staging-jar/aws-opentelemetry-agent.jar ./adot.jar" >> $GITHUB_ENV
else
echo GET_ADOT_JAR_COMMAND="wget -O adot.jar https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar" >> $GITHUB_ENV
fi
- name: Set up terraform
uses: hashicorp/setup-terraform@v3
with:
Expand All @@ -76,8 +100,8 @@ jobs:
-var="test_id=${{ env.TESTING_ID }}" \
-var="sample_app_jar=${{ env.SAMPLE_APP_FRONTEND_SERVICE_JAR }}" \
-var="sample_remote_app_jar=${{ env.SAMPLE_APP_REMOTE_SERVICE_JAR }}" \
-var="cw_agent_rpm=${{ env.APP_SIGNALS_CW_AGENT_RPM }}" \
-var="adot_jar=${{ env.APP_SIGNALS_ADOT_JAR }}" \
-var="get_cw_agent_rpm_command=${{ env.GET_CW_AGENT_RPM_COMMAND }}" \
-var="get_adot_jar_command=${{ env.GET_ADOT_JAR_COMMAND }}" \
|| deployment_failed=$?
if [ $deployment_failed -eq 1 ]; then
Expand Down Expand Up @@ -123,6 +147,22 @@ jobs:
fi
done
# cache local patch outputs
- name: Cache local Maven repository
id: cache-local-maven-repo
uses: actions/cache@v3
with:
path: |
~/.m2/repository/io/opentelemetry/
key: ${{ runner.os }}-maven-local-${{ hashFiles('.github/patches/opentelemetry-java*.patch') }}

- name: Publish patched dependencies to maven local
uses: ./.github/actions/patch-dependencies
if: steps.cache-local-maven-repo.outputs.cache-hit != 'true'
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg_password: ${{ secrets.GPG_PASSPHRASE }}

- name: Get the ec2 instance ami id
run: |
echo "EC2_INSTANCE_AMI=$(terraform output ec2_instance_ami)" >> $GITHUB_ENV
Expand Down Expand Up @@ -211,9 +251,7 @@ jobs:
--region ${{ env.AWS_DEFAULT_REGION }}
fi
# Clean up Procedures

- name: Terraform destroy
if: always()
continue-on-error: true
Expand Down
Loading

0 comments on commit 8c25eaa

Please sign in to comment.