Build on CI

This commit is contained in:
Hannes Achleitner 2020-09-10 07:48:08 +02:00
parent 7c331ad58b
commit 2d9d89d50e
4 changed files with 53 additions and 69 deletions

49
.github/workflows/CI.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: PullRequest
on: [pull_request]
jobs:
buildTest:
name: Build
runs-on: macOS-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
- name: Install Android SDK
uses: malinskiy/action-android/install-sdk@release/0.1.0
- name: Install prerequisite brew
run: |
brew install opencv@3
brew install python
python --version
- name: Install prerequisite Python
run: |
python --version |
pip install --user six
pip install numpy
- name: Build project
run: |
export ANDROID_HOME=/Users/runner/Library/Android/sdk
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle
echo a | ./build_android_examples.sh
- name: Show result
run: git status
- name: Find Tag
id: tagger
uses: jimschubert/query-tag-action@v2
with:
skip-unshallow: 'true'
abbrev: false
commit-ish: HEAD
- name: Rename AAR
run: find bazel-bin/mediapipe/ -name *aar.aar -exec mv {} {}_${{steps.tagger.outputs.tag}}.aar \;
- name: Get Version
run: git describe --tags
- name: Archive AAR ${{steps.tagger.outputs.tag}}
uses: actions/upload-artifact@v2.2.1
if: ${{ always() }}
with:
name: AAR-library-${{steps.tagger.outputs.tag}}
path: bazel-bin/mediapipe//examples/android/src/java/com/google/mediapipe/apps/**/*.aar

View File

@ -1,69 +0,0 @@
# Copyright 2019 The MediaPipe Authors.
#
# Licensed 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.
FROM ubuntu:18.04
MAINTAINER <mediapipe@google.com>
WORKDIR /io
WORKDIR /mediapipe
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
curl \
ffmpeg \
git \
wget \
unzip \
python3-dev \
python3-opencv \
python3-pip \
libopencv-core-dev \
libopencv-highgui-dev \
libopencv-imgproc-dev \
libopencv-video-dev \
libopencv-calib3d-dev \
libopencv-features2d-dev \
software-properties-common && \
add-apt-repository -y ppa:openjdk-r/ppa && \
apt-get update && apt-get install -y openjdk-8-jdk && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN pip3 install --upgrade setuptools
RUN pip3 install wheel
RUN pip3 install future
RUN pip3 install six==1.14.0
RUN pip3 install tensorflow==1.14.0
RUN pip3 install tf_slim
RUN ln -s /usr/bin/python3 /usr/bin/python
# Install bazel
ARG BAZEL_VERSION=3.7.2
RUN mkdir /bazel && \
wget --no-check-certificate -O /bazel/installer.sh "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/b\
azel-${BAZEL_VERSION}-installer-linux-x86_64.sh" && \
wget --no-check-certificate -O /bazel/LICENSE.txt "https://raw.githubusercontent.com/bazelbuild/bazel/master/LICENSE" && \
chmod +x /bazel/installer.sh && \
/bazel/installer.sh && \
rm -f /bazel/installer.sh
COPY . /mediapipe/
# If we want the docker image to contain the pre-built object_detection_offline_demo binary, do the following
# RUN bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/demo:object_detection_tensorflow_demo

4
setup_android_sdk_and_ndk.sh Normal file → Executable file
View File

@ -34,6 +34,10 @@ then
echo "Found existing \$ANDROID_HOME="$ANDROID_HOME" and \$ANDROID_NDK_HOME="$ANDROID_NDK_HOME
echo "Bazel will locate Android SDK and NDK automatically."
exit 0
else
echo "You can specify ANDROID_HOME and ANDROID_NDK_HOME, currently I've these variables:"
echo ANDROID_HOME=$ANDROID_HOME
echo ANDROID_NDK_HOME=$ANDROID_NDK_HOME
fi
android_sdk_path=$1

0
setup_opencv.sh Normal file → Executable file
View File