@@ -14,200 +14,115 @@ env:
14
14
15
15
jobs :
16
16
pi-matrix :
17
- name : ' Parent Images: Generate Matrix'
18
- runs-on : ubuntu-latest
19
- environment : dev
20
- env :
21
- PYTHON_VERSION : ${{ vars.PYTHON_VERSION }}
22
- outputs :
23
- include : ${{ steps.gen-matrix.outputs.include }}
24
- steps :
25
- - name : Checkout Repository
26
- uses : actions/checkout@v4
27
- with :
28
- repository : ${{ github.repository_owner }}/refinery-submodule-parent-images
29
- ref : ${{ github.event.pull_request.head.ref }}
30
-
31
- - name : GitHub Configuration
32
- run : git config --global url."https://oauth2:${{ secrets.GH_TOKEN }}@github.com".insteadOf https://github.com
17
+ uses : code-kern-ai/cicd-deployment-scripts/.github/workflows/pi_matrix.yml@parent-images
18
+ secrets : inherit
33
19
34
- - name : Clone cicd-deployment-scripts
35
- run : git clone --branch parent-images https://github.com/code-kern-ai/cicd-deployment-scripts.git
36
-
37
- - name : Generate Matrix
38
- id : gen-matrix
39
- run : |
40
- bash cicd-deployment-scripts/pi/generate_matrix.sh \
41
- -p "${{ github.event.pull_request.number }}" \
42
- -s cicd-deployment-scripts/pi/settings.sh
43
-
44
- pi-update-app :
45
- name : ' Parent Images: Update'
20
+ pi-build :
21
+ name : ' Parent Images: Docker Build'
46
22
runs-on : ubuntu-latest
47
23
needs : [pi-matrix]
48
24
environment : dev
49
- continue-on-error : true
50
25
env :
51
26
PYTHON_VERSION : ${{ vars.PYTHON_VERSION }}
27
+ DEV_CONTAINER_REGISTRY : ${{ vars.DEV_CONTAINER_REGISTRY }}
28
+ DEV_LOGIN_USERNAME : ${{ secrets.DEV_LOGIN_USERNAME }}
29
+ DEV_LOGIN_PASSWORD : ${{ secrets.DEV_LOGIN_PASSWORD }}
30
+ IMAGE_TAG : ${{ github.event_name == 'release' && github.event.release.tag_name || github.event.pull_request.head.ref }}
52
31
strategy :
53
- matrix :
54
- include : ${{ fromJson(needs.pi-matrix.outputs.include ) }}
32
+ matrix :
33
+ parent_image_type : ${{ fromJson(needs.pi-matrix.outputs.parent_image_type ) }}
55
34
steps :
56
- - name : Checkout Repository
35
+ - name : Checkout repository
57
36
uses : actions/checkout@v4
58
37
with :
38
+ token : ${{ secrets.GH_TOKEN }}
59
39
repository : ' ${{ github.repository_owner }}/refinery-${{ matrix.parent_image_type }}-parent-image'
40
+ fetch-depth : 0
60
41
submodules : ' true'
61
-
42
+
62
43
- name : Set up Python
63
44
uses : actions/setup-python@v5
64
45
with :
65
46
python-version : ${{ env.PYTHON_VERSION }}
66
-
47
+
67
48
- name : Install Dependencies
68
49
run : python -m pip install pip-tools
69
50
70
- - name : Clone ${{ matrix.app }}
71
- run : git clone https://oauth2:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository_owner }}/${{ matrix.app }}.git
72
-
73
51
- name : Compile Requirements
74
52
run : |
75
- pip-compile --quiet \
76
- --output-file ${{ matrix.app }}/requirements/${{ matrix.parent_image_type }}-requirements.txt \
77
- submodules/parent-images/requirements/${{ matrix.parent_image_type }}-requirements.in
78
-
79
- pip-compile --quiet \
80
- --output-file ${{ matrix.app }}/requirements.txt \
81
- ${{ matrix.app }}/requirements/requirements.in
82
-
83
- - name : Perform Edit/Git Operations
84
- run : |
85
- cd ${{ matrix.app }}
86
-
87
- git config user.email "devtools@kern.ai"
88
- git config user.name "GitHub Actions"
53
+ cd ${{ github.workspace }}/submodules/parent-images
54
+ git checkout ${{ github.event.pull_request.head.ref }}
55
+ pip-compile requirements/${{ matrix.parent_image_type }}-requirements.in
89
56
90
- git checkout -b ${{ github.event.pull_request.head.ref }} || git checkout ${{ github.event.pull_request.head.ref }}
91
- git push origin ${{ github.event.pull_request.head.ref }} && git pull origin ${{ github.event.pull_request.head.ref }}
92
-
93
- git add requirements*
94
- git commit -m "ci: update ${{ matrix.parent_image_type }}-requirements.txt"
95
- git push origin ${{ github.event.pull_request.head.ref }}
96
- echo "::notice::${{ matrix.app }} updated to origin/${{ github.event.pull_request.head.ref }}"
97
-
98
- gh pr create \
99
- --title "${{ github.event.pull_request.title }}" \
100
- --body "${{ github.event.pull_request.body }}" \
101
- --base dev \
102
- --head ${{ github.event.pull_request.head.ref }} \
103
- --repo ${{ github.repository_owner }}/${{ matrix.app }}
104
-
105
- # pi-build:
106
- # name: 'Parent Images: Docker Build'
107
- # runs-on: ubuntu-latest
108
- # needs: [pi-matrix]
109
- # environment: dev
110
- # env:
111
- # PYTHON_VERSION: ${{ vars.PYTHON_VERSION }}
112
- # DEV_CONTAINER_REGISTRY: ${{ vars.DEV_CONTAINER_REGISTRY }}
113
- # DEV_LOGIN_USERNAME: ${{ secrets.DEV_LOGIN_USERNAME }}
114
- # DEV_LOGIN_PASSWORD: ${{ secrets.DEV_LOGIN_PASSWORD }}
115
- # IMAGE_TAG: ${{ github.event_name == 'release' && github.event.release.tag_name || github.event.pull_request.head.ref }}
116
- # strategy:
117
- # matrix:
118
- # parent_image_type: ${{ fromJson(needs.pi-matrix.outputs.updated_parent_types) }}
119
- # steps:
120
- # - name: Checkout repository
121
- # uses: actions/checkout@v4
122
- # with:
123
- # token: ${{ secrets.GH_TOKEN }}
124
- # repository: '${{ github.repository_owner }}/refinery-${{ matrix.parent_image_type }}-parent-image'
125
- # fetch-depth: 0
126
- # submodules: 'true'
127
-
128
- # - name: Set up Python
129
- # uses: actions/setup-python@v5
130
- # with:
131
- # python-version: ${{ env.PYTHON_VERSION }}
132
-
133
- # - name: Install Dependencies
134
- # run: python -m pip install pip-tools
135
-
136
- # - name: Compile Requirements
137
- # run: |
138
- # cd ${{ github.workspace }}/submodules/parent-images
139
- # git checkout ${{ github.event.pull_request.head.ref }}
140
- # pip-compile requirements/${{ matrix.parent_image_type }}-requirements.in
141
-
142
- # - name: Set up Docker Buildx
143
- # uses: docker/setup-buildx-action@v3
144
- # with:
145
- # platforms: linux/amd64,linux/arm64
146
-
147
- # - name: Set up QEMU
148
- # uses: docker/setup-qemu-action@v3
149
- # with:
150
- # platforms: arm64,arm
151
-
152
- # - name: Log into DEV registry
153
- # uses: docker/login-action@v3
154
- # with:
155
- # registry: "${{ env.DEV_CONTAINER_REGISTRY }}"
156
- # username: "${{ env.DEV_LOGIN_USERNAME }}"
157
- # password: "${{ env.DEV_LOGIN_PASSWORD }}"
158
-
159
- # - name: Build & Push refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}
160
- # uses: docker/build-push-action@v5
161
- # with:
162
- # context: .
163
- # cache-from: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-cache
164
- # cache-to: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-cache,mode=max,image-manifest=true
165
- # platforms: linux/amd64
166
- # file: Dockerfile
167
- # tags: ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}
168
- # push: true
169
- # build-args: |
170
- # platform=linux/amd64
171
- # label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
57
+ - name : Set up Docker Buildx
58
+ uses : docker/setup-buildx-action@v3
59
+ with :
60
+ platforms : linux/amd64,linux/arm64
172
61
173
- # - name: Build & Push refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64
174
- # uses: docker/build-push-action@v5
175
- # with:
176
- # context: .
177
- # cache-from: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64-cache
178
- # cache-to: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64-cache,mode=max,image-manifest=true
179
- # platforms: linux/arm64
180
- # file: Dockerfile
181
- # tags: ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64
182
- # push: true
183
- # build-args: |
184
- # platform=linux/arm64
185
- # label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
62
+ - name : Set up QEMU
63
+ uses : docker/setup-qemu-action@v3
64
+ with :
65
+ platforms : arm64,arm
186
66
187
- # - name: Build & Push refinery-parent-images:sha-${{ matrix.parent_image_type }}
188
- # uses: docker/build-push-action@v5
189
- # with:
190
- # context: .
191
- # cache-from: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-cache
192
- # cache-to: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-cache,mode=max,image-manifest=true
193
- # platforms: linux/amd64
194
- # file: Dockerfile
195
- # tags: ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}
196
- # push: true
197
- # build-args: |
198
- # platform=linux/amd64
199
- # label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
67
+ - name : Log into DEV registry
68
+ uses : docker/login-action@v3
69
+ with :
70
+ registry : " ${{ env.DEV_CONTAINER_REGISTRY }}"
71
+ username : " ${{ env.DEV_LOGIN_USERNAME }}"
72
+ password : " ${{ env.DEV_LOGIN_PASSWORD }}"
200
73
201
- # - name: Build & Push refinery-parent-images:sha-${{ matrix.parent_image_type }}-arm64
202
- # uses: docker/build-push-action@v5
203
- # with:
204
- # context: .
205
- # cache-from: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-arm64-cache
206
- # cache-to: type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-arm64-cache,mode=max,image-manifest=true
207
- # platforms: linux/arm64
208
- # file: Dockerfile
209
- # tags: ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-arm64
210
- # push: true
211
- # build-args: |
212
- # platform=linux/arm64
213
- # label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
74
+ - name : Build & Push refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}
75
+ uses : docker/build-push-action@v5
76
+ with :
77
+ context : .
78
+ cache-from : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-cache
79
+ cache-to : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-cache,mode=max,image-manifest=true
80
+ platforms : linux/amd64
81
+ file : Dockerfile
82
+ tags : ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}
83
+ push : true
84
+ build-args : |
85
+ platform=linux/amd64
86
+ label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
87
+
88
+ - name : Build & Push refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64
89
+ uses : docker/build-push-action@v5
90
+ with :
91
+ context : .
92
+ cache-from : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64-cache
93
+ cache-to : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64-cache,mode=max,image-manifest=true
94
+ platforms : linux/arm64
95
+ file : Dockerfile
96
+ tags : ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.event.pull_request.head.ref }}-${{ matrix.parent_image_type }}-arm64
97
+ push : true
98
+ build-args : |
99
+ platform=linux/arm64
100
+ label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
101
+
102
+ - name : Build & Push refinery-parent-images:sha-${{ matrix.parent_image_type }}
103
+ uses : docker/build-push-action@v5
104
+ with :
105
+ context : .
106
+ cache-from : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-cache
107
+ cache-to : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-cache,mode=max,image-manifest=true
108
+ platforms : linux/amd64
109
+ file : Dockerfile
110
+ tags : ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}
111
+ push : true
112
+ build-args : |
113
+ platform=linux/amd64
114
+ label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
115
+
116
+ - name : Build & Push refinery-parent-images:sha-${{ matrix.parent_image_type }}-arm64
117
+ uses : docker/build-push-action@v5
118
+ with :
119
+ context : .
120
+ cache-from : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-arm64-cache
121
+ cache-to : type=registry,ref=${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-arm64-cache,mode=max,image-manifest=true
122
+ platforms : linux/arm64
123
+ file : Dockerfile
124
+ tags : ${{ env.DEV_CONTAINER_REGISTRY }}/refinery-parent-images:${{ github.sha }}-${{ matrix.parent_image_type }}-arm64
125
+ push : true
126
+ build-args : |
127
+ platform=linux/arm64
128
+ label=dockerfile-path=https://github.com/refinery-${{ matrix.parent_image_type }}-parent-image/blob/${{ github.sha }}/Dockerfile
0 commit comments