Skip to content

Commit 5978ddc

Browse files
authored
Merge branch 'main' into forceFlush
2 parents 5e2579d + 4f36d47 commit 5978ddc

File tree

4 files changed

+103
-20
lines changed

4 files changed

+103
-20
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Build and Push aws-opentelemetry-python-distro Layer
2+
description: |
3+
This action assumes that the repo was checked out. Builds and push Lambda Layer and sample app to S3 bucket for
4+
the further end to end tests.
5+
6+
inputs:
7+
aws-region:
8+
required: false
9+
description: "AWS Region, required only if push_image is true"
10+
snapshot-ecr-role:
11+
required: false
12+
description: "IAM Role used for pushing to snapshot ecr, required only if push_image is true"
13+
python_version:
14+
required: true
15+
description: "The python version used in actions"
16+
layer_directory:
17+
required: true
18+
description: 'The role use to publish lambda layer'
19+
staging_s3_bucket:
20+
required: true
21+
description: 'S3 bucket holds SDK artifact tarball'
22+
os:
23+
required: true
24+
description: "The os"
25+
26+
27+
runs:
28+
using: "composite"
29+
steps:
30+
- name: Build sample lambda function
31+
shell: bash
32+
working-directory: ${{ inputs.layer_directory }}/sample-apps
33+
run: ./package-lambda-function.sh
34+
- name: Build layers
35+
shell: bash
36+
working-directory: ${{ inputs.layer_directory }}/src
37+
run: |
38+
./build-lambda-layer.sh
39+
pip install tox
40+
tox
41+
- name: Upload Layer to S3
42+
shell: bash
43+
run: |
44+
aws s3 cp ./build/aws-opentelemetry-python-layer.zip s3://${{ inputs.staging_s3_bucket }}/layer-${{ github.run_id }}.zip
45+
working-directory: ${{ inputs.layer_directory }}/src
46+
- name: Upload Sample App to S3
47+
shell: bash
48+
run: |
49+
aws s3 cp ./build/function.zip s3://${{ inputs.staging_s3_bucket }}/function-${{ github.run_id }}.zip
50+
working-directory: ${{ inputs.layer_directory }}/sample-apps

.github/workflows/application-signals-e2e-test.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
python-version: '3.12'
101101
cpu-architecture: 'x86_64'
102102
staging-wheel-name: ${{ inputs.staging-wheel-name }}
103-
103+
104104
#
105105
# DOCKER DISTRIBUTION LANGUAGE VERSION COVERAGE
106106
# DEFAULT SETTING: {Python Version}, EKS, AMD64, AL2
@@ -174,7 +174,7 @@ jobs:
174174
caller-workflow-name: 'main-build'
175175
python-version: '3.9'
176176
staging-wheel-name: ${{ inputs.staging-wheel-name }}
177-
177+
178178
#
179179
# DOCKER DISTRIBUTION PLATFORM COVERAGE
180180
# DEFAULT SETTING: Python 3.10, {Platform}, AMD64, AL2
@@ -215,5 +215,12 @@ jobs:
215215
cpu-architecture: 'arm64'
216216
staging-wheel-name: ${{ inputs.staging-wheel-name }}
217217

218-
219-
218+
#
219+
# Lambda layer integration tests
220+
lambda:
221+
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-lambda-test.yml@main
222+
secrets: inherit
223+
with:
224+
aws-region: us-east-1
225+
python-version: '3.12'
226+
caller-workflow-name: 'main-build'

.github/workflows/main_build.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
branches:
66
- main
77
- "release/v*"
8+
- ci-workflow
89
workflow_dispatch: # be able to run the workflow on demand
910
env:
1011
AWS_DEFAULT_REGION: us-east-1
@@ -71,6 +72,16 @@ jobs:
7172
cd ./dist
7273
cp aws_opentelemetry_distro-${{ steps.python_output.outputs.ADOT_PYTHON_VERSION}}-py3-none-any.whl $staging_wheel
7374
75+
- name: Build and Publish Lambda Staging Layer
76+
uses: ./.github/actions/lambda_artifacts_build
77+
with:
78+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
79+
snapshot-ecr-role: ${{ secrets.AWS_ASSUME_ROLE_ARN }}
80+
python_version: "3.12"
81+
layer_directory: lambda-layer
82+
staging_s3_bucket: ${{ env.STAGING_S3_BUCKET }}
83+
os: ubuntu-latest
84+
7485
- name: Upload wheel to S3
7586
run: |
7687
aws s3 cp dist/${{ steps.staging_wheel_output.outputs.STAGING_WHEEL}} s3://${{ env.STAGING_S3_BUCKET }}

.github/workflows/release_lambda.yml

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ on:
1010

1111
env:
1212
COMMERCIAL_REGIONS: us-east-1, us-east-2, us-west-1, us-west-2, ap-south-1, ap-northeast-3, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-northeast-1, ca-central-1, eu-central-1, eu-west-1, eu-west-2, eu-west-3, eu-north-1, sa-east-1
13-
# LAYER_NAME: AWSOpenTelemetryDistroPython
14-
LAYER_NAME: AWSOpenTelemetryDistroPythonBeta
13+
LAYER_NAME: AWSOpenTelemetryDistroPython
1514

1615
permissions:
1716
id-token: write
@@ -56,7 +55,6 @@ jobs:
5655
needs: build-layer
5756
strategy:
5857
matrix:
59-
# aws_region: ${{ fromJson(github.event.inputs.aws_region) }}
6058
aws_region: ${{ fromJson(needs.build-layer.outputs.aws_regions_json) }}
6159
steps:
6260
- name: role arn
@@ -112,7 +110,6 @@ jobs:
112110
mkdir ${{ env.LAYER_NAME }}
113111
echo $layerARN > ${{ env.LAYER_NAME }}/${{ matrix.aws_region }}
114112
cat ${{ env.LAYER_NAME }}/${{ matrix.aws_region }}
115-
pwd
116113
- name: public layer
117114
run: |
118115
layerVersion=$(
@@ -193,21 +190,39 @@ jobs:
193190
run: |
194191
git config user.name "github-actions[bot]"
195192
git config user.email "github-actions[bot]@users.noreply.github.com"
196-
git checkout -b "release-lambda-${{ github.run_id }}"
197193
mv layer.tf lambda-layer/terraform/lambda/
198194
git add lambda-layer/terraform/lambda/layer.tf
199195
git commit -m "Update Lambda layer ARNs for releasing" || echo "No changes to commit"
200-
git push --set-upstream origin "release-lambda-${{ github.run_id }}"
201-
- name: Create Pull Request
196+
git push
197+
create-release:
198+
runs-on: ubuntu-latest
199+
needs: generate-release-note
200+
steps:
201+
- name: Checkout Repo @ SHA - ${{ github.sha }}
202+
uses: actions/checkout@v4
203+
- name: Get latest commit SHA
204+
run: |
205+
echo "COMMIT_SHA=${GITHUB_SHA}" >> $GITHUB_ENV
206+
SHORT_SHA=$(echo $GITHUB_SHA | cut -c1-7)
207+
echo "SHORT_SHA=${SHORT_SHA}" >> $GITHUB_ENV
208+
- name: Create Tag
209+
run: |
210+
git config user.name "github-actions[bot]"
211+
git config user.email "github-actions[bot]@users.noreply.github.com"
212+
TAG_NAME="lambda-${SHORT_SHA}"
213+
git tag -a "$TAG_NAME" -m "Release Lambda layer based on commit $TAG_NAME"
214+
git push origin "$TAG_NAME"
215+
echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_ENV
216+
env:
217+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
218+
- name: Create Release
219+
id: create_release
220+
uses: actions/create-release@v1
202221
env:
203222
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
204-
uses: peter-evans/create-pull-request@v5
205223
with:
206-
token: ${{ secrets.GITHUB_TOKEN }}
207-
commit-message: "Update Lambda layer ARNs for releasing"
208-
title: "Update Layer layer ARNs for releasing"
209-
body: |
210-
This PR updates the layer.tf file for the AWS region `${{ matrix.aws_region }}`.
211-
branch: release-lambda-${{ github.run_id }}
212-
base: main
213-
224+
tag_name: ${{ env.TAG_NAME }}
225+
release_name: "Release AWSOpenTelemetryDistroPython Lambda Layer"
226+
body_path: lambda-layer/terraform/lambda/layer.tf
227+
draft: true
228+
prerelease: false

0 commit comments

Comments
 (0)