-
Notifications
You must be signed in to change notification settings - Fork 2
151 lines (140 loc) · 6.06 KB
/
pull_request.yml
File metadata and controls
151 lines (140 loc) · 6.06 KB
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
name: deploy_pr
on:
pull_request:
branches: [main]
jobs:
get_config_values:
uses: NHSDigital/eps-common-workflows/.github/workflows/get-repo-config.yml@141907b215220e95e3ed3811d0fe8fa18675dbed
with:
verify_published_from_main_image: false
dependabot-auto-approve-and-merge:
needs: quality_checks
uses: NHSDigital/eps-common-workflows/.github/workflows/dependabot-auto-approve-and-merge.yml@141907b215220e95e3ed3811d0fe8fa18675dbed
secrets:
AUTOMERGE_APP_ID: ${{ secrets.AUTOMERGE_APP_ID }}
AUTOMERGE_PEM: ${{ secrets.AUTOMERGE_PEM }}
quality_checks:
uses: NHSDigital/eps-common-workflows/.github/workflows/quality-checks-devcontainer.yml@dac60c1e29babc62013e7bb9ade002cb381c4c49
needs: [get_config_values]
with:
pinned_image: ${{ needs.get_config_values.outputs.pinned_image }}
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
pr_title_format_check:
uses: NHSDigital/eps-common-workflows/.github/workflows/pr_title_check.yml@141907b215220e95e3ed3811d0fe8fa18675dbed
get_issue_number:
runs-on: ubuntu-22.04
needs: quality_checks
outputs:
issue_number: ${{steps.get_issue_number.outputs.result}}
steps:
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
name: get issue number
id: get_issue_number
with:
script: |
if (context.issue.number) {
// Return issue number if present
return context.issue.number;
} else {
// Otherwise return issue number from commit
return (
await github.rest.repos.listPullRequestsAssociatedWithCommit({
commit_sha: context.sha,
owner: context.repo.owner,
repo: context.repo.repo,
})
).data[0].number;
}
result-encoding: string
tag_release:
needs: [get_config_values]
uses: NHSDigital/eps-common-workflows/.github/workflows/tag-release-devcontainer.yml@dac60c1e29babc62013e7bb9ade002cb381c4c49
with:
dry_run: true
pinned_image: ${{ needs.get_config_values.outputs.pinned_image }}
branch_name: ${{ github.event.pull_request.head.ref }}
tag_format: ${{ needs.get_config_values.outputs.tag_format }}
secrets: inherit
get_commit_id:
runs-on: ubuntu-22.04
outputs:
commit_id: ${{ steps.commit_id.outputs.commit_id }}
steps:
- name: Get Commit ID
id: commit_id
run: |
echo "commit_id=${{ github.sha }}" >> "$GITHUB_OUTPUT"
package_code:
needs: [get_issue_number, get_commit_id, get_config_values]
uses: ./.github/workflows/cdk_package_code.yml
with:
pinned_image: ${{ needs.get_config_values.outputs.pinned_image }}
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
release_code:
needs: [get_issue_number, package_code, get_commit_id, get_config_values]
uses: ./.github/workflows/cdk_release_code.yml
with:
pinned_image: ${{ needs.get_config_values.outputs.pinned_image }}
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
STACK_NAME: cpt-api-pr-${{needs.get_issue_number.outputs.issue_number}}
AWS_ENVIRONMENT: dev
APIGEE_ENVIRONMENT: internal-dev
VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
CDK_APP_NAME: CptsApiApp
LOG_RETENTION_IN_DAYS: 30
LOG_LEVEL: DEBUG
TRUSTSTORE_FILE: clinical-tracker-truststore.pem
RUN_REGRESSION_TESTS: true
IS_PULL_REQUEST: true
FORWARD_CSOC_LOGS: false
secrets:
CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_DEPLOY_ROLE }}
PROXYGEN_ROLE: ${{ secrets.PROXYGEN_PTL_ROLE }}
TARGET_SPINE_SERVER: ${{ secrets.DEV_TARGET_SPINE_SERVER }}
REGRESSION_TESTS_PEM: ${{ secrets.REGRESSION_TESTS_PEM }}
APIM_STATUS_API_KEY: ${{ secrets.APIM_STATUS_API_KEY }}
# release_sandbox_code:
# needs: [get_issue_number, package_code, get_commit_id]
# uses: ./.github/workflows/cdk_release_code.yml
# with:
# BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
# STACK_NAME: cpt-api-pr-${{needs.get_issue_number.outputs.issue_number}}-sandbox
# AWS_ENVIRONMENT: dev
# APIGEE_ENVIRONMENT: internal-dev-sandbox
# VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
# COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
# CDK_APP_NAME: CptsApiSandboxApp
# LOG_RETENTION_IN_DAYS: 30
# LOG_LEVEL: DEBUG
# TRUSTSTORE_FILE: clinical-tracker-sandbox-truststore.pem
# secrets:
# CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_DEPLOY_ROLE }}
# PROXYGEN_ROLE: ${{ secrets.PROXYGEN_PTL_ROLE }}
# TARGET_SPINE_SERVER: sandbox
# REGRESSION_TESTS_PEM: ${{ secrets.REGRESSION_TESTS_PEM }}
# APIM_STATUS_API_KEY: ${{ secrets.APIM_STATUS_API_KEY }}
# uncomment this if we want to release to ref from a pull request
# release_ref:
# needs: [get_commit_id, get_issue_number, package_code, release_code]
# uses: ./.github/workflows/cdk_release_code.yml
# with:
# BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
# STACK_NAME: cpt-api
# AWS_ENVIRONMENT: ref
# APIGEE_ENVIRONMENT: ref
# VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
# COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
# CDK_APP_NAME: CptsApiApp
# LOG_RETENTION_IN_DAYS: 30
# LOG_LEVEL: DEBUG
# TRUSTSTORE_FILE: clinical-tracker-truststore.pem
# secrets:
# CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.REF_CLOUD_FORMATION_DEPLOY_ROLE }}
# PROXYGEN_ROLE: ${{ secrets.PROXYGEN_PTL_ROLE }}
# TARGET_SPINE_SERVER: ${{ secrets.REF_TARGET_SPINE_SERVER }}
# REGRESSION_TESTS_PEM: ${{ secrets.REGRESSION_TESTS_PEM }}
# APIM_STATUS_API_KEY: ${{ secrets.APIM_STATUS_API_KEY }}