4
4
workflow_dispatch :
5
5
inputs :
6
6
rel_branch :
7
- description : Release branch/commit
7
+ description : Release branch/commit to check out, build and tag
8
8
default : main
9
9
required : true
10
+ env_name :
11
+ description : Which environment to push the image to
12
+ type : choice
13
+ options : [aws-sandbox-hpc]
14
+ required : true
15
+ default : aws-sandbox-hpc
10
16
env :
11
17
REL_BRANCH : ${{ github.event.inputs.rel_branch }}
12
18
jobs :
13
19
tag-and-release :
14
20
runs-on : ubuntu-latest
15
21
permissions :
16
22
contents : write
23
+ environment : ${{ inputs.environment }}
17
24
steps :
18
25
- name : clone repo
19
26
uses : actions/checkout@v4
@@ -40,14 +47,31 @@ jobs:
40
47
with :
41
48
username : ${{ secrets.BBPBUILDBOT_DOCKERHUB_USER }}
42
49
password : ${{ secrets.BBPBUILDBOT_DOCKERHUB_PASSWORD }}
50
+ - name : Authenticate with AWS ECR
51
+
52
+ with :
53
+ registry : ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com
54
+ username : ${{ secrets.AWS_ACCESS_KEY_ID }}
55
+ password : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
43
56
- name : Build and push container
44
57
run : |
45
58
SOURCE_CHECKSUM=$(find hpc_provisioner -type f -exec sha256sum {} \; | sha256sum | awk '{print $1}')
46
59
GHCR_PATH=openbraininstitute/hpc-resource-provisioner
47
- docker build --label "org.opencontainers.image.checksum=${SOURCE_CHECKSUM}" --label "org.opencontainers.image.software_version=${REL_TAG}" -t ghcr.io/${GHCR_PATH}:${REL_TAG} .
48
- docker image tag ghcr.io/${GHCR_PATH}:${REL_TAG} ghcr.io/${GHCR_PATH}:latest
60
+ AWS_URI=${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com
61
+ AWS_PATH=hpc/resource-provisioner
62
+ docker build --label "org.opencontainers.image.checksum=${SOURCE_CHECKSUM}" --label "org.opencontainers.image.software_version=${REL_TAG}" -t ${GHCR_PATH}:${REL_TAG} .
63
+ echo "Setting tags for ghcr"
64
+ docker image tag ${GHCR_PATH}:${REL_TAG} ghcr.io/${GHCR_PATH}:${REL_TAG}
65
+ docker image tag ${GHCR_PATH}:${REL_TAG} ghcr.io/${GHCR_PATH}:latest
66
+ echo "Setting tags for aws ecr"
67
+ docker image tag ${GHCR_PATH}:${REL_TAG} ${AWS_URI}/${AWS_PATH}:${REL_TAG}
68
+ docker image tag ${GHCR_PATH}:${REL_TAG} ${AWS_URI}/${AWS_PATH}:latest
69
+ echo "Pushing to ghcr"
49
70
docker push ghcr.io/${GHCR_PATH}:${REL_TAG}
50
71
docker push ghcr.io/${GHCR_PATH}:latest
72
+ echo "Pushing to aws ecr"
73
+ docker push ${AWS_URI}/${AWS_PATH}:${REL_TAG}
74
+ docker push ${AWS_URI}/${AWS_PATH}:latest
51
75
working-directory : ${{runner.workspace}}/hpc-resource-provisioner
52
76
- name : Release
53
77
uses : softprops/action-gh-release@v2
0 commit comments