Transformer Docker Images #40
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Transformer Docker Images | |
on: | |
workflow_dispatch: | |
inputs: | |
build_echo_image: | |
description: 'Build TRANSFORMER_ECHO Image (aistorage/transformer_echo:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_go_echo_image: | |
description: 'Build TRANSFORMER_GO_ECHO Image (aistorage/transformer_echo_go:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_hello_world_image: | |
description: 'Build TRANSFORMER_HELLO_WORLD Image (aistorage/transformer_hello_world:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_md5_image: | |
description: 'Build TRANSFORMER_MD5 Image (aistorage/transformer_md5:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_tar2tf_image: | |
description: 'Build TRANSFORMER_TAR2TF Image (aistorage/transformer_tar2tf:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_compress_image: | |
description: 'Build TRANSFORMER_COMPRESS Image (aistorage/transformer_compress:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_keras_preprocess_image: | |
description: 'Build TRANSFORMER_KERAS Image (aistorage/transformer_keras:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_ffmpeg_image: | |
description: 'Build TRANSFORMER_FFMPEG Image (aistorage/transformer_ffmpeg:latest)' | |
required: true | |
type: boolean | |
default: true | |
build_torchvision_preprocess_image: | |
description: 'Build TRANSFORMER_TORCHVISION Image (aistorage/transformer_torchvision:latest)' | |
required: true | |
type: boolean | |
default: true | |
push: | |
paths: | |
- 'transformers/**' | |
env: | |
ECHO_ENABLE: ${{ github.event.inputs.build_echo_image }} | |
GO_ECHO_ENABLE: ${{ github.event.inputs.build_go_echo_image }} | |
HELLO_WORLD_ENABLE: ${{ github.event.inputs.build_hello_world_image }} | |
MD5_ENABLE: ${{ github.event.inputs.build_md5_image }} | |
TAR2TF_ENABLE: ${{ github.event.inputs.build_tar2tf_image }} | |
COMPRESS_ENABLE: ${{ github.event.inputs.build_compress_image }} | |
KERAS_ENABLE: ${{ github.event.inputs.build_keras_preprocess_image }} | |
FFMPEG_ENABLE: ${{ github.event.inputs.build_ffmpeg_image }} | |
TORCHVISION_ENABLE: ${{ github.event.inputs.build_torchvision_preprocess_image }} | |
jobs: | |
build-test-tag: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Docker Login | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Setup Minikube | |
uses: medyagh/[email protected] | |
with: | |
driver: docker | |
container-runtime: docker | |
cpus: max | |
memory: max | |
- name: Run AIStore in Minikube | |
run: | | |
git clone https://github.com/NVIDIA/aistore.git | |
cd aistore/deploy/dev/k8s | |
./minimal.sh | |
- name: Setup Python 3.11 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.11 | |
- name: Install FFMPEG | |
run: | | |
wget -nv http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | |
tar -xf ffmpeg-release-amd64-static.tar.xz | |
FFMPEG_DIR=$(ls | grep ffmpeg-*-static) | |
cp ${FFMPEG_DIR}/ffmpeg /usr/local/bin/ | |
cp ${FFMPEG_DIR}/ffprobe /usr/local/bin/ | |
rm -rf ffmpeg-*-static ffmpeg-release-amd64-static.tar.xz | |
ffmpeg -version | |
- name: Install Torchvision | |
run: | | |
pip install torchvision --index-url https://download.pytorch.org/whl/cpu | |
- name: Build & Push Transformer Docker Images w/ `test` Tag | |
run: | | |
pushd $GITHUB_WORKSPACE/transformers | |
export GIT_TEST="true" | |
make -B all | |
popd | |
- name: Test Transformer Docker Images w/ `test` Tag | |
run: | | |
cd $GITHUB_WORKSPACE/transformers/ | |
export AIS_ENDPOINT="http://$(minikube ip):8080" | |
export GIT_TEST="true" | |
make test | |
build-latest-tag: | |
needs: build-test-tag | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Docker Login | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Setup Minikube | |
uses: medyagh/[email protected] | |
with: | |
driver: docker | |
container-runtime: docker | |
cpus: max | |
memory: max | |
- name: Run AIStore in Minikube | |
run: | | |
git clone https://github.com/NVIDIA/aistore.git | |
cd aistore/deploy/dev/k8s | |
./minimal.sh | |
- name: Setup Python 3.11 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.11 | |
- name: Install FFMPEG | |
run: | | |
wget -nv http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | |
tar -xf ffmpeg-release-amd64-static.tar.xz | |
FFMPEG_DIR=$(ls | grep ffmpeg-*-static) | |
cp ${FFMPEG_DIR}/ffmpeg /usr/local/bin/ | |
cp ${FFMPEG_DIR}/ffprobe /usr/local/bin/ | |
rm -rf ffmpeg-*-static ffmpeg-release-amd64-static.tar.xz | |
ffmpeg -version | |
- name: Install Torchvision | |
run: | | |
pip install torchvision --index-url https://download.pytorch.org/whl/cpu | |
- name: Build & Push Transformer Docker Images w/ `latest` Tag | |
run: | | |
pushd $GITHUB_WORKSPACE/transformers | |
export GIT_TEST="false" | |
make -B all | |
popd | |
- name: Test Transformer Docker Images w/ `latest` Tag | |
run: | | |
cd $GITHUB_WORKSPACE/transformers/ | |
export AIS_ENDPOINT="http://$(minikube ip):8080" | |
export GIT_TEST="false" | |
make test |