Skip to content

Commit

Permalink
ENH: Enable Documentation build for GitHub Actions
Browse files Browse the repository at this point in the history
This enables a previously commented out Job for the GitHub Actions. This
specifically builds the module with Documentation on.
  • Loading branch information
mseng10 committed Jan 26, 2021
1 parent 070d9d2 commit 9fab61d
Showing 1 changed file with 103 additions and 96 deletions.
199 changes: 103 additions & 96 deletions .github/workflows/build-test.yml
Expand Up @@ -250,99 +250,106 @@ jobs:
ctest -j 2 -VV -S dashboard.cmake
shell: cmd

#TODO: Implement Documentation Build when warnings are fixed.
# build-test-documentation:
# runs-on: ${{ matrix.os }}
# strategy:
# max-parallel: 3
# matrix:
# os: [ubuntu-18.04]
# include:
# - os: ubuntu-18.04
# c-compiler: "gcc"
# cxx-compiler: "g++"
# itk-git-tag: "v5.1.0"
# cmake-build-type: "Release"
#
# steps:
# - uses: actions/checkout@v1
#
# - name: Set up Python 3.7
# uses: actions/setup-python@v1
# with:
# python-version: 3.7
#
# - name: Install build dependencies
# run: |
# sudo apt-get update
# sudo apt-get install gnuplot dvipng
#
# python -m pip install --upgrade pip
# python -m pip install ninja
# python -m pip install sphinx
#
#
# - name: Download ITK
# run: |
# cd ..
# git clone https://github.com/InsightSoftwareConsortium/ITK.git
# cd ITK
# git checkout ${{ matrix.itk-git-tag }}
#
# - name: Build ITK
# run: |
# cd ..
# mkdir ITK-build
# cd ITK-build
# cmake -DBUILD_DOCUMENTATION:BOOL=ON -DCMAKE_C_COMPILER:FILEPATH="${{ matrix.c-compiler }}" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_COMPILER="${{ matrix.cxx-compiler }}" -DCMAKE_BUILD_TYPE:STRING=${{ matrix.cmake-build-type }} -DBUILD_TESTING:BOOL=OFF -GNinja ../ITK
# ninja
#
# - name: Fetch CTest driver script
# run: |
# curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITK/dashboard/itk_common.cmake -O
#
# - name: Configure CTest script
# shell: bash
# run: |
# operating_system="${{ matrix.os }}"
# cat > dashboard.cmake << EOF
# set(CTEST_SITE "GitHubActions")
# file(TO_CMAKE_PATH "${GITHUB_WORKSPACE}/.." CTEST_DASHBOARD_ROOT)
# file(TO_CMAKE_PATH "${GITHUB_WORKSPACE}/" CTEST_SOURCE_DIRECTORY)
# file(TO_CMAKE_PATH "${GITHUB_WORKSPACE}/../build" CTEST_BINARY_DIRECTORY)
# set(dashboard_source_name "${GITHUB_REPOSITORY}")
# if(ENV{GITHUB_REF} MATCHES "master")
# set(branch "-master")
# set(dashboard_model "Continuous")
# else()
# set(branch "-${GITHUB_REF}")
# set(dashboard_model "Experimental")
# endif()
# set(CTEST_BUILD_NAME "${GITHUB_REPOSITORY}-${operating_system}-\${branch}")
# set(CTEST_UPDATE_VERSION_ONLY 1)
# set(CTEST_TEST_ARGS \${CTEST_TEST_ARGS} PARALLEL_LEVEL \${PARALLEL_LEVEL})
# set(CTEST_BUILD_CONFIGURATION "Release")
# set(CTEST_CMAKE_GENERATOR "Ninja")
# set(CTEST_CUSTOM_WARNING_EXCEPTION
# \${CTEST_CUSTOM_WARNING_EXCEPTION}
# # macOS Azure VM Warning
# "ld: warning: text-based stub file"
# )
# set(dashboard_no_clean 1)
# set(ENV{CC} ${{ matrix.c-compiler }})
# set(ENV{CXX} ${{ matrix.cxx-compiler }})
# set(dashboard_cache "
# ITK_DIR:PATH=\${CTEST_DASHBOARD_ROOT}/ITK-build
# BUILD_TESTING:BOOL=ON
# BUILD_DOCUMENTATION:BOOL=ON
# ")
# string(TIMESTAMP build_date "%Y-%m-%d")
# message("CDash Build Identifier: \${build_date} \${CTEST_BUILD_NAME}")
# message("CTEST_SITE = \${CTEST_SITE}")
# include(\${CTEST_SCRIPT_DIRECTORY}/itk_common.cmake)
# EOF
# cat dashboard.cmake
#
# - name: Build and test
# run: |
# ctest -j 2 -VV -S dashboard.cmake
build-test-documentation:
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 3
matrix:
os: [ubuntu-18.04]
include:
- os: ubuntu-18.04
c-compiler: "gcc"
cxx-compiler: "g++"
itk-git-tag: "e2c71059e47d5e77c647aab5b799121090fdf4ec"
cmake-build-type: "Release"

steps:
- uses: actions/checkout@v1

- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8

- name: Get specific version of CMake, Ninja
uses: lukka/get-cmake@v3.18.3

- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install gnuplot dvipng
sudo apt-get install texlive-full
python -m pip install --upgrade pip
python -m pip install ninja
python -m pip install sphinx==3.0.4
python -m pip install --ignore-installed six
- name: Remove Duplicate Declaration Warnings
run: |
sed -i "6559d" /opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/sphinx/domains/cpp.py
- name: Download ITK
run: |
cd ..
git clone https://github.com/InsightSoftwareConsortium/ITK.git
cd ITK
git checkout ${{ matrix.itk-git-tag }}
- name: Build ITK
run: |
cd ..
mkdir ITK-build
cd ITK-build
cmake -DCMAKE_C_COMPILER:FILEPATH="${{ matrix.c-compiler }}" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_COMPILER="${{ matrix.cxx-compiler }}" -DCMAKE_BUILD_TYPE:STRING=${{ matrix.cmake-build-type }} -DBUILD_TESTING:BOOL=OFF -GNinja ../ITK
ninja
- name: Fetch CTest driver script
run: |
curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITK/dashboard/itk_common.cmake -O
- name: Configure CTest script
shell: bash
run: |
operating_system="${{ matrix.os }}"
cat > dashboard.cmake << EOF
set(CTEST_SITE "GitHubActions")
file(TO_CMAKE_PATH "${GITHUB_WORKSPACE}/.." CTEST_DASHBOARD_ROOT)
file(TO_CMAKE_PATH "${GITHUB_WORKSPACE}/" CTEST_SOURCE_DIRECTORY)
file(TO_CMAKE_PATH "${GITHUB_WORKSPACE}/../build" CTEST_BINARY_DIRECTORY)
set(dashboard_source_name "${GITHUB_REPOSITORY}")
if(ENV{GITHUB_REF} MATCHES "master")
set(branch "-master")
set(dashboard_model "Continuous")
else()
set(branch "-${GITHUB_REF}")
set(dashboard_model "Experimental")
endif()
set(CTEST_BUILD_NAME "${GITHUB_REPOSITORY}-${operating_system}-\${branch}")
set(CTEST_UPDATE_VERSION_ONLY 1)
set(CTEST_TEST_ARGS \${CTEST_TEST_ARGS} PARALLEL_LEVEL \${PARALLEL_LEVEL})
set(CTEST_BUILD_CONFIGURATION "Release")
set(CTEST_CMAKE_GENERATOR "Ninja")
set(CTEST_CUSTOM_WARNING_EXCEPTION
\${CTEST_CUSTOM_WARNING_EXCEPTION}
# macOS Azure VM Warning
"ld: warning: text-based stub file"
)
set(dashboard_no_clean 1)
set(ENV{CC} ${{ matrix.c-compiler }})
set(ENV{CXX} ${{ matrix.cxx-compiler }})
set(dashboard_cache "
ITK_DIR:PATH=\${CTEST_DASHBOARD_ROOT}/ITK-build
BUILD_TESTING:BOOL=ON
BUILD_DOCUMENTATION:BOOL=ON
")
string(TIMESTAMP build_date "%Y-%m-%d")
message("CDash Build Identifier: \${build_date} \${CTEST_BUILD_NAME}")
message("CTEST_SITE = \${CTEST_SITE}")
include(\${CTEST_SCRIPT_DIRECTORY}/itk_common.cmake)
EOF
cat dashboard.cmake
- name: Build and test
run: |
ctest -j 2 -VV -S dashboard.cmake

0 comments on commit 9fab61d

Please sign in to comment.