From f68f9b102674fdfed7907db824ac817e7654b66a Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Thu, 22 May 2025 17:25:20 +0200 Subject: [PATCH 01/16] Updated docker image for GPU version --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index dffd658..5886a86 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nvidia/cuda:11.0.3-devel-ubuntu20.04 +FROM nvidia/cuda:11.6.1-devel-ubuntu20.04 RUN rm /etc/apt/sources.list.d/cuda.list RUN rm -vf /var/lib/apt/lists/* From eb811387c7f3df13185c0ecb302de491b88fed49 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 17:02:27 +0100 Subject: [PATCH 02/16] Added initial configuration for pipelines --- .github/workflows/ci-build.yml | 25 +++++++++++++++++++ .../workflows/{main.yml => documentation.yml} | 0 .github/workflows/renovate.yml | 17 +++++++++++++ CMakeLists.txt | 3 ++- renovate.json | 4 +++ 5 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci-build.yml rename .github/workflows/{main.yml => documentation.yml} (100%) create mode 100644 .github/workflows/renovate.yml create mode 100644 renovate.json diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml new file mode 100644 index 0000000..65ccc72 --- /dev/null +++ b/.github/workflows/ci-build.yml @@ -0,0 +1,25 @@ +name: CI Build + +on: + pull_request: + branches: [ main ] + +jobs: + build: + name: Build (CPU) + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install CMake + uses: lukka/get-cmake@latest + with: + cmakeVersion: "~3.22.1" + - name: Configure + run: | + mkdir build + cmake -S . -B build -DCMAKE_BUILD_TYPE=Release + - name: Build + run: | + cmake --build build -- -j$(nproc) diff --git a/.github/workflows/main.yml b/.github/workflows/documentation.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/workflows/documentation.yml diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml new file mode 100644 index 0000000..98642ae --- /dev/null +++ b/.github/workflows/renovate.yml @@ -0,0 +1,17 @@ +name: Renovate + +on: + schedule: + - cron: "0 3 * * 1" # every Monday + workflow_dispatch: + +jobs: + renovate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Run Renovate + uses: renovatebot/github-action@v40 + with: + token: ${{ secrets.RENOVATE_TOKEN }} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 2498f47..b89b0c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.14) +cmake_policy(VERSION 3.14) set( CMAKE_VERBOSE_MAKEFILE on ) -# set the project name + project(Geliosphere) option(CPU_VERSION_ONLY "Build only CPU version" OFF) diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..34ce0f5 --- /dev/null +++ b/renovate.json @@ -0,0 +1,4 @@ +{ + "extends": ["config:base"], + "dependencyDashboard": true +} \ No newline at end of file From df2221cc5369a159e9828a73445ebbb2969e563a Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 17:07:01 +0100 Subject: [PATCH 03/16] Added missing CPU only compilation flag --- .github/workflows/ci-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 65ccc72..529fc44 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -19,7 +19,7 @@ jobs: - name: Configure run: | mkdir build - cmake -S . -B build -DCMAKE_BUILD_TYPE=Release + cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCPU_VERSION_ONLY=1 - name: Build run: | cmake --build build -- -j$(nproc) From 6ead94e3e338f4248e3696763e5edb190163579f Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 17:45:08 +0100 Subject: [PATCH 04/16] Updated renovate config --- renovate.json | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 34ce0f5..db3d5a2 100644 --- a/renovate.json +++ b/renovate.json @@ -1,4 +1,24 @@ { "extends": ["config:base"], - "dependencyDashboard": true + "dependencyDashboard": true, + "packageRules": [ + { + "groupName": "CMake dependencies", + "matchManagers": ["regex"], + "matchUpdateTypes": ["minor", "patch"] + }, + { + "matchUpdateTypes": ["major"], + "enabled": false + } + ], + "regexManagers": [ + { + "fileMatch": ["CMakeLists\\.txt"], + "matchStrings": [ + "GIT_REPOSITORY\\s+(?https://github.com/[^\\s]+)[\\s\\S]*?GIT_TAG\\s+(?[\\w\\.\\-]+)" + ], + "datasourceTemplate": "github-tags" + } + ] } \ No newline at end of file From 31429537040d26e3e6441331981b764ae833cc40 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 17:51:02 +0100 Subject: [PATCH 05/16] Added default assignee --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index db3d5a2..6a3e51d 100644 --- a/renovate.json +++ b/renovate.json @@ -5,7 +5,8 @@ { "groupName": "CMake dependencies", "matchManagers": ["regex"], - "matchUpdateTypes": ["minor", "patch"] + "matchUpdateTypes": ["minor", "patch"], + "assignees": ["msolanik"] }, { "matchUpdateTypes": ["major"], From 5aad8554853670d5ae4ea0e667ccd300c801f547 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 18:09:23 +0100 Subject: [PATCH 06/16] Added workflow dispatch to renovate --- .github/workflows/renovate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index 98642ae..e70c19f 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -1,9 +1,9 @@ name: Renovate on: + workflow_dispatch: schedule: - cron: "0 3 * * 1" # every Monday - workflow_dispatch: jobs: renovate: From 54843c5d18dbb280db785ecc94c609a91f848a84 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 18:25:24 +0100 Subject: [PATCH 07/16] Updated renovate github action version --- .github/workflows/renovate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index e70c19f..e90155f 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -12,6 +12,6 @@ jobs: - uses: actions/checkout@v4 - name: Run Renovate - uses: renovatebot/github-action@v40 + uses: renovatebot/github-action@v44.2.6 with: token: ${{ secrets.RENOVATE_TOKEN }} \ No newline at end of file From a2c14f06e950738fe61c715819b52219a3b148c4 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 21:33:34 +0100 Subject: [PATCH 08/16] Added debug level --- .github/workflows/renovate.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index e90155f..c504a59 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -14,4 +14,5 @@ jobs: - name: Run Renovate uses: renovatebot/github-action@v44.2.6 with: - token: ${{ secrets.RENOVATE_TOKEN }} \ No newline at end of file + token: ${{ secrets.RENOVATE_TOKEN }} + log-level: debug \ No newline at end of file From b68634e913f1f462552476643e90b89ba130cf3e Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Wed, 28 Jan 2026 22:43:34 +0100 Subject: [PATCH 09/16] Added logging, specified config file --- .github/workflows/renovate.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index c504a59..4c79d18 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -14,5 +14,7 @@ jobs: - name: Run Renovate uses: renovatebot/github-action@v44.2.6 with: + configurationFile: renovate.json token: ${{ secrets.RENOVATE_TOKEN }} - log-level: debug \ No newline at end of file + env: + LOG-LEVEL: 'debug' \ No newline at end of file From 98a94ce7fbc2ea0f74125b74e46579d0dfbd0e94 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Thu, 29 Jan 2026 00:59:31 +0100 Subject: [PATCH 10/16] Specified Geliosphere repository --- .github/workflows/renovate.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index 4c79d18..a79f48e 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -16,5 +16,6 @@ jobs: with: configurationFile: renovate.json token: ${{ secrets.RENOVATE_TOKEN }} + repositories: 'msolanik/Geliosphere' env: LOG-LEVEL: 'debug' \ No newline at end of file From dcb623b99c42a97c531243d91e3c898521f37876 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Thu, 29 Jan 2026 01:47:16 +0100 Subject: [PATCH 11/16] Updated configuration --- .github/workflows/renovate.yml | 1 - renovate.json | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index a79f48e..4c79d18 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -16,6 +16,5 @@ jobs: with: configurationFile: renovate.json token: ${{ secrets.RENOVATE_TOKEN }} - repositories: 'msolanik/Geliosphere' env: LOG-LEVEL: 'debug' \ No newline at end of file diff --git a/renovate.json b/renovate.json index 6a3e51d..f3d952b 100644 --- a/renovate.json +++ b/renovate.json @@ -1,6 +1,9 @@ { "extends": ["config:base"], "dependencyDashboard": true, + "repositories": [ + "msolanik/Geliosphere" + ], "packageRules": [ { "groupName": "CMake dependencies", From 6d2d558f3675a57939d3179ffb020d8a17be13da Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Thu, 29 Jan 2026 02:00:58 +0100 Subject: [PATCH 12/16] Fixed Github match string --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index f3d952b..aa16bf8 100644 --- a/renovate.json +++ b/renovate.json @@ -20,7 +20,7 @@ { "fileMatch": ["CMakeLists\\.txt"], "matchStrings": [ - "GIT_REPOSITORY\\s+(?https://github.com/[^\\s]+)[\\s\\S]*?GIT_TAG\\s+(?[\\w\\.\\-]+)" + "GIT_REPOSITORY\\s+https://github.com/(?[^/\\s]+/[^/\\s]+)(?:\\.git)?[\\s\\S]*?GIT_TAG\\s+(?[\\w\\.\\-]+)" ], "datasourceTemplate": "github-tags" } From 4ff510c18a965ea796f0499084ca0e89a9953746 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Sat, 31 Jan 2026 14:03:34 +0100 Subject: [PATCH 13/16] Updated configuration for renovate --- renovate.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/renovate.json b/renovate.json index aa16bf8..a200fe6 100644 --- a/renovate.json +++ b/renovate.json @@ -4,10 +4,16 @@ "repositories": [ "msolanik/Geliosphere" ], + "dependencyDashboardAutoclose": true, + "prConcurrentLimit": 1, + "ignorePaths": [ + "Visualization/**", + "ModelDocs/**" + ], "packageRules": [ { - "groupName": "CMake dependencies", - "matchManagers": ["regex"], + "groupName": "Docker and CMake dependencies", + "matchManagers": ["regex", "dockerfile"], "matchUpdateTypes": ["minor", "patch"], "assignees": ["msolanik"] }, @@ -20,7 +26,7 @@ { "fileMatch": ["CMakeLists\\.txt"], "matchStrings": [ - "GIT_REPOSITORY\\s+https://github.com/(?[^/\\s]+/[^/\\s]+)(?:\\.git)?[\\s\\S]*?GIT_TAG\\s+(?[\\w\\.\\-]+)" + "GIT_REPOSITORY\\s+https://github.com/(?[^/\\s]+/[^/.\\s]+)(?:\\.git)?[\\s\\S]*?GIT_TAG\\s+(?[\\w\\.\\-]+)" ], "datasourceTemplate": "github-tags" } From 5d1557dbe5d3f0cdc47907930df61af609b495f5 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Sun, 1 Feb 2026 14:07:58 +0100 Subject: [PATCH 14/16] Added GPU build, updated doxygen action --- .github/workflows/ci-gpu-build.yml | 35 +++++++++++++++++++++++++++++ .github/workflows/documentation.yml | 4 ++-- 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci-gpu-build.yml diff --git a/.github/workflows/ci-gpu-build.yml b/.github/workflows/ci-gpu-build.yml new file mode 100644 index 0000000..8026f40 --- /dev/null +++ b/.github/workflows/ci-gpu-build.yml @@ -0,0 +1,35 @@ +name: CI GPU Build + +on: + pull_request: + branches: [ main ] + paths: + - "CUDAKernel/**" + - "CUDAKernel/CMakeLists.txt" + push: + branches: [ main ] + paths: + - "CUDAKernel/**" + - "CUDAKernel/CMakeLists.txt" + +jobs: + build-cuda: + name: Build (CUDA) + runs-on: ubuntu-latest + container: + image: nvidia/cuda:11.6.1-devel-ubuntu20.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install CMake + uses: lukka/get-cmake@latest + with: + cmakeVersion: "~3.22.1" + - name: Configure (GPU) + run: | + mkdir build + cmake -S . -B build -DCMAKE_BUILD_TYPE=Release + - name: Build (GPU) + run: | + cmake --build build -- -j$(nproc) \ No newline at end of file diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index ebf034f..c566026 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -19,10 +19,10 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Doxygen Action - uses: mattnotmitt/doxygen-action@v1.3.1 + uses: mattnotmitt/doxygen-action@v1.12.0 with: doxyfile-path: 'cuda_cli_config' From a24680f92db7363f3bff0ae8520d479d73c7b948 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Sun, 1 Feb 2026 14:26:30 +0100 Subject: [PATCH 15/16] Added install of missing dependency --- .github/workflows/ci-gpu-build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci-gpu-build.yml b/.github/workflows/ci-gpu-build.yml index 8026f40..dd7e3b4 100644 --- a/.github/workflows/ci-gpu-build.yml +++ b/.github/workflows/ci-gpu-build.yml @@ -22,6 +22,10 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 + - name: Install dependencies + run: | + apt-get update + apt-get install -y git unzip - name: Install CMake uses: lukka/get-cmake@latest with: From 1e7f2b853b9edcb804e1e5fd3f8bb987d57c8290 Mon Sep 17 00:00:00 2001 From: Michal Solanik Date: Sun, 1 Feb 2026 14:34:44 +0100 Subject: [PATCH 16/16] Added manual workflow trigger to GPU build for testing --- .github/workflows/ci-gpu-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-gpu-build.yml b/.github/workflows/ci-gpu-build.yml index dd7e3b4..91d2158 100644 --- a/.github/workflows/ci-gpu-build.yml +++ b/.github/workflows/ci-gpu-build.yml @@ -1,6 +1,7 @@ name: CI GPU Build on: + workflow_dispatch: pull_request: branches: [ main ] paths: