Test fix for OSX CI #161
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: CI | |
on: [push, pull_request] | |
env: | |
GH_REPO_NAME: ${{ github.event.repository.name }} | |
DOXYFILE: ${{ github.workspace }}/.doc_autogeneration.doxygen | |
GH_REPO_REF: ${{ github.repositoryUrl }} | |
PYTHON3_VERSION: python3.8 | |
jobs: | |
build: | |
name: ${{ matrix.env.NAME }} | |
runs-on: ${{ matrix.os }} | |
env: ${{ matrix.env }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Ubuntu | |
# Ubuntu 20.04 - Default - CMake - CUDA | |
- os: ubuntu-20.04 | |
os_name: linux | |
env: | |
NAME: U20-default-cmake-cuda | |
WITH_CUDNN: false | |
CI_OS_NAME: linux | |
# Ubuntu 18.04 - Default - CMake - CUDA | |
- os: ubuntu-18.04 | |
os_name: linux | |
env: | |
NAME: U18-default-cmake-cuda | |
WITH_CUDNN: false | |
CI_OS_NAME: linux | |
# Ubuntu 20.04 - Python - CMake - CUDA | |
- os: ubuntu-20.04 | |
os_name: linux | |
env: | |
NAME: U20-python-cmake-cuda | |
WITH_CUDNN: false | |
WITH_PYTHON: true | |
CI_OS_NAME: linux | |
CI_BUILD_NUMBER: ${{ github.run_number }} | |
CI_COMMIT: ${{ github.sha }} | |
DOCS: true | |
# Ubuntu 18.04 - Python - CMake - CUDA | |
- os: ubuntu-18.04 | |
os_name: linux | |
env: | |
NAME: U18-python-cmake-cuda | |
WITH_CUDNN: false | |
WITH_PYTHON: true | |
CI_OS_NAME: linux | |
# Ubuntu 20.04 - Python - CMake - CPU | |
- os: ubuntu-20.04 | |
os_name: linux | |
env: | |
NAME: U20-python-cmake-cpu | |
WITH_PYTHON: true | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
CI_OS_NAME: linux | |
# Ubuntu 18.04 - Python - CMake - CPU | |
- os: ubuntu-18.04 | |
os_name: linux | |
env: | |
NAME: U18-python-cmake-cpu | |
WITH_PYTHON: true | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
CI_OS_NAME: linux | |
# TO-DO (not passing) | |
# # Ubuntu 20.04 - Python - CMake - OpenCL | |
# - os: ubuntu-20.04 | |
# os_name: linux | |
# env: | |
# NAME: U20-python-cmake-opencl | |
# WITH_PYTHON: true | |
# WITH_CUDA: false | |
# WITH_CUDNN: false | |
# WITH_OPEN_CL: true | |
# CI_OS_NAME: linux | |
# Ubuntu 18.04 - Python - CMake - OpenCL | |
- os: ubuntu-18.04 | |
os_name: linux | |
env: | |
NAME: U18-python-cmake-opencl | |
WITH_PYTHON: true | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
WITH_OPEN_CL: true | |
CI_OS_NAME: linux | |
# Ubuntu 20.04 - Python - CMake - CPU - Debug | |
- os: ubuntu-20.04 | |
os_name: linux | |
env: | |
NAME: U20-python-cmake-cpu-debug | |
WITH_PYTHON: true | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
WITH_DEBUG: true | |
CI_OS_NAME: linux | |
# Ubuntu 18.04 - Python - CMake - CPU - Debug | |
- os: ubuntu-18.04 | |
os_name: linux | |
env: | |
NAME: U18-python-cmake-cpu-debug | |
WITH_PYTHON: true | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
WITH_DEBUG: true | |
CI_OS_NAME: linux | |
# Ubuntu 20.04 - Python - CMake - CPU - Unity | |
- os: ubuntu-20.04 | |
os_name: linux | |
env: | |
NAME: U20-python-cmake-cpu-unity | |
WITH_PYTHON: true | |
WITH_UNITY: true | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
CI_OS_NAME: linux | |
# Ubuntu 20.04 - Default - CMake - CPU | |
- os: ubuntu-20.04 | |
os_name: linux | |
env: | |
NAME: U20-default-cmake-cpu | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
CI_OS_NAME: linux | |
# Mac OSX | |
# Mac OSX - Python - CMake - CPU | |
- os: macos-10.15 | |
os_name: osx | |
env: | |
NAME: OSX-python-cmake-cpu | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
WITH_PYTHON: true | |
CI_OS_NAME: osx | |
# Mac OSX - Python - CMake - OpenCL | |
- os: macos-10.15 | |
os_name: osx | |
env: | |
NAME: OSX-default-cmake-opencl | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
WITH_OPEN_CL: true | |
CI_OS_NAME: osx | |
# Mac OSX - Python - CMake - CPU - Debug | |
- os: macos-10.15 | |
os_name: osx | |
env: | |
NAME: OSX-python-cmake-cpu-debug | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
WITH_PYTHON: true | |
WITH_DEBUG: true | |
CI_OS_NAME: osx | |
# Mac OSX - Python - CMake - CPU - Unity | |
- os: macos-10.15 | |
os_name: osx | |
env: | |
NAME: OSX-python-cmake-cpu-unity | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
WITH_PYTHON: true | |
WITH_UNITY: true | |
CI_OS_NAME: osx | |
# Mac OSX - Default - CMake - CPU | |
- os: macos-10.15 | |
os_name: osx | |
env: | |
NAME: OSX-default-cmake-cpu | |
WITH_CUDA: false | |
WITH_CUDNN: false | |
CI_OS_NAME: osx | |
# TO-DO (not passing) | |
# Note: CUDA jobs fail in U16 because of an issue with GCC 5.5 (https://github.com/NVIDIA/apex/issues/529). GH Actions doesn't support | |
# GCC 5.4 and CUDA does not support newer than GCC 5.X. Thus, cuDNN (sh file only for Ubuntu 16) is no longer tested. | |
# # Ubuntu 16.04 | |
# # Ubuntu 16.04 - Default - CMake - CUDA | |
# - os: ubuntu-16.04 | |
# os_name: linux | |
# env: | |
# NAME: U16-default-cmake-cuda8 | |
# CI_OS_NAME: linux | |
# # Deprecated (not working for the above issue between CUDA and the Ubuntu16 from GitHub Actions) | |
# # Ubuntu 16.04 - Default - Make - CUDA | |
# - os: ubuntu-16.04 | |
# os_name: linux | |
# env: | |
# NAME: U16-default-make-cuda | |
# WITH_CUDNN: false | |
# WITH_CMAKE: false | |
# CI_OS_NAME: linux | |
# Ubuntu 16 no longer works | |
# # Ubuntu 16.04 - Python - CMake - CPU | |
# - os: ubuntu-16.04 | |
# os_name: linux | |
# env: | |
# NAME: U16-python-cmake-cpu | |
# WITH_PYTHON: true | |
# WITH_CUDA: false | |
# WITH_CUDNN: false | |
# CI_OS_NAME: linux | |
# # Ubuntu 16.04 - Python - CMake - OpenCL | |
# - os: ubuntu-16.04 | |
# os_name: linux | |
# env: | |
# NAME: U16-python-cmake-opencl | |
# WITH_PYTHON: true | |
# WITH_CUDA: false | |
# WITH_CUDNN: false | |
# WITH_OPEN_CL: true | |
# CI_OS_NAME: linux | |
# # Ubuntu 16.04 - Python - CMake - CPU - Debug | |
# - os: ubuntu-16.04 | |
# os_name: linux | |
# env: | |
# NAME: U16-python-cmake-cpu-debug | |
# WITH_PYTHON: true | |
# WITH_CUDA: false | |
# WITH_CUDNN: false | |
# WITH_DEBUG: true | |
# CI_OS_NAME: linux | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
if: ${{ matrix.env.WITH_PYTHON }} | |
- name: Install (Linux) | |
run: scripts/CI/install_deps_ubuntu.sh | |
if: ${{ matrix.os_name == 'linux' }} | |
- name: Install (Mac OS) | |
run: scripts/CI/install_deps_osx.sh | |
if: ${{ matrix.os_name == 'osx' }} | |
- name: Configure | |
run: scripts/CI/configure.sh | |
- name: Make | |
run: scripts/CI/run_make.sh | |
- name: Tests | |
run: scripts/CI/run_tests.sh | |
- name: Docs APT packages | |
run: | | |
# The Doxygen apt-get version for Ubuntu 20 is 1.8.17, which has some bugs fixed in 1.9.1 | |
# run: sudo apt-get -yq install doxygen doxygen-doc doxygen-latex doxygen-gui graphviz | |
git clone https://github.com/doxygen/doxygen.git && cd doxygen && git checkout Release_1_9_1 | |
mkdir build && cd build | |
cmake -G "Unix Makefiles" .. | |
make -j`nproc` | |
sudo make install | |
if: ${{ matrix.DOCS }} | |
- name: Generate docs | |
run: | | |
cd ${{ github.workspace }} | |
echo 'Generating Doxygen code documentation...' | |
doxygen $DOXYFILE 2>&1 | tee doxygen.log | |
# Required so Doxygen links/finds the license file | |
cp LICENSE doxygen/html/LICENSE | |
# Required in order to link .github/media/ images with doc without modifying doc links. Remove if using `publish_dir: doxygen/html/` | |
mkdir -p doxygen_final/web/html/ && mv doxygen/html doxygen_final/web/html/doc | |
mkdir -p doxygen_final/web/.github/media/ && cp -rf .github/media/ doxygen_final/web/.github/ | |
mkdir -p doxygen_final/web/html/.github/media/ && cp -rf .github/media/ doxygen_final/web/html/.github/ | |
mkdir -p doxygen_final/web/html/doc/.github/media/ && cp -rf .github/media/ doxygen_final/web/html/doc/.github/ | |
echo 'Copying log...' | |
cp doxygen.log doxygen_final/doxygen.log | |
echo 'Copying index.html to root pointing to actual docs' | |
cp .github/root_index.html doxygen_final/index.html | |
if: ${{ matrix.DOCS }} | |
- name: Deploy Docs | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: doxygen_final/ | |
# publish_dir: doxygen/html/ # Original one, it would turn [...].github.io/openpose/web/html/doc/ into [...].github.io/openpose/, but images would not work | |
destination_dir: . | |
enable_jekyll: false | |
force_orphan: true | |
if: ${{ matrix.DOCS && github.event_name == 'push' && github.ref == 'refs/heads/master' }} |