Skip to content

Commit 1453d06

Browse files
committed
Main build and release testing
1 parent a600740 commit 1453d06

File tree

2 files changed

+157
-68
lines changed

2 files changed

+157
-68
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
## Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
## SPDX-License-Identifier: Apache-2.0
3+
4+
# This is a reusable workflow for running the E2E test for Application Signals.
5+
# It is meant to be called from another workflow.
6+
# Read more about reusable workflows: https://docs.github.com/en/actions/using-workflows/reusing-workflows#overview
7+
name: E2E Testing
8+
on:
9+
workflow_call:
10+
inputs:
11+
staging-instrumentation-name:
12+
required: true
13+
type: string
14+
adot-image-name:
15+
required: true
16+
type: string
17+
18+
permissions:
19+
id-token: write
20+
contents: read
21+
22+
concurrency:
23+
group: '${{ github.workflow }} @ ${{ inputs.aws-region }}'
24+
cancel-in-progress: false
25+
26+
27+
jobs:
28+
# upload-main-build:
29+
# runs-on: ubuntu-latest
30+
# steps:
31+
# - name: Configure AWS Credentials
32+
# uses: aws-actions/configure-aws-credentials@v4
33+
# with:
34+
# role-to-assume: arn:aws:iam::637423224110:role/${{ secrets.STAGING_ARTIFACTS_ACCESS_ROLE_NAME }}
35+
# aws-region: us-east-1
36+
37+
# - uses: actions/download-artifact@v3
38+
# with:
39+
# name: ${{ inputs.staging-instrumentation-name }}
40+
41+
# - name: Upload main-build instrumentation to S3
42+
# run: aws s3 cp ${{ inputs.staging-instrumentation-name }} s3://adot-autoinstrumentation-node-staging/${{ inputs.staging-instrumentation-name }}
43+
44+
# ec2-default:
45+
# needs: [ upload-main-build ]
46+
# uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-ec2-default-test.yml@js-release-test
47+
# secrets: inherit
48+
# with:
49+
# aws-region: us-east-1
50+
# staging-instrumentation-name: ${{ inputs.staging-instrumentation-name }}
51+
# caller-workflow-name: 'main-build'
52+
53+
# ec2-asg:
54+
# needs: [ upload-main-build ]
55+
# uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-ec2-asg-test.yml@js-release-test
56+
# secrets: inherit
57+
# with:
58+
# aws-region: us-east-1
59+
# staging-instrumentation-name: ${{ inputs.staging-instrumentation-name }}
60+
# caller-workflow-name: 'main-build'
61+
62+
eks:
63+
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-eks-test.yml@js-release-test
64+
secrets: inherit
65+
concurrency:
66+
group: 'eks'
67+
cancel-in-progress: false
68+
with:
69+
aws-region: us-east-1
70+
test-cluster-name: 'e2e-playground'
71+
# adot-image-name: ${{ inputs.adot-image-name }}
72+
adot-image-name: 637423224110.dkr.ecr.us-east-1.amazonaws.com/aws-observability/adot-autoinstrumentation-node-staging:0.1.0-dev0-820b9d5
73+
# caller-workflow-name: 'main-build'
74+
caller-workflow-name: 'test'
75+
76+
k8s:
77+
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/node-k8s-test.yml@js-release-test
78+
secrets: inherit
79+
concurrency:
80+
group: 'k8s'
81+
cancel-in-progress: false
82+
with:
83+
aws-region: us-east-1
84+
# adot-image-name: ${{ inputs.adot-image-name }}
85+
adot-image-name: 637423224110.dkr.ecr.us-east-1.amazonaws.com/aws-observability/adot-autoinstrumentation-node-staging:0.1.0-dev0-820b9d5
86+
# caller-workflow-name: 'main-build'
87+
caller-workflow-name: 'test'

.github/workflows/main-build.yml

Lines changed: 70 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
- main
77
- "release/v*"
88
- e2e-parallel
9+
- js-release-test
910

1011
env:
1112
AWS_DEFAULT_REGION: us-east-1
@@ -22,77 +23,78 @@ permissions:
2223
contents: read
2324

2425
jobs:
25-
build:
26-
runs-on: ubuntu-latest
27-
outputs:
28-
aws_default_region: ${{ steps.node_output.outputs.awsDefaultRegion}}
29-
node_image_tag: ${{ steps.node_output.outputs.node_image_tag}}
30-
staging_image: ${{ steps.node_output.outputs.stagingImage}}
31-
staging_registry: ${{ steps.node_output.outputs.stagingRegistry}}
32-
staging_repository: ${{ steps.node_output.outputs.stagingRepository}}
33-
staging_tarball_file: ${{ steps.staging_tarball_output.outputs.STAGING_TARBALL}}
34-
steps:
35-
- name: Checkout Contrib Repo @ SHA - ${{ github.sha }}
36-
uses: actions/checkout@v4
26+
# build:
27+
# runs-on: ubuntu-latest
28+
# outputs:
29+
# aws_default_region: ${{ steps.node_output.outputs.awsDefaultRegion}}
30+
# node_image_tag: ${{ steps.node_output.outputs.node_image_tag}}
31+
# staging_image: ${{ steps.node_output.outputs.stagingImage}}
32+
# staging_registry: ${{ steps.node_output.outputs.stagingRegistry}}
33+
# staging_repository: ${{ steps.node_output.outputs.stagingRepository}}
34+
# staging_tarball_file: ${{ steps.staging_tarball_output.outputs.STAGING_TARBALL}}
35+
# steps:
36+
# - name: Checkout Contrib Repo @ SHA - ${{ github.sha }}
37+
# uses: actions/checkout@v4
3738

38-
- name: Get Node Distro Output
39-
id: node_output
40-
run: |
41-
pkg_version=$(jq -r '.version' ./package.json)
42-
echo "ADOT_NODE_VERSION=$pkg_version" >> $GITHUB_OUTPUT
43-
shortsha="$(git rev-parse --short HEAD)"
44-
echo "SHORT_SHA=$shortsha" >> $GITHUB_ENV
45-
node_distro_tag=$pkg_version-$shortsha
46-
echo "awsDefaultRegion=${{ env.AWS_DEFAULT_REGION }}" >> $GITHUB_OUTPUT
47-
echo "node_image_tag=$node_distro_tag" >> $GITHUB_OUTPUT
48-
echo "stagingRegistry=${{ env.STAGING_ECR_REGISTRY }}" >> $GITHUB_OUTPUT
49-
echo "stagingRepository=${{ env.STAGING_ECR_REPOSITORY }}" >> $GITHUB_OUTPUT
50-
echo "stagingImage=${{ env.STAGING_ECR_REGISTRY }}/${{ env.STAGING_ECR_REPOSITORY }}:$node_distro_tag" >> $GITHUB_OUTPUT
39+
# - name: Get Node Distro Output
40+
# id: node_output
41+
# run: |
42+
# pkg_version=$(jq -r '.version' ./package.json)
43+
# echo "ADOT_NODE_VERSION=$pkg_version" >> $GITHUB_OUTPUT
44+
# shortsha="$(git rev-parse --short HEAD)"
45+
# echo "SHORT_SHA=$shortsha" >> $GITHUB_ENV
46+
# node_distro_tag=$pkg_version-$shortsha
47+
# echo "awsDefaultRegion=${{ env.AWS_DEFAULT_REGION }}" >> $GITHUB_OUTPUT
48+
# echo "node_image_tag=$node_distro_tag" >> $GITHUB_OUTPUT
49+
# echo "stagingRegistry=${{ env.STAGING_ECR_REGISTRY }}" >> $GITHUB_OUTPUT
50+
# echo "stagingRepository=${{ env.STAGING_ECR_REPOSITORY }}" >> $GITHUB_OUTPUT
51+
# echo "stagingImage=${{ env.STAGING_ECR_REGISTRY }}/${{ env.STAGING_ECR_REPOSITORY }}:$node_distro_tag" >> $GITHUB_OUTPUT
5152

52-
- name: Build and Push Tarball and Image Files
53-
uses: ./.github/actions/artifacts_build
54-
with:
55-
aws-region: ${{ env.AWS_DEFAULT_REGION }}
56-
image_uri_with_tag: ${{ steps.node_output.outputs.stagingImage }}
57-
image_registry: ${{ env.STAGING_ECR_REGISTRY }}
58-
snapshot-ecr-role: ${{ secrets.AWS_ASSUME_ROLE_ARN }}
59-
push_image: true
60-
load_image: false
61-
node_version: "20"
62-
package_name: aws-distro-opentelemetry-node-autoinstrumentation
63-
os: ubuntu-latest
53+
# - name: Build and Push Tarball and Image Files
54+
# uses: ./.github/actions/artifacts_build
55+
# with:
56+
# aws-region: ${{ env.AWS_DEFAULT_REGION }}
57+
# image_uri_with_tag: ${{ steps.node_output.outputs.stagingImage }}
58+
# image_registry: ${{ env.STAGING_ECR_REGISTRY }}
59+
# snapshot-ecr-role: ${{ secrets.AWS_ASSUME_ROLE_ARN }}
60+
# push_image: true
61+
# load_image: false
62+
# node_version: "20"
63+
# package_name: aws-distro-opentelemetry-node-autoinstrumentation
64+
# os: ubuntu-latest
6465

65-
- name: Output Tarball File Name
66-
id: staging_tarball_output
67-
run: |
68-
staging_tarball="aws-aws-distro-opentelemetry-node-autoinstrumentation-${{ steps.node_output.outputs.ADOT_NODE_VERSION }}.tgz"
69-
echo "STAGING_TARBALL=$staging_tarball" >> $GITHUB_OUTPUT
66+
# - name: Output Tarball File Name
67+
# id: staging_tarball_output
68+
# run: |
69+
# staging_tarball="aws-aws-distro-opentelemetry-node-autoinstrumentation-${{ steps.node_output.outputs.ADOT_NODE_VERSION }}.tgz"
70+
# echo "STAGING_TARBALL=$staging_tarball" >> $GITHUB_OUTPUT
7071

71-
- name: Upload Tarball to S3
72-
run: |
73-
aws s3 cp aws-distro-opentelemetry-node-autoinstrumentation/${{ steps.staging_tarball_output.outputs.STAGING_TARBALL }} s3://${{ env.STAGING_S3_BUCKET }}
72+
# - name: Upload Tarball to S3
73+
# run: |
74+
# aws s3 cp aws-distro-opentelemetry-node-autoinstrumentation/${{ steps.staging_tarball_output.outputs.STAGING_TARBALL }} s3://${{ env.STAGING_S3_BUCKET }}
7475

75-
- name: Upload Tarball to GitHub Actions
76-
uses: actions/upload-artifact@v3
77-
with:
78-
name: ${{ steps.staging_tarball_output.outputs.STAGING_TARBALL}}
79-
path: aws-distro-opentelemetry-node-autoinstrumentation/${{ steps.staging_tarball_output.outputs.STAGING_TARBALL}}
80-
# TODO - implement contract tests in NodeJS
81-
# - name: Set up and run contract tests with pytest
82-
# run: |
83-
# bash scripts/set-up-contract-tests.sh
84-
# pip install pytest
85-
# pytest contract-tests/tests
76+
# - name: Upload Tarball to GitHub Actions
77+
# uses: actions/upload-artifact@v3
78+
# with:
79+
# name: ${{ steps.staging_tarball_output.outputs.STAGING_TARBALL}}
80+
# path: aws-distro-opentelemetry-node-autoinstrumentation/${{ steps.staging_tarball_output.outputs.STAGING_TARBALL}}
81+
# # TODO - implement contract tests in NodeJS
82+
# # - name: Set up and run contract tests with pytest
83+
# # run: |
84+
# # bash scripts/set-up-contract-tests.sh
85+
# # pip install pytest
86+
# # pytest contract-tests/tests
8687

87-
# TODO - implement E2E tests in NodeJS
88-
# application-signals-e2e-test:
89-
# name: "Application Signals E2E Test"
90-
# needs: [ build ]
91-
# uses: ./.github/workflows/application-signals-e2e-test.yml
92-
# secrets: inherit
93-
# permissions:
94-
# id-token: write
95-
# contents: read
96-
# with:
97-
# staging-wheel-name: ${{ needs.build.outputs.staging_wheel_file }}
98-
# adot-image-name: ${{ needs.build.outputs.staging_registry }}/aws-observability/adot-autoinstrumentation-python-staging:${{ needs.build.outputs.python_image_tag }}
88+
application-signals-e2e-test:
89+
name: "Application Signals E2E Test"
90+
# needs: [ build ]
91+
uses: ./.github/workflows/application-signals-e2e-test.yml
92+
secrets: inherit
93+
permissions:
94+
id-token: write
95+
contents: read
96+
with:
97+
staging-instrumentation-name: 'dummy'
98+
adot-image-name: 'dummy'
99+
# staging-instrumentation-name: ${{ needs.build.outputs.staging_tarball_file }}
100+
# adot-image-name: ${{ needs.build.outputs.staging_registry }}/aws-observability/adot-autoinstrumentation-node-staging:${{ needs.build.outputs.node_image_tag }}

0 commit comments

Comments
 (0)