Skip to content

Commit 1519724

Browse files
authored
Add Workflow to Publish Katib Images (#1746)
* Add Workflow to Publish Katib Images * Change docker hub * Remove comment * Fix path * Use composite run
1 parent 326089d commit 1519724

File tree

4 files changed

+170
-0
lines changed

4 files changed

+170
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Publish AutoML Algorithm Images
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
env:
9+
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
10+
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
11+
12+
jobs:
13+
algorithm:
14+
name: Publish Image
15+
# Trigger workflow only for kubeflow/katib repository.
16+
if: github.repository == 'kubeflow/katib'
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v2
21+
22+
- name: Publish Component ${{ matrix.component-name }}
23+
uses: ./.github/workflows/template-publish-image
24+
with:
25+
image: docker.io/kubeflowkatib/${{ matrix.component-name }}
26+
dockerfile: ${{ matrix.dockerfile }}
27+
28+
strategy:
29+
matrix:
30+
include:
31+
- component-name: suggestion-hyperopt
32+
dockerfile: cmd/suggestion/hyperopt/v1beta1/Dockerfile
33+
- component-name: suggestion-chocolate
34+
dockerfile: cmd/suggestion/chocolate/v1beta1/Dockerfile
35+
- component-name: suggestion-hyperband
36+
dockerfile: cmd/suggestion/hyperband/v1beta1/Dockerfile
37+
- component-name: suggestion-skopt
38+
dockerfile: cmd/suggestion/skopt/v1beta1/Dockerfile
39+
- component-name: suggestion-goptuna
40+
dockerfile: cmd/suggestion/goptuna/v1beta1/Dockerfile
41+
- component-name: suggestion-optuna
42+
dockerfile: cmd/suggestion/optuna/v1beta1/Dockerfile
43+
- component-name: suggestion-enas
44+
dockerfile: cmd/suggestion/nas/enas/v1beta1/Dockerfile
45+
- component-name: suggestion-darts
46+
dockerfile: cmd/suggestion/nas/darts/v1beta1/Dockerfile
47+
- component-name: earlystopping-medianstop
48+
dockerfile: cmd/earlystopping/medianstop/v1beta1/Dockerfile
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Publish Katib Core Images
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
env:
9+
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
10+
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
11+
12+
jobs:
13+
core:
14+
name: Publish Image
15+
# Trigger workflow only for kubeflow/katib repository.
16+
if: github.repository == 'kubeflow/katib'
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v2
21+
22+
- name: Publish Component ${{ matrix.component-name }}
23+
uses: ./.github/workflows/template-publish-image
24+
with:
25+
image: docker.io/kubeflowkatib/${{ matrix.component-name }}
26+
dockerfile: ${{ matrix.dockerfile }}
27+
28+
strategy:
29+
matrix:
30+
include:
31+
- component-name: katib-controller
32+
dockerfile: cmd/katib-controller/v1beta1/Dockerfile
33+
- component-name: katib-db-manager
34+
dockerfile: cmd/db-manager/v1beta1/Dockerfile
35+
- component-name: katib-ui
36+
dockerfile: cmd/new-ui/v1beta1/Dockerfile
37+
- component-name: cert-generator
38+
dockerfile: cmd/cert-generator/v1beta1/Dockerfile
39+
- component-name: file-metrics-collector
40+
dockerfile: cmd/metricscollector/v1beta1/file-metricscollector/Dockerfile
41+
- component-name: tfevent-metrics-collector
42+
dockerfile: cmd/metricscollector/v1beta1/tfevent-metricscollector/Dockerfile
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Publish Trial Images
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
env:
9+
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
10+
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
11+
12+
jobs:
13+
trial:
14+
name: Publish Image
15+
# Trigger workflow only for kubeflow/katib repository.
16+
if: github.repository == 'kubeflow/katib'
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v2
21+
22+
- name: Publish Trial ${{ matrix.trial-name }}
23+
uses: ./.github/workflows/template-publish-image
24+
with:
25+
image: docker.io/kubeflowkatib/${{ matrix.trial-name }}
26+
dockerfile: ${{ matrix.dockerfile }}
27+
28+
strategy:
29+
matrix:
30+
include:
31+
- trial-name: mxnet-mnist
32+
dockerfile: examples/v1beta1/trial-images/mxnet-mnist/Dockerfile
33+
- trial-name: pytorch-mnist
34+
dockerfile: examples/v1beta1/trial-images/pytorch-mnist/Dockerfile
35+
- trial-name: enas-cnn-cifar10-gpu
36+
dockerfile: examples/v1beta1/trial-images/enas-cnn-cifar10/Dockerfile.gpu
37+
- trial-name: enas-cnn-cifar10-cpu
38+
dockerfile: examples/v1beta1/trial-images/enas-cnn-cifar10/Dockerfile.cpu
39+
- trial-name: darts-cnn-cifar10
40+
dockerfile: examples/v1beta1/trial-images/darts-cnn-cifar10/Dockerfile
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Template run for publishing Katib images.
2+
3+
inputs:
4+
image:
5+
required: true
6+
type: string
7+
dockerfile:
8+
required: true
9+
type: string
10+
11+
runs:
12+
using: composite
13+
steps:
14+
- name: Set Up Docker Buildx
15+
uses: docker/setup-buildx-action@v1
16+
17+
- name: Docker Login
18+
uses: docker/login-action@v1
19+
with:
20+
username: ${{ env.DOCKERHUB_USERNAME }}
21+
password: ${{ env.DOCKERHUB_TOKEN }}
22+
23+
- name: Add Docker Tags
24+
id: meta
25+
uses: docker/metadata-action@v3
26+
with:
27+
images: ${{ inputs.image }}
28+
tags: |
29+
type=raw,latest
30+
type=sha,prefix=v1beta1-
31+
32+
- name: Build and Push
33+
uses: docker/build-push-action@v2
34+
with:
35+
context: .
36+
file: ${{ inputs.dockerfile }}
37+
push: true
38+
tags: ${{ steps.meta.outputs.tags }}
39+
cache-from: type=gha
40+
cache-to: type=gha,mode=max

0 commit comments

Comments
 (0)