Skip to content

feat: devcontainers integration in Visual Code Studio #112

feat: devcontainers integration in Visual Code Studio

feat: devcontainers integration in Visual Code Studio #112

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 GCC-12
run: |
sudo apt update && sudo apt upgrade -y
sudo apt install -y gcc-12 g++-12
sudo apt install -y python3-pip
sudo apt install -y cmake
sudo apt install -y doxygen
- name: Conan installation
id: conan
uses: turtlebrowser/get-conan@main
with:
version: 1.60.1
- 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