7
7
branches :
8
8
- master
9
9
- dev-*
10
+ - release-*
10
11
11
12
defaults :
12
13
run :
13
14
shell : bash
14
15
15
16
permissions :
16
17
contents : read
18
+ id-token : write
17
19
18
20
jobs :
19
21
build-binaries :
20
22
runs-on : ubuntu-20.04
21
- if : github.repository == 'argoproj /argo-events'
23
+ if : github.repository == 'outerbounds /argo-events'
22
24
name : Build binaries
23
25
steps :
24
26
- name : Checkout
27
29
- name : Setup Go
28
30
uses : actions/setup-go@v5
29
31
with :
30
- go-version : " 1.23 "
32
+ go-version : " 1.22 "
31
33
32
34
- name : Build binaries
33
35
run : |
@@ -44,42 +46,55 @@ jobs:
44
46
build-push-linux-multi :
45
47
name : Build & push linux/amd64 and linux/arm64
46
48
needs : [ build-binaries ]
47
- runs-on : ubuntu-20.04
48
- if : github.repository == 'argoproj /argo-events'
49
+ runs-on : ubuntu-latest
50
+ if : github.repository == 'outerbounds /argo-events'
49
51
strategy :
50
52
matrix :
51
53
target : [ argo-events ]
54
+ env :
55
+ ECR_REGISTRY : 006988687827.dkr.ecr.us-west-2.amazonaws.com
56
+ IMAGE_NAME : obp-argo-events
52
57
steps :
53
58
- uses : actions/checkout@v4
54
59
55
- - name : Set up Docker Buildx
56
- uses : docker/setup-buildx-action@v3
57
-
58
- - name : Download binaries
59
- uses : actions/download-artifact@v3
60
+ - name : Generate build ID
61
+ id : prep
62
+ run : |
63
+ branch=${GITHUB_REF##*/}
64
+ sha=${GITHUB_SHA::8}
65
+ ts=$(date +%s)
66
+ release_tag=$(git describe --tags --exact-match --match 'v*' || echo "dirty")
67
+ echo "BUILD_ID=${branch}-${sha}-${ts}" >> $GITHUB_ENV
68
+ echo "RELEASE_BRANCH=${branch}" >> $GITHUB_ENV
69
+
70
+ - name : Configure AWS Credentials
71
+ uses : aws-actions/configure-aws-credentials@v1
60
72
with :
61
- name : binaries
62
- path : dist/
73
+ role-to-assume : arn:aws:iam::006988687827:role/obp-argo-events-image-pusher
74
+ aws-region : us-west-2
63
75
64
- - name : Registry Login
65
- uses : docker/login-action@v2
66
- with :
67
- registry : quay.io
68
- username : ${{ secrets.QUAYIO_USERNAME }}
69
- password : ${{ secrets.QUAYIO_PASSWORD }}
76
+ - run : aws sts get-caller-identity
70
77
71
- - name : set Version
72
- id : version
73
- run : |
74
- tag=$(basename $GITHUB_REF)
75
- if [ $tag = "master" ]; then
76
- tag="latest"
77
- fi
78
- echo "VERSION=$tag" >> $GITHUB_OUTPUT
78
+ - name : Login to ECR
79
+ uses : docker/login-action@v1
80
+ with :
81
+ registry : ${{ env.ECR_REGISTRY }}
79
82
80
- - name : Container build and push with arm64/amd64
81
- run : |
82
- IMAGE_NAMESPACE=${{ secrets.QUAYIO_ORG }} VERSION=${{ steps.version.outputs.VERSION }} DOCKER_PUSH=true make image-multi
83
+ - name : Build and push Docker image
84
+ uses : docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
85
+ with :
86
+ platforms : linux/amd64,linux/arm64
87
+ context : ./
88
+ push : true
89
+ build-args : |
90
+ BUILD_ID=${{ env.BUILD_ID }}
91
+ VERSION=${{ env.RELEASE_BRANCH }}
92
+ secrets : |
93
+ GH_ACCESS_TOKEN=${{ secrets.OBDEPLOYBOT_PAT }}
94
+ tags : |
95
+ ${{env.ECR_REGISTRY}}/${{ env.IMAGE_NAME }}:${{ env.BUILD_ID }}
96
+ ${{env.ECR_REGISTRY}}/${{ env.IMAGE_NAME }}:${{ env.RELEASE_BRANCH }}
97
+ ${{env.ECR_REGISTRY}}/${{ env.IMAGE_NAME }}:latest
83
98
84
99
bom :
85
100
runs-on : ubuntu-latest
0 commit comments