diff --git a/.gitpod.yml b/.gitpod.yml index e65e8386..82da5910 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -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