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: image:
file: .gitpod/Dockerfile 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 # some useful extensions to have
vscode: vscode:
extensions: extensions:
- vivaxy.vscode-conventional-commits
- streetsidesoftware.code-spell-checker
- ms-python.python
- ms-python.black-formatter
- twxs.cmake - twxs.cmake
- ms-vscode.cmake-tools - ms-vscode.cmake-tools
- xaver.clang-format - xaver.clang-format
- streetsidesoftware.code-spell-checker
- vivaxy.vscode-conventional-commits
- hbenl.vscode-test-explorer - hbenl.vscode-test-explorer
- matepek.vscode-catch2-test-adapter - matepek.vscode-catch2-test-adapter
- redhat.vscode-yaml - bierner.markdown-mermaid
- ms-python.python - DavidAnson.vscode-markdownlint
- darkriszty.markdown-table-prettify
# -------------------------------------------------------- # --------------------------------------------------------
# VSCode setup, Conan installation, and build of all the targets # VSCode setup, Conan installation, and build of all the targets
@@ -77,43 +61,58 @@ tasks:
EOF EOF
exit exit
- name: install python packages - name: install python packages
before: | init: |
python -m venv ${PYTHON_VENV} python -m venv ${PYTHON_VENV}
source ${PYTHON_VENV}/bin/activate source ${PYTHON_VENV}/bin/activate
pip install -Ur requirements.txt 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 profile detect
conan config install $PWD/.gitpod/conan conan config install $PWD/.gitpod/conan
conan graph info . conan install . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing
gp sync-done python-init conan install . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug
exit 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 - name: gcc-12-20
init: | init: |
gp sync-await python-init gp sync-await conan-gcc12-20
source ${PYTHON_VENV}/bin/activate 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
conan build . -pr gcc12 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug 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 and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️" 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 - name: gcc-13-20
init: | init: |
gp sync-await python-init gp sync-await conan-gcc13-20
source ${PYTHON_VENV}/bin/activate 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
conan build . -pr gcc13 -c user.build:all=True -b missing -s build_type=Debug conan build . -pr gcc13 -c user.build:all=True -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. 🛠️" 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 - name: clang-16-20
init: | init: |
gp sync-await python-init gp sync-await conan-clang16-20
source ${PYTHON_VENV}/bin/activate 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
conan build . -pr clang16 -c user.build:all=True -o use_fmtlib=True -b missing -s build_type=Debug 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 and libfmt! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️" 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 - name: clang-17-20
init: | init: |
gp sync-await python-init gp sync-await conan-clang17-20
source ${PYTHON_VENV}/bin/activate 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
conan build . -pr clang17 -c user.build:all=True -o cxx_modules=True -b missing -s build_type=Debug 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, 'std::format', and C++20 modules! You can close this terminal and use 'Build' button in the VSCode status bar for incremental builds. 🛠️" 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 - name: documentation
init: | init: |
gp sync-await python-init gp sync-await python-init
@@ -121,6 +120,6 @@ tasks:
mkdocs serve & mkdocs serve &
echo "📚 Documentation generation done! You can open it by clicking on 'Open Preview' or 'Open Browser' in the VSCode dialog window. 📚" 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 - name: open-contributing-guide
command: | init: |
gp open CONTRIBUTING.md gp open CONTRIBUTING.md
exit exit