Skip to content

feat: devcontainers integration in Visual Code Studio #114

feat: devcontainers integration in Visual Code Studio

feat: devcontainers integration in Visual Code Studio #114

Workflow file for this run

name: CMake
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Get Apt packages
run: >
apt-get update -y &&
apt-get install -y --no-install-recommends
vim
git
gcc-12
g++-12
build-essential
libboost-all-dev
cmake
unzip
tar
ca-certificates
doxygen
graphviz
python3-pip
- name: Conan installation
run: pip install conan==2.0.13
- name: Conan version
run: echo "${{ steps.conan.outputs.version }}"
- name: Conan profile configuration
run: |
conan profile new quetzal-profile --detect --force
conan profile update settings.compiler="gcc" quetzal-profile
conan profile update settings.compiler.version=12 quetzal-profile
conan profile update settings.compiler.cppstd=20 quetzal-profile
conan profile update settings.compiler.libcxx="libstdc++11" quetzal-profile
conan profile update env.CC=[/usr/bin/gcc-12] quetzal-profile
conan profile update env.CXX=[/usr/bin/g++-12] quetzal-profile
- name: Conan install dependencies
run: >
conan install conanfile.py
--build=missing
--install-folder=build
-pr:b=quetzal-profile
-pr:h=quetzal-profile
- name: CMake configuration
run: >
cmake
-B ${{github.workspace}}/build
-S .
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
--toolchain ${{github.workspace}}/build/conan_toolchain.cmake
- name: CMake build
run: >
cmake
--build ${{github.workspace}}/build
--config ${{env.BUILD_TYPE}}
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}}
- name: Doxygen documentation generation
working-directory: ${{github.workspace}}/build
run: make docs
# - name: Moving Files
# run: |
# mv ${{github.workspace}}/build/docs/html ./docs/api
- name: Deploy to Github Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{github.workspace}}/build/docs/html