forked from open-telemetry/opentelemetry-collector-contrib
-
Notifications
You must be signed in to change notification settings - Fork 21
137 lines (116 loc) · 5.02 KB
/
release-ocb-components.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
name: Automation - Test and Create Release Tags for OCB components
on:
workflow_dispatch:
inputs:
ocb-module-version:
required: true
description: Release Tag version (Follows OTel Collector Versioning, like 0.113.0)
permissions:
id-token: write
contents: read
env:
E2E_TEST_ACCOUNT_ID: ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ACCOUNT_ID }}
E2E_TEST_ROLE_NAME: ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ROLE_NAME }}
OCB_MODULE_VERSION: ${{ inputs.ocb-module-version }}
jobs:
setup-ocb-test-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: aws-ocb-dev
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ env.E2E_TEST_ACCOUNT_ID }}:role/${{ env.E2E_TEST_ROLE_NAME }}
aws-region: us-east-1
- name: Retrieve account
uses: aws-actions/aws-secretsmanager-get-secrets@v2
with:
secret-ids: |
ACCOUNT_ID, otlp-region-account/gamma-us-east-1
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ env.ACCOUNT_ID }}:role/${{ secrets.E2E_TEST_ROLE_NAME }}
aws-region: us-east-1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to private AWS ECR
uses: docker/login-action@v3
with:
registry: ${{ env.ACCOUNT_ID }}.dkr.ecr.us-east-1.amazonaws.com
env:
AWS_REGION: us-east-1
- name: Update versions used in OCB testing
run: |
sed -i -e 's#${TEST_COMPONENT_GITHASH}#${{ github.sha }}#g' ./ocb-utils/builder-config-appsignals.yaml
sed -i -e 's#${OCB_VERSION}#${{ env.OCB_MODULE_VERSION }}#g' ./ocb-utils/builder-config-appsignals.yaml
sed -i -e 's#${OCB_VERSION}#${{ env.OCB_MODULE_VERSION }}#g' ./ocb-utils/Dockerfile
- name: Build and push image with latest git hash as tag
uses: docker/build-push-action@v5
with:
push: true
context: ./ocb-utils/
file: ./ocb-utils/Dockerfile
platforms: linux/amd64
tags: ${{ env.ACCOUNT_ID }}.dkr.ecr.us-east-1.amazonaws.com/ocb-release-test-collector:${{ github.sha }}
load: false
cache-from: type=gha,scope=build-${{ github.ref_name }}-ocb
cache-to: type=gha,scope=build-${{ github.ref_name }}-ocb
ocb-e2e-test:
secrets: inherit
needs: [ setup-ocb-test-image ]
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/java-eks-otlp-ocb-test.yml@main
with:
aws-region: us-east-1
test-cluster-name: 'e2e-otel-collector-contrib-release-test'
caller-workflow-name: 'appsignals-java-e2e-eks-otlp-ocb-release-test'
java-version: '11'
e2e-otel-collector-image-tag: ${{ github.sha }}
update-canary-image-and-tag-release:
runs-on: ubuntu-latest
needs: [ ocb-e2e-test ]
permissions:
id-token: write
contents: write
steps:
- uses: actions/checkout@v4
with:
ref: aws-ocb-dev
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ env.E2E_TEST_ACCOUNT_ID }}:role/${{ env.E2E_TEST_ROLE_NAME }}
aws-region: us-east-1
- name: Retrieve account
uses: aws-actions/aws-secretsmanager-get-secrets@v2
with:
secret-ids: |
ACCOUNT_ID, otlp-region-account/gamma-us-east-1
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ env.ACCOUNT_ID }}:role/${{ secrets.E2E_TEST_ROLE_NAME }}
aws-region: us-east-1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to private AWS ECR
uses: docker/login-action@v3
with:
registry: ${{ env.ACCOUNT_ID }}.dkr.ecr.us-east-1.amazonaws.com
env:
AWS_REGION: us-east-1
- name: Build and push image with latest tag
run: |
docker image pull ${{ env.ACCOUNT_ID }}.dkr.ecr.us-east-1.amazonaws.com/ocb-release-test-collector:${{ github.sha }}
docker tag ${{ env.ACCOUNT_ID }}.dkr.ecr.us-east-1.amazonaws.com/ocb-release-test-collector:${{ github.sha }} ${{ env.ACCOUNT_ID }}.dkr.ecr.us-east-1.amazonaws.com/ocb-release-test-collector:latest
docker push ${{ env.ACCOUNT_ID }}.dkr.ecr.us-east-1.amazonaws.com/ocb-release-test-collector:latest
# - name: Tag OCB modules
# run: |
# git tag internal/aws/cwlogs/v${{ env.OCB_MODULE_VERSION }}
# git tag internal/aws/awsutil/v${{ env.OCB_MODULE_VERSION }}
# git tag exporter/awsemfexporter/v${{ env.OCB_MODULE_VERSION }}
# git tag processor/awsapplicationsignalsprocessor/v${{ env.OCB_MODULE_VERSION }}
# - name: Publish tags for OCB modules
# run: git push --tags