-
Notifications
You must be signed in to change notification settings - Fork 1
149 lines (134 loc) · 4.86 KB
/
release_pfp_to_ref.yml
File metadata and controls
149 lines (134 loc) · 4.86 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
name: 'Release pfp to ref'
on:
workflow_dispatch:
inputs:
pfpWorkflowRunID:
description: 'The github workflow run id of a pfp build and deployment to release to REF environment'
required: true
jobs:
get_issue_number:
runs-on: ubuntu-latest
outputs:
issue_number: ${{steps.get_issue_number.outputs.result}}
steps:
- uses: actions/github-script@v7
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
get_commit_id:
runs-on: ubuntu-latest
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"
release_pfp_to_ref:
needs: [get_issue_number]
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Show input params
shell: bash
run: |
echo "## psuWorkflowRunID : [${{ github.event.inputs.pfpWorkflowRunID }}](https://github.com/NHSDigital/prescriptionsforpatients/actions/runs/${{ github.event.inputs.pfpWorkflowRunID }})" >> "$GITHUB_STEP_SUMMARY"
- name: Checkout local github actions
uses: actions/checkout@v4
with:
ref: ${{ env.BRANCH_NAME }}
fetch-depth: 0
sparse-checkout: |
.github
.tool-versions
poetry.lock
poetry.toml
pyproject.toml
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: eu-west-2
role-to-assume: ${{ secrets.REF_CLOUD_FORMATION_DEPLOY_ROLE }}
role-session-name: github-actions
- name: download build artifact
uses: actions/download-artifact@v4
with:
name: packaged_code
path: .
github-token: ${{ secrets.GH_PAT }}
repository: NHSDigital/prescriptionsforpatients
run-id: ${{ inputs.pfpWorkflowRunID }}
# using git commit sha for version of action to ensure we have stable version
- name: Install asdf
uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
with:
asdf_branch: v0.11.3
- name: Cache asdf
uses: actions/cache@v4
with:
path: |
~/.asdf
key: ${{ runner.os }}-asdf-${{ hashFiles('**/.tool-versions') }}
restore-keys: |
${{ runner.os }}-asdf-
- name: Install asdf dependencies in .tool-versions
uses: asdf-vm/actions/install@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
with:
asdf_branch: v0.11.3
env:
PYTHON_CONFIGURE_OPTS: --enable-shared
- name: Run make install-python
run: |
make install-python
- name: release code
shell: bash
working-directory: .github/scripts
env:
artifact_bucket_prefix: pfp/load_test/${{ github.run_id }}
COMMIT_ID: load_test_${{ github.run_id }}
enable_mutual_tls: false
LOG_LEVEL: DEBUG
LOG_RETENTION_DAYS: 30
stack_name: pfp-load-test
TARGET_ENVIRONMENT: ref
target_service_search_server: ${{ secrets.TARGET_SERVICE_SEARCH_SERVER }}
target_spine_server: dummy-spine-${{needs.get_issue_number.outputs.issue_number}}.ref.eps.national.nhs.uk
template_file: template.yaml
TRUSTSTORE_FILE: psu-truststore.pem
VERSION_NUMBER: load_test_${{ github.run_id }}
TOGGLE_GET_STATUS_UPDATES: true
ENABLE_ALERTS: true
run: ./release_code.sh
package_code:
uses: ./.github/workflows/sam_package_code.yml
release_dummy_spine:
needs: [get_issue_number, package_code, get_commit_id]
uses: ./.github/workflows/sam_release_code.yml
with:
STACK_NAME: dummy-spine-${{needs.get_issue_number.outputs.issue_number}}
ARTIFACT_BUCKET_PREFIX: PR-${{needs.get_issue_number.outputs.issue_number}}
TARGET_ENVIRONMENT: dev-pr
BUILD_ARTIFACT: packaged_code
VERSION_NUMBER: PR-${{ needs.get_issue_number.outputs.issue_number }}
COMMIT_ID: ${{ needs.get_commit_id.outputs.commit_id }}
LOG_LEVEL: DEBUG
LOG_RETENTION_DAYS: 30
secrets:
CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.REF_CLOUD_FORMATION_DEPLOY_ROLE }}