Skip to content

Commit d4c0b0f

Browse files
authored
Added error handling
1 parent 2126b11 commit d4c0b0f

File tree

2 files changed

+56
-6
lines changed

2 files changed

+56
-6
lines changed

.github/workflows/build-targets.yaml

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ jobs:
1010
build:
1111
name: Build Code Editor Targets
1212
runs-on: ubuntu-latest
13-
environment: build-targets-workflow-env
1413
strategy:
1514
matrix:
1615
build-target: [code-editor-server, code-editor-sagemaker-server, code-editor-web-embedded, code-editor-web-embedded-with-terminal]
@@ -73,4 +72,31 @@ jobs:
7372
with:
7473
name: ${{ github.sha }}-${{ matrix.build-target }}-build
7574
path: ${{ matrix.build-target }}-build.tar.gz
76-
retention-days: 90
75+
retention-days: 90
76+
handle-failures:
77+
name: Handle Failures
78+
runs-on: ubuntu-latest
79+
needs: build
80+
environment: build-targets-workflow-env
81+
if: failure()
82+
permissions:
83+
id-token: write # Required for OIDC
84+
env:
85+
REPOSITORY: ${{ github.repository }}
86+
AWS_ROLE_TO_ASSUME: ${{ secrets.AWS_ROLE_TO_ASSUME }}
87+
steps:
88+
- name: Use role credentials for metrics
89+
id: aws-creds
90+
continue-on-error: ${{ env.REPOSITORY != 'aws/code-editor' }}
91+
uses: aws-actions/configure-aws-credentials@v4
92+
with:
93+
role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }}
94+
aws-region: us-east-1
95+
- name: Report failure
96+
if: steps.aws-creds.outcome == 'success'
97+
run: |
98+
aws cloudwatch put-metric-data \
99+
--namespace "GitHub/Workflows" \
100+
--metric-name "ExecutionsFailed" \
101+
--dimensions "Repository=${{ env.REPOSITORY }},Workflow=BuildTargets" \
102+
--value 1

.github/workflows/release.yaml

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,8 @@ jobs:
1515
runs-on: ubuntu-latest
1616
permissions:
1717
contents: write # Required for creating releases
18-
environment: release-workflow-env
1918
env:
20-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2119
COMMIT_SHA: ${{ github.sha }}
22-
REPOSITORY: ${{ github.repository }}
2320
VERSION_NUM: ${{ github.event.inputs.version || github.ref_name }}
2421
steps:
2522
- name: Checkout code
@@ -84,4 +81,31 @@ jobs:
8481
gh release create "$VERSION_NUM" *.tar.gz \
8582
--title "Release $VERSION_NUM" \
8683
--notes "Release $VERSION_NUM"
87-
fi
84+
fi
85+
handle-failures:
86+
name: Handle Failures
87+
runs-on: ubuntu-latest
88+
needs: release
89+
environment: release-workflow-env
90+
if: failure()
91+
permissions:
92+
id-token: write # Required for OIDC
93+
env:
94+
REPOSITORY: ${{ github.repository }}
95+
AWS_ROLE_TO_ASSUME: ${{ secrets.AWS_ROLE_TO_ASSUME }}
96+
steps:
97+
- name: Use role credentials for metrics
98+
id: aws-creds
99+
continue-on-error: ${{ env.REPOSITORY != 'aws/code-editor' }}
100+
uses: aws-actions/configure-aws-credentials@v4
101+
with:
102+
role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }}
103+
aws-region: us-east-1
104+
- name: Report failure
105+
if: steps.aws-creds.outcome == 'success'
106+
run: |
107+
aws cloudwatch put-metric-data \
108+
--namespace "GitHub/Workflows" \
109+
--metric-name "ExecutionsFailed" \
110+
--dimensions "Repository=${{ env.REPOSITORY }},Workflow=Release" \
111+
--value 1

0 commit comments

Comments
 (0)