build: more gitpod-related changes

This commit is contained in:
Mateusz Pusz
2024-02-05 09:38:36 +00:00
parent 0c27be46f8
commit 1bf723e0fe

View File

@@ -1,38 +1,22 @@
image:
file: .gitpod/Dockerfile
# --------------------------------------------------------
# using prebuilds for the container
github:
prebuilds:
# enable for the default branch (defaults to true)
master: true
# enable for all branches in this repo (defaults to false)
branches: true
# enable for pull requests coming from this repo (defaults to true)
pullRequests: true
# enable for pull requests coming from forks (defaults to false)
pullRequestsFromForks: true
# add a check to pull requests (defaults to true)
addCheck: true
# add a "Review in Gitpod" button as a comment to pull requests (defaults to false)
addComment: true
# add a "Review in Gitpod" button to the pull request's description (defaults to false)
addBadge: false
# --------------------------------------------------------
# some useful extensions to have
vscode:
extensions:
- vivaxy.vscode-conventional-commits
- streetsidesoftware.code-spell-checker
- ms-python.python
- ms-python.black-formatter
- twxs.cmake
- ms-vscode.cmake-tools
- xaver.clang-format
- streetsidesoftware.code-spell-checker
- vivaxy.vscode-conventional-commits
- hbenl.vscode-test-explorer
- matepek.vscode-catch2-test-adapter
- redhat.vscode-yaml
- ms-python.python
- bierner.markdown-mermaid
- DavidAnson.vscode-markdownlint
- darkriszty.markdown-table-prettify
# --------------------------------------------------------
# VSCode setup, Conan installation, and build of all the targets
@@ -77,43 +61,58 @@ tasks:
EOF
exit
- name: install python packages
before: |
init: |
python -m venv ${PYTHON_VENV}
source ${PYTHON_VENV}/bin/activate
pip install -Ur requirements.txt
gp sync-done python-init
- name: configure conan and install dependencies
init: |
gp sync-await python-init
conan profile detect
conan config install $PWD/.gitpod/conan
conan graph info .
gp sync-done python-init
exit
conan install . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing
conan install . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug
gp sync-done conan-gcc12-20
conan install . -pr gcc13 -c user.build:all=True -b missing
conan install . -pr gcc13 -c user.build:all=True -b missing -s build_type=Debug
gp sync-done conan-gcc13-20
conan install . -pr clang16 -c user.build:all=True -o use_fmtlib=True -b missing
conan install . -pr clang16 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug
gp sync-done conan-clang16-20
conan install . -pr clang17 -c user.build:all=True -o cxx_modules=True -b missing
conan install . -pr clang17 -c user.build:all=True -o cxx_modules=True -b missing -s build_type=Debug
gp sync-done conan-clang17-20
conan remote login -p $ARTIFACTORY_TOKEN conan-gitpod-mp-units $ARTIFACTORY_USER
conan upload "*" -r conan-gitpod-mp-units -c
- name: gcc-12-20
init: |
gp sync-await python-init
gp sync-await conan-gcc12-20
source ${PYTHON_VENV}/bin/activate
conan build . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing
conan build . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug
echo "🛠️ gcc-12 pre-build done for C++20 and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
conan build . -pr gcc12 -c user.build:all=True -o use_fmtlib=True
conan build . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -s build_type=Debug
echo "🛠️ gcc-12 pre-build done for C++20, header files, and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
- name: gcc-13-20
init: |
gp sync-await python-init
gp sync-await conan-gcc13-20
source ${PYTHON_VENV}/bin/activate
conan build . -pr gcc13 -c user.build:all=True -b missing
conan build . -pr gcc13 -c user.build:all=True -b missing -s build_type=Debug
echo "🛠️ gcc-13 pre-build done for C++20 and 'std::format'! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
conan build . -pr gcc13 -c user.build:all=True
conan build . -pr gcc13 -c user.build:all=True -s build_type=Debug
echo "🛠️ gcc-13 pre-build done for C++20 and header files! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
- name: clang-16-20
init: |
gp sync-await python-init
gp sync-await conan-clang16-20
source ${PYTHON_VENV}/bin/activate
conan build . -pr clang16 -c user.build:all=True -o use_fmtlib=True -b missing
conan build . -pr clang16 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug
echo "🛠️ clang-16 pre-build done for C++20 and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
conan build . -pr clang16 -c user.build:all=True -o use_fmtlib=True
conan build . -pr clang16 -c user.build:all=True -o use_fmtlib=True -s build_type=Debug
echo "🛠️ clang-16 pre-build done for C++20, header files, and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
- name: clang-17-20
init: |
gp sync-await python-init
gp sync-await conan-clang17-20
source ${PYTHON_VENV}/bin/activate
conan build . -pr clang17 -c user.build:all=True -o cxx_modules=True -b missing
conan build . -pr clang17 -c user.build:all=True -o cxx_modules=True -b missing -s build_type=Debug
echo "🛠️ clang-17 pre-build done for C++20, 'std::format', and C++20 modules! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
conan build . -pr clang17 -c user.build:all=True -o cxx_modules=True
conan build . -pr clang17 -c user.build:all=True -o cxx_modules=True -s build_type=Debug
echo "🛠️ clang-17 pre-build done for C++20! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️"
- name: documentation
init: |
gp sync-await python-init
@@ -121,6 +120,6 @@ tasks:
mkdocs serve &
echo "📚 Documentation generation done! You can open it by clicking on 'Open Preview' or 'Open Browser' in the VSCode dialog window. 📚"
- name: open-contributing-guide
command: |
init: |
gp open CONTRIBUTING.md
exit