blob: ea1b343ecc105bc4df7ff478663a88fd88c421da [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Deploy submarine docker images
# Trigger the workflow on master branch push
on:
push:
branches: [master, 'branch-0.8']
jobs:
deploy-server:
if: github.repository == 'apache/submarine'
runs-on: ubuntu-latest
timeout-minutes: 240
env:
SUBMARINE_VERSION: 0.8.0
steps:
- uses: actions/checkout@v2
with:
repository: apache/submarine
- uses: docker/login-action@v1
name: Login to Docker Hub
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: "11"
- name: Set up Maven 3.6.3
uses: stCarolas/setup-maven@v4
with:
maven-version: 3.6.3
- name: Check version
run: |
mvn --version
java -version
- name: Build with Maven
run: mvn clean install -DskipTests
- name: Build submarine server
run: ./dev-support/docker-images/submarine/build.sh
- name: Push submarine-server docker image
run: |
docker push apache/submarine:server-$SUBMARINE_VERSION
docker rmi apache/submarine:server-$SUBMARINE_VERSION
- name: Build submarine agent
run: ./dev-support/docker-images/agent/build.sh
- name: Push submarine-agent docker image
run: |
docker push apache/submarine:agent-$SUBMARINE_VERSION
docker rmi apache/submarine:agent-$SUBMARINE_VERSION
## TODO(cdmikechen): In the future, we will not include the database as a built-in image
## to facilitate subsequent upgrades.
- name: Build submarine database
run: ./dev-support/docker-images/database/build.sh
- name: Push submarine-database docker image
run: |
docker push apache/submarine:database-$SUBMARINE_VERSION
docker rmi apache/submarine:database-$SUBMARINE_VERSION
deploy-builtin-images:
if: github.repository == 'apache/submarine'
runs-on: ubuntu-latest
timeout-minutes: 240
env:
SUBMARINE_VERSION: 0.8.0
steps:
- uses: actions/checkout@v2
with:
repository: apache/submarine
- uses: docker/login-action@v1
name: Login to Docker Hub
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build submarine jupyter
run: ./dev-support/docker-images/jupyter/build.sh
- name: Push submarine-jupyter docker image
run: |
docker push apache/submarine:jupyter-notebook-$SUBMARINE_VERSION
docker rmi apache/submarine:jupyter-notebook-$SUBMARINE_VERSION
- name: Build submarine jupyter gpu
run: ./dev-support/docker-images/jupyter-gpu/build.sh
- name: Push submarine-jupyter-gpu docker image
run: |
docker push apache/submarine:jupyter-notebook-gpu-$SUBMARINE_VERSION
docker rmi apache/submarine:jupyter-notebook-gpu-$SUBMARINE_VERSION
- name: Build submarine mlflow
run: ./dev-support/docker-images/mlflow/build.sh
- name: Push submarine-mlflow docker image
run: |
docker push apache/submarine:mlflow-$SUBMARINE_VERSION
docker rmi apache/submarine:mlflow-$SUBMARINE_VERSION
- name: Build submarine quickstart
run: ./dev-support/examples/quickstart/build.sh
- name: Push submarine quickstart docker image
run: |
docker push apache/submarine:quickstart-$SUBMARINE_VERSION
docker rmi apache/submarine:quickstart-$SUBMARINE_VERSION
deploy-cloud-native-and-cicd:
if: github.repository == 'apache/submarine'
runs-on: ubuntu-latest
timeout-minutes: 240
env:
SUBMARINE_VERSION: 0.8.0
steps:
- uses: actions/checkout@v2
with:
repository: apache/submarine
- uses: docker/login-action@v1
name: Login to Docker Hub
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build submarine operator
run: ./dev-support/docker-images/operator-v3/build.sh
- name: Push submarine-operator docker image
run: |
docker push apache/submarine:operator-$SUBMARINE_VERSION
docker rmi apache/submarine:operator-$SUBMARINE_VERSION
- name: Build submarine cicd
run: ./dev-support/cicd/build.sh
- name: Push submarine-cicd docker image
run: |
docker push apache/submarine:cicd-$SUBMARINE_VERSION
docker rmi apache/submarine:cicd-$SUBMARINE_VERSION