Skip to content

Commit 37a4b31

Browse files
committed
Refactor approach
1 parent 3bb643d commit 37a4b31

File tree

3 files changed

+45
-33
lines changed

3 files changed

+45
-33
lines changed

.github/workflows/continuous-deployment.yml

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,57 @@ on:
66
- master
77

88
jobs:
9-
deploy-internal-dev:
9+
deploy-internal-dev-backend:
1010
uses: ./.github/workflows/deploy-backend.yml
1111
with:
1212
apigee_environment: internal-dev
1313
create_mns_subscription: true
1414
environment: dev
1515
sub_environment: internal-dev
16+
17+
run-internal-dev-sandbox-tests:
18+
# Technically the first step is not a pre-requisite - sandbox backed deployment is handled by APIM
19+
# Stipulating this condition simply makes it more likely the environment will be ready when tests are invoked
20+
needs: [deploy-internal-dev-backend]
21+
uses: ./.github/workflows/run-e2e-tests.yml
22+
with:
23+
apigee_environment: internal-dev-sandbox
24+
environment: dev
25+
sub_environment: internal-dev-sandbox
1626
secrets:
1727
APIGEE_PASSWORD: ${{ secrets.APIGEE_PASSWORD }}
1828
APIGEE_BASIC_AUTH_TOKEN: ${{ secrets.APIGEE_BASIC_AUTH_TOKEN }}
1929
APIGEE_OTP_KEY: ${{ secrets.APIGEE_OTP_KEY }}
2030
STATUS_API_KEY: ${{ secrets.STATUS_API_KEY }}
2131

22-
deploy-internal-dev-sandbox:
23-
uses: ./.github/workflows/deploy-backend.yml
32+
run-sandbox-tests:
33+
needs: [run-internal-dev-sandbox-tests]
34+
uses: ./.github/workflows/run-e2e-tests.yml
2435
with:
25-
apigee_environment: internal-dev-sandbox
36+
apigee_environment: sandbox
2637
environment: dev
27-
sub_environment: internal-dev-sandbox
38+
sub_environment: sandbox
2839
secrets:
2940
APIGEE_PASSWORD: ${{ secrets.APIGEE_PASSWORD }}
3041
APIGEE_BASIC_AUTH_TOKEN: ${{ secrets.APIGEE_BASIC_AUTH_TOKEN }}
3142
APIGEE_OTP_KEY: ${{ secrets.APIGEE_OTP_KEY }}
3243
STATUS_API_KEY: ${{ secrets.STATUS_API_KEY }}
3344

34-
deploy-sandbox:
35-
needs: [deploy-internal-dev-sandbox]
36-
uses: ./.github/workflows/deploy-backend.yml
45+
run-internal-dev-tests:
46+
needs: [deploy-internal-dev-backend]
47+
uses: ./.github/workflows/run-e2e-tests.yml
3748
with:
38-
apigee_environment: sandbox
49+
apigee_environment: internal-dev
3950
environment: dev
40-
sub_environment: sandbox
51+
sub_environment: internal-dev
4152
secrets:
4253
APIGEE_PASSWORD: ${{ secrets.APIGEE_PASSWORD }}
4354
APIGEE_BASIC_AUTH_TOKEN: ${{ secrets.APIGEE_BASIC_AUTH_TOKEN }}
4455
APIGEE_OTP_KEY: ${{ secrets.APIGEE_OTP_KEY }}
4556
STATUS_API_KEY: ${{ secrets.STATUS_API_KEY }}
4657

4758
deploy-higher-dev-envs:
48-
needs: [deploy-internal-dev]
59+
needs: [run-internal-dev-tests]
4960
strategy:
5061
matrix:
5162
sub_environment_name: [ref, int]
@@ -55,6 +66,17 @@ jobs:
5566
create_mns_subscription: true
5667
environment: dev
5768
sub_environment: ${{ matrix.sub_environment_name }}
69+
70+
run-higher-dev-env-tests:
71+
needs: [deploy-higher-dev-envs]
72+
strategy:
73+
matrix:
74+
sub_environment_name: [ref, int]
75+
uses: ./.github/workflows/run-e2e-tests.yml
76+
with:
77+
apigee_environment: ${{ matrix.sub_environment_name }}
78+
environment: dev
79+
sub_environment: ${{ matrix.sub_environment_name }}
5880
secrets:
5981
APIGEE_PASSWORD: ${{ secrets.APIGEE_PASSWORD }}
6082
APIGEE_BASIC_AUTH_TOKEN: ${{ secrets.APIGEE_BASIC_AUTH_TOKEN }}

.github/workflows/deploy-backend.yml

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,11 @@ on:
3232
description: Select the Apigee proxy environment
3333
options:
3434
- internal-dev
35-
- internal-dev-sandbox
36-
- sandbox
3735
- int
3836
- ref
3937
- prod
4038
create_mns_subscription:
41-
description: Create an MNS Subscription. Only available in dev
39+
description: Create an MNS Subscription programatically. Only available in AWS dev
4240
required: false
4341
type: boolean
4442
default: true
@@ -64,7 +62,6 @@ permissions:
6462

6563
jobs:
6664
terraform-plan:
67-
if: ${{ !(inputs.apigee_environment == 'internal-dev-sandbox' || inputs.apigee_environment == 'sandbox') }}
6865
runs-on: ubuntu-latest
6966
environment:
7067
name: ${{ inputs.environment }}
@@ -98,7 +95,6 @@ jobs:
9895
path: terraform/tfplan
9996

10097
terraform-apply:
101-
if: ${{ !(inputs.apigee_environment == 'internal-dev-sandbox' || inputs.apigee_environment == 'sandbox') }}
10298
needs: terraform-plan
10399
runs-on: ubuntu-latest
104100
environment:
@@ -155,17 +151,3 @@ jobs:
155151
poetry install --no-root
156152
echo "Subscribing SQS to MNS for notifications..."
157153
make subscribe
158-
159-
run-e2e-tests:
160-
needs: [terraform-apply]
161-
if: ${{ needs.terraform-apply.result == 'success' && needs.terraform-apply.result == null }}
162-
uses: ./.github/workflows/run-e2e-tests.yml
163-
with:
164-
apigee_environment: ${{ inputs.apigee_environment }}
165-
environment: ${{ inputs.environment }}
166-
sub_environment: ${{ inputs.sub_environment }}
167-
secrets:
168-
APIGEE_PASSWORD: ${{ secrets.APIGEE_PASSWORD }}
169-
APIGEE_BASIC_AUTH_TOKEN: ${{ secrets.APIGEE_BASIC_AUTH_TOKEN }}
170-
APIGEE_OTP_KEY: ${{ secrets.APIGEE_OTP_KEY }}
171-
STATUS_API_KEY: ${{ secrets.STATUS_API_KEY }}

.github/workflows/pr-deploy-and-test.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,22 @@ on:
55
types: [opened, synchronize, reopened]
66

77
jobs:
8-
deploy-pr-envs:
8+
deploy-pr-backend:
9+
uses: ./.github/workflows/deploy-backend.yml
10+
with:
11+
apigee_environment: internal-dev
12+
create_mns_subscription: true
13+
environment: dev
14+
sub_environment: pr-${{github.event.pull_request.number}}
15+
16+
run-e2e-tests:
17+
needs: [deploy-pr-backend]
918
strategy:
1019
matrix:
1120
apigee_environment_name: [internal-dev, internal-dev-sandbox]
12-
uses: ./.github/workflows/deploy-backend.yml
21+
uses: ./.github/workflows/run-e2e-tests.yml
1322
with:
1423
apigee_environment: ${{ matrix.apigee_environment_name }}
15-
create_mns_subscription: true
1624
environment: dev
1725
sub_environment: pr-${{github.event.pull_request.number}}
1826
secrets:

0 commit comments

Comments
 (0)