-
Notifications
You must be signed in to change notification settings - Fork 0
96 lines (85 loc) · 3.25 KB
/
run_package_code_and_api.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
name: package code and api
on:
workflow_call:
jobs:
package_code_and_api:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
packages: read
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.BRANCH_NAME }}
# 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: Setting up .npmrc
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> ~/.npmrc
echo "@nhsdigital:registry=https://npm.pkg.github.com" >> ~/.npmrc
- name: Run make install
run: |
make install
- shell: bash
name: Package code
run: |
cp .tool-versions ~/
rm -rf .aws-sam
export PATH=$PATH:$PWD/node_modules/.bin
make compile-specification
make sam-build
cp Makefile .aws-sam/build/
cp samconfig_package_and_deploy.toml .aws-sam/build/
mkdir -p .aws-sam/build/specification
cp packages/specification/dist/eps-prescription-status-update-api.resolved.json .aws-sam/build/specification/
cp packages/specification/dist/eps-custom-prescription-status-update-api.resolved.json .aws-sam/build/specification/
- uses: actions/upload-artifact@v4
name: Upload build artifact
with:
name: packaged_code
path: |
.aws-sam/build
SAMtemplates/state_machines/UpdatePrescriptionStatusStateMachine.asl.json
SAMtemplates/state_machines/Format1UpdatePrescriptionsStatusStateMachine.asl.json
- shell: bash
name: Package sandbox
run: |
cp .tool-versions ~/
rm -rf .aws-sam
export PATH=$PATH:$PWD/node_modules/.bin
make compile-specification
make sam-build-sandbox
cp Makefile .aws-sam/build/
cp samconfig_package_and_deploy.toml .aws-sam/build/
mkdir -p .aws-sam/build/specification
cp packages/specification/dist/eps-prescription-status-update-api.resolved.json .aws-sam/build/specification/
cp packages/specification/dist/eps-custom-prescription-status-update-api.resolved.json .aws-sam/build/specification/
# Readme is included to stop the action flattening the folder structure of aws-sam/build when it is the only item to upload
- uses: actions/upload-artifact@v4
name: Upload sandbox build artifact
with:
name: packaged_sandbox_code
path: |
.aws-sam/build
README.md