Skip to content

Release (SC)

Release (SC) #15

Workflow file for this run

name: Release (SC)
on:
workflow_dispatch:
inputs:
version:
description: "MLServer Version (SC) to Release"
required: true
jobs:
draft-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Update Version
run: |
./hack/update-version.sh ${{ github.event.inputs.version }}
- name: Commiting & Pushing Updated Version Tag
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Bump version to ${{ github.event.inputs.version }}
tagging_message: ${{ github.event.inputs.version }}
- name: Draft Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: false
draft: true
tag_name: ${{ github.event.inputs.version }}
mlserver-sc:
needs: draft-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.version }}
- name: Build Docker Image
run: |
DOCKER_BUILDKIT=1 docker build . \
--build-arg RUNTIMES=all \
-t $MLSERVER_IMAGE
env:
MLSERVER_IMAGE: seldonio/mlserver-sc:${{ github.event.inputs.version }}
- name: Scan Docker Image
uses: snyk/actions/docker@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
image: seldonio/mlserver-sc:${{ github.event.inputs.version }}
args: --fail-on=upgradable --app-vulns --severity-threshold=high --file=Dockerfile
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Push to DockerHub
run: |
docker push $MLSERVER_IMAGE
env:
MLSERVER_IMAGE: seldonio/mlserver-sc:${{ github.event.inputs.version }}
- name: Login to Quay.io
uses: docker/login-action@v2
with:
registry: quay.io
username: ${{ secrets.SC_QUAY_USERNAME }}
password: ${{ secrets.SC_QUAY_PASSWORD }}
- name: Push to Quay.io
run: |
docker tag $MLSERVER_IMAGE $QUAY_MLSERVER_IMAGE
docker push $QUAY_MLSERVER_IMAGE
env:
MLSERVER_IMAGE: seldonio/mlserver-sc:${{ github.event.inputs.version }}
QUAY_MLSERVER_IMAGE: quay.io/redhat-isv-containers/635670d3624969b495b6936f:${{ github.event.inputs.version }}
- name: Install preflight
run: |
wget https://github.com/redhat-openshift-ecosystem/openshift-preflight/releases/download/$PREFLIGHT_VERSION/preflight-linux-amd64
chmod u+x preflight-linux-amd64
sudo mv preflight-linux-amd64 /usr/local/bin/preflight
preflight --version
env:
PREFLIGHT_VERSION: 1.4.2
- name: Submit preflight results
run: |
preflight check container \
$QUAY_MLSERVER_IMAGE \
--docker-config=${HOME}/.docker/config.json \
--certification-project-id=$PROJECT_ID \
--pyxis-api-token=$PYXIS_API_TOKEN \
--artifacts ./artifacts/mlserver \
--submit
env:
PYXIS_API_TOKEN: ${{ secrets.PYXIS_API_TOKEN }}
PROJECT_ID: 635670d3624969b495b6936f
QUAY_MLSERVER_IMAGE: quay.io/redhat-isv-containers/635670d3624969b495b6936f:${{ github.event.inputs.version }}
mlserver-sc-slim:
needs: draft-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.version }}
- name: Build Docker Image
run: |
DOCKER_BUILDKIT=1 docker build . \
--build-arg RUNTIMES="" \
-t $MLSERVER_IMAGE
env:
MLSERVER_IMAGE: seldonio/mlserver-sc-slim:${{ github.event.inputs.version }}
- name: Scan Docker Image
uses: snyk/actions/docker@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
image: seldonio/mlserver-sc-slim:${{ github.event.inputs.version }}
args: --fail-on=upgradable --app-vulns --severity-threshold=high --file=Dockerfile
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Push to DockerHub
run: |
docker push $MLSERVER_IMAGE
env:
MLSERVER_IMAGE: seldonio/mlserver-sc-slim:${{ github.event.inputs.version }}
- name: Login to Quay.io
uses: docker/login-action@v2
with:
registry: quay.io
username: ${{ secrets.SC_QUAY_USERNAME_SLIM }}
password: ${{ secrets.SC_QUAY_PASSWORD_SLIM }}
- name: Push to Quay.io
run: |
docker tag $MLSERVER_IMAGE $QUAY_MLSERVER_IMAGE
docker push $QUAY_MLSERVER_IMAGE
env:
MLSERVER_IMAGE: seldonio/mlserver-sc-slim:${{ github.event.inputs.version }}
QUAY_MLSERVER_IMAGE: quay.io/redhat-isv-containers/63567143624969b495b69370:${{ github.event.inputs.version }}
- name: Install preflight
run: |
wget https://github.com/redhat-openshift-ecosystem/openshift-preflight/releases/download/$PREFLIGHT_VERSION/preflight-linux-amd64
chmod u+x preflight-linux-amd64
sudo mv preflight-linux-amd64 /usr/local/bin/preflight
preflight --version
env:
PREFLIGHT_VERSION: 1.4.2
- name: Submit preflight results
run: |
preflight check container \
$QUAY_MLSERVER_IMAGE \
--docker-config=${HOME}/.docker/config.json \
--certification-project-id=$PROJECT_ID \
--pyxis-api-token=$PYXIS_API_TOKEN \
--artifacts ./artifacts/mlserver \
--submit
env:
PYXIS_API_TOKEN: ${{ secrets.PYXIS_API_TOKEN }}
PROJECT_ID: 63567143624969b495b69370
QUAY_MLSERVER_IMAGE: quay.io/redhat-isv-containers/63567143624969b495b69370:${{ github.event.inputs.version }}