Skip to content

Issue #46 - Fix Visual C++ build #59

Issue #46 - Fix Visual C++ build

Issue #46 - Fix Visual C++ build #59

Workflow file for this run

# Simple workflow for deploying static content to GitHub Pages
name: Documentation
on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Coverage
BUILD_EXAMPLES: true
BUILD_GMOCK: true
BUILD_IMPORT_EXPORT: true
BUILD_TESTING: true
BUILD_TESTS: true
jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}master
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
runs-on: ubuntu-latest
steps:
- name: Clone Repository
run: git clone https://github.com/vldtecno/PTN-Engine.git ${{github.workspace}}/PTN-Engine
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_BUILD_EXAMPLES=${{env.BUILD_EXAMPLES}} -DCMAKE_BUILD_GMOCK=${{env.BUILD_GMOCK}} -DCMAKE_BUILD_IMPORT_EXPORT=${{env.BUILD_IMPORT_EXPORT}} -DBUILD_TESTING=${{env.BUILD_TESTING}} -DBUILD_TESTS=${{env.BUILD_TESTS}} -S ${{github.workspace}}/PTN-Engine
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: WhiteBoxTests
working-directory: ${{github.workspace}}/build/Tests/WhiteBoxTests
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}}
- name: BlackBoxTests
working-directory: ${{github.workspace}}/build/Tests/BlackBoxTests
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}}
- name: InstallCoverageReportDependencies
run: sudo apt-get -y install lcov
- name: TestCoverageData
working-directory: ${{github.workspace}}/build/
run: geninfo "./PTN_Engine" -b "../" -o coverage.info
- name: Remove externals from coverage
working-directory: ${{github.workspace}}/build/
run: lcov --remove coverage.info "/usr/include/*" "/usr/local/*" "*googletest/*" -o filtered_coverage.info
- name: TestCoverageReport
working-directory: ${{github.workspace}}/build/
run: mkdir Output; genhtml filtered_coverage.info -o Output/CoverageReport
- name: Install Doxygen
run: sudo apt-get -y install graphviz librsvg2-bin doxygen
- name: Generate Documentation
working-directory: ${{github.workspace}}/PTN-Engine/
run: doxygen Doc/Doxygen/FullDocumentation.doxy
- name: Move Documentation
working-directory: ${{github.workspace}}/PTN-Engine/
run: mv ./FullDocumentation ../build/Output
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: ${{github.workspace}}/build/Output
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2