1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
name: Docker Image CI
on:
push:
branches:
- "*"
pull_request:
branches:
- master
env:
RC_NAME: dt42/berrynet
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
# need to set dockerhub password in GitHub secrets
# - name: Login to docker hub
# uses: actions-hub/docker/login@master
# env:
# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
# - name: Pull cache
# run: |
# docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
# docker pull ${RC_NAME}:cache
- name: Build image
if: always()
run: |
docker build --cache-from ${RC_NAME}:cache -t ${RC_NAME} -f docker/Dockerfile .
docker tag ${RC_NAME} ${RC_NAME}:${GITHUB_SHA}
docker tag ${RC_NAME} ${RC_NAME}:cache
# need to set dockerhub password in GitHub secrets
# - name: Push to docker registry
# uses: actions-hub/docker@master
# if: (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/prod') && success()
# with:
# args: push ${RC_NAME}:${GITHUB_SHA}
# - name: Push Cache to docker registry
# uses: actions-hub/docker@master
# if: always()
# with:
# args: push ${RC_NAME}:cache
test:
env:
POETRY_VIRTUALENVS_CREATE: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
pip install poetry
poetry install
python3 setup.py install
- name: Download inception models
run: |
wget "https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz" -O berrynet/engine/inception_v3_2016_08_28_frozen.pb.tar.gz
tar -zxvf berrynet/engine/inception_v3_2016_08_28_frozen.pb.tar.gz -C berrynet/engine
- name: Test with pytest
run: |
python3 -m unittest
|