Skip to content

Commit b15f5d2

Browse files
committed
fix pipeline bug and workflow
Signed-off-by: Sunyanan Choochotkaew <[email protected]>
1 parent 552a2c4 commit b15f5d2

File tree

10 files changed

+38
-64
lines changed

10 files changed

+38
-64
lines changed

.github/workflows/integration-test.yml

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
name: Integration Test
22
on:
33
workflow_call:
4-
secrets:
5-
docker_username:
6-
description: 'Docker username'
7-
required: false
8-
docker_password:
9-
description: 'Docker password'
10-
required: false
114
inputs:
125
base_change:
136
description: 'Change flag on base image'
147
required: true
158
type: string
9+
docker_secret:
10+
description: 'Secret check'
11+
required: true
12+
type: string
1613
image_repo:
1714
description: 'The image repo to use'
1815
required: true
@@ -28,6 +25,7 @@ env:
2825

2926
jobs:
3027
run-integration:
28+
if: ${{ (inputs.base_change != 'true') || ( (inputs.base_change == 'true') && (inputs.docker_secret == 'true') ) }}
3129
runs-on: ubuntu-20.04
3230
steps:
3331
- name: use Kepler action to deploy cluster
@@ -42,25 +40,18 @@ jobs:
4240
kind load docker-image quay.io/sustainable_computing_io/kepler:latest
4341
- name: checkout
4442
uses: actions/checkout@v4
45-
- name: Login to Docker
46-
if: ${{ inputs.base_change == 'true' }}
47-
uses: docker/login-action@v3
48-
with:
49-
registry: ${{ inputs.image_repo }}
50-
username: ${{ secrets.docker_username }}
51-
password: ${{ secrets.docker_password }}
52-
- name: Replace value in Dockerfile
53-
if: ${{ inputs.base_change == 'true' }}
54-
run: |
55-
sed -i "s|quay.io/sustainable_computing_io/kepler_model_server_base:v0.7|${{ env.BASE_IMAGE }}|" dockerfiles/Dockerfile
56-
- name: Replace value in Dockerfile.test
57-
if: ${{ inputs.base_change == 'true' }}
58-
run: |
59-
sed -i "s|quay.io/sustainable_computing_io/kepler_model_server_base:v0.7|${{ env.BASE_IMAGE }}|" dockerfiles/Dockerfile.test
6043
- name: set up QEMU
6144
uses: docker/setup-qemu-action@v3
6245
- name: set up Docker Buildx
6346
uses: docker/setup-buildx-action@v3
47+
- name: Replace value in Dockerfile if base changes
48+
if: ${{ (inputs.base_change == 'true') && (inputs.docker_secret == 'true') }}
49+
run: |
50+
sed -i "s|quay.io/sustainable_computing_io/kepler_model_server_base:v0.7|${{ env.BASE_IMAGE }}|" dockerfiles/Dockerfile
51+
- name: Replace value in Dockerfile.test if base changes
52+
if: ${{ (inputs.base_change == 'true') && (inputs.docker_secret == 'true') }}
53+
run: |
54+
sed -i "s|quay.io/sustainable_computing_io/kepler_model_server_base:v0.7|${{ env.BASE_IMAGE }}|" dockerfiles/Dockerfile.test
6455
- name: build Kepler model server and test image and push to local registry
6556
run: make build build-test push push-test
6657
- name: set up Kustomize

.github/workflows/push-pr.yml

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -153,28 +153,22 @@ jobs:
153153
echo "change=true" >> "$GITHUB_OUTPUT"
154154
155155
tekton-test:
156-
needs: [check-branch, base-image]
157-
# the changed base-image has been pushed or no change
158-
if: ${{ needs.base-image.outputs.change == 'true' || needs.check-change.outputs.base != 'true' }}
156+
needs: [check-secret, check-branch, base-image]
157+
if: always()
159158
uses: ./.github/workflows/tekton-test.yml
160159
with:
161-
base_change: ${{ needs.base-image.outputs.change }}
160+
base_change: ${{ needs.check-change.outputs.base }}
161+
docker_secret: ${{ needs.check-secret.outputs.docker-secret }}
162162
image_repo: ${{ vars.IMAGE_REPO || 'docker.io/library' }}
163163
image_tag: ${{ needs.check-branch.outputs.tag }}
164164
pipeline_name: std_v0.7
165-
secrets:
166-
docker_username: ${{ secrets.BOT_NAME }}
167-
docker_password: ${{ secrets.BOT_TOKEN }}
168165

169166
integration-test:
170-
needs: [check-branch, base-image]
171-
# the changed base-image has been pushed or no change
172-
if: ${{ needs.base-image.outputs.change == 'true' || needs.check-change.outputs.base != 'true' }}
167+
needs: [check-secret, check-branch, base-image]
168+
if: always()
173169
uses: ./.github/workflows/integration-test.yml
174170
with:
175-
base_change: ${{ needs.base-image.outputs.change }}
171+
base_change: ${{ needs.check-change.outputs.base }}
172+
docker_secret: ${{ needs.check-secret.outputs.docker-secret }}
176173
image_repo: ${{ vars.IMAGE_REPO || 'docker.io/library' }}
177-
image_tag: ${{ needs.check-branch.outputs.tag }}
178-
secrets:
179-
docker_username: ${{ secrets.BOT_NAME }}
180-
docker_password: ${{ secrets.BOT_TOKEN }}
174+
image_tag: ${{ needs.check-branch.outputs.tag }}

.github/workflows/tekton-test.yml

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,15 @@ name: Tekton Test
22

33
on:
44
workflow_call:
5-
secrets:
6-
docker_username:
7-
description: 'Docker username'
8-
required: false
9-
docker_password:
10-
description: 'Docker password'
11-
required: false
125
inputs:
136
base_change:
147
description: 'Change flag on base image'
158
required: true
169
type: string
10+
docker_secret:
11+
description: 'Secret check'
12+
required: true
13+
type: string
1714
image_repo:
1815
description: 'The image repo to use'
1916
required: true
@@ -43,6 +40,7 @@ env:
4340

4441
jobs:
4542
tekton-test:
43+
if: ${{ (inputs.base_change != 'true') || ( (inputs.base_change == 'true') && (inputs.docker_secret == 'true') ) }}
4644
runs-on: ubuntu-latest
4745
steps:
4846
- name: checkout
@@ -51,22 +49,13 @@ jobs:
5149
uses: docker/setup-qemu-action@v3
5250
- name: set up Docker Buildx
5351
uses: docker/setup-buildx-action@v3
54-
- name: Login to Docker
55-
if: ${{ inputs.base_change == 'true' }}
56-
uses: docker/login-action@v3
57-
with:
58-
registry: ${{ inputs.image_repo }}
59-
username: ${{ secrets.docker_username }}
60-
password: ${{ secrets.docker_password }}
61-
- name: Replace value in file
62-
if: ${{ inputs.base_change == 'true' }}
52+
- name: Replace value in file if base changes
53+
if: ${{ (inputs.base_change == 'true') && (inputs.docker_secret == 'true') }}
6354
run: |
6455
sed -i "s|quay.io/sustainable_computing_io/kepler_model_server_base:v0.7|${{ env.BASE_IMAGE }}|" dockerfiles/Dockerfile
65-
6656
- name: Build image
6757
run: |
6858
docker build -t $IMAGE -f dockerfiles/Dockerfile .
69-
7059
- name: Prepare Cluster
7160
working-directory: model_training
7261
run: |
@@ -135,7 +124,7 @@ jobs:
135124
- name: STRESS_BREAK_INTERVAL
136125
value: 1
137126
- name: IDLE_COLLECT_INTERVAL
138-
value: 20
127+
value: 100
139128
- name: CPU_FREQUENCY_ENABLED
140129
value: false
141130
pipelineRef:

model_training/tekton/examples/complete-pipelinerun.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ spec:
2424
- name: STRESS_BREAK_INTERVAL
2525
value: 1
2626
- name: IDLE_COLLECT_INTERVAL
27-
value: 20
27+
value: 100
2828
- name: CPU_FREQUENCY_ENABLED
2929
value: false
3030
pipelineRef:

model_training/tekton/examples/single-train/abs-power.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ spec:
2626
- name: STRESS_BREAK_INTERVAL
2727
value: 1
2828
- name: IDLE_COLLECT_INTERVAL
29-
value: 20
29+
value: 100
3030
- name: CPU_FREQUENCY_ENABLED
3131
value: false
3232
pipelineRef:

model_training/tekton/examples/single-train/aws-push.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ spec:
3232
- name: STRESS_BREAK_INTERVAL
3333
value: 1
3434
- name: IDLE_COLLECT_INTERVAL
35-
value: 20
35+
value: 100
3636
- name: CPU_FREQUENCY_ENABLED
3737
value: false
3838
pipelineRef:

model_training/tekton/examples/single-train/dyn-power.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ spec:
2626
- name: STRESS_BREAK_INTERVAL
2727
value: 1
2828
- name: IDLE_COLLECT_INTERVAL
29-
value: 20
29+
value: 100
3030
- name: CPU_FREQUENCY_ENABLED
3131
value: false
3232
pipelineRef:

model_training/tekton/examples/single-train/ibmcloud-push.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ spec:
3232
- name: STRESS_BREAK_INTERVAL
3333
value: 1
3434
- name: IDLE_COLLECT_INTERVAL
35-
value: 20
35+
value: 100
3636
- name: CPU_FREQUENCY_ENABLED
3737
value: false
3838
pipelineRef:

model_training/tekton/examples/test-collect.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ spec:
2323
- name: STRESS_BREAK_INTERVAL
2424
value: 1
2525
- name: IDLE_COLLECT_INTERVAL
26-
value: 20
26+
value: 100
2727
- name: CPU_FREQUENCY_ENABLED
2828
value: false
2929
pipelineRef:

src/train/pipeline.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def process(self, input_query_results, energy_components, energy_source, feature
143143
if abs_data is None and dyn_data is None:
144144
return False, None, None
145145
if replace_node_type is not None:
146-
self.print_log("Replace Node Type: ", replace_node_type)
146+
self.print_log("Replace Node Type: {}".format(replace_node_type))
147147
abs_data[node_info_column] = replace_node_type
148148
dyn_data[node_info_column] = replace_node_type
149149
self._train(abs_data, dyn_data, power_labels, energy_source, feature_group)
@@ -156,7 +156,7 @@ def process_multiple_query(self, input_query_results_list, energy_components, en
156156
if (abs_data is None or len(abs_data) == 0) and (dyn_data is None or len(dyn_data) == 0):
157157
return False, None, None
158158
if replace_node_type is not None:
159-
self.print_log("Replace Node Type: ", replace_node_type)
159+
self.print_log("Replace Node Type: {}".format(replace_node_type))
160160
abs_data[node_info_column] = replace_node_type
161161
dyn_data[node_info_column] = replace_node_type
162162
self._train(abs_data, dyn_data, power_labels, energy_source, feature_group)

0 commit comments

Comments
 (0)