From 121b014f669e8fc69938104bb8890da07fdee908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Uhl=C3=AD=C5=99?= Date: Mon, 16 Feb 2026 10:24:14 +0100 Subject: [PATCH 1/6] ci(docker): build dist-tests images --- .github/workflows/docker-autoclient.yml | 27 --------------------- .github/workflows/docker-discordbot.yml | 27 --------------------- .github/workflows/docker-keymaker.yml | 26 -------------------- .github/workflows/docker-marketinsights.yml | 26 -------------------- .github/workflows/docker-rewarder.yml | 27 --------------------- .github/workflows/docker-runner.yml | 4 +-- .github/workflows/run-continuous-tests.yaml | 4 +-- 7 files changed, 4 insertions(+), 137 deletions(-) delete mode 100644 .github/workflows/docker-autoclient.yml delete mode 100644 .github/workflows/docker-discordbot.yml delete mode 100644 .github/workflows/docker-keymaker.yml delete mode 100644 .github/workflows/docker-marketinsights.yml delete mode 100644 .github/workflows/docker-rewarder.yml diff --git a/.github/workflows/docker-autoclient.yml b/.github/workflows/docker-autoclient.yml deleted file mode 100644 index b7ce76a8..00000000 --- a/.github/workflows/docker-autoclient.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Docker - AutoClient - - -on: - push: - branches: - - master - tags: - - 'v*.*.*' - paths: - - 'Tools/AutoClient/**' - - '!Tools/AutoClient/docker/docker-compose.yaml' - - 'Framework/**' - - 'ProjectPlugins/**' - - .github/workflows/docker-autoclient.yml - workflow_dispatch: - - -jobs: - build-and-push: - name: Build and Push - uses: codex-storage/github-actions/.github/workflows/docker-reusable.yml@master - with: - docker_file: Tools/AutoClient/docker/Dockerfile - dockerhub_repo: codexstorage/codex-autoclient - tag_latest: ${{ github.ref_name == github.event.repository.default_branch || startsWith(github.ref, 'refs/tags/') }} - secrets: inherit diff --git a/.github/workflows/docker-discordbot.yml b/.github/workflows/docker-discordbot.yml deleted file mode 100644 index 6510d594..00000000 --- a/.github/workflows/docker-discordbot.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Docker - Discord Bot - - -on: - push: - branches: - - master - tags: - - 'v*.*.*' - paths: - - 'Tools/BiblioTech/**' - - '!Tools/BiblioTech/docker/docker-compose.yaml' - - 'Framework/**' - - 'ProjectPlugins/**' - - .github/workflows/docker-discordbot.yml - workflow_dispatch: - - -jobs: - build-and-push: - name: Build and Push - uses: codex-storage/github-actions/.github/workflows/docker-reusable.yml@master - with: - docker_file: Tools/BiblioTech/docker/Dockerfile - dockerhub_repo: codexstorage/codex-discordbot - tag_latest: ${{ github.ref_name == github.event.repository.default_branch || startsWith(github.ref, 'refs/tags/') }} - secrets: inherit diff --git a/.github/workflows/docker-keymaker.yml b/.github/workflows/docker-keymaker.yml deleted file mode 100644 index 8069f786..00000000 --- a/.github/workflows/docker-keymaker.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Docker - KeyMaker - - -on: - push: - branches: - - master - tags: - - 'v*.*.*' - paths: - - 'Tools/KeyMaker/**' - - 'Framework/**' - - 'ProjectPlugins/**' - - .github/workflows/docker-keymaker.yml - workflow_dispatch: - - -jobs: - build-and-push: - name: Build and Push - uses: codex-storage/github-actions/.github/workflows/docker-reusable.yml@master - with: - docker_file: Tools/KeyMaker/docker/Dockerfile - dockerhub_repo: codexstorage/codex-keymaker - tag_latest: ${{ github.ref_name == github.event.repository.default_branch || startsWith(github.ref, 'refs/tags/') }} - secrets: inherit diff --git a/.github/workflows/docker-marketinsights.yml b/.github/workflows/docker-marketinsights.yml deleted file mode 100644 index 89d384e7..00000000 --- a/.github/workflows/docker-marketinsights.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Docker - MarketInsights API - - -on: - push: - branches: - - master - tags: - - 'v*.*.*' - paths: - - 'Tools/MarketInsights/**' - - 'Framework/**' - - 'ProjectPlugins/**' - - .github/workflows/docker-marketinsights.yml - workflow_dispatch: - - -jobs: - build-and-push: - name: Build and Push - uses: codex-storage/github-actions/.github/workflows/docker-reusable.yml@master - with: - docker_file: Tools/MarketInsights/Dockerfile - dockerhub_repo: codexstorage/codex-marketinsights - tag_latest: ${{ github.ref_name == github.event.repository.default_branch || startsWith(github.ref, 'refs/tags/') }} - secrets: inherit diff --git a/.github/workflows/docker-rewarder.yml b/.github/workflows/docker-rewarder.yml deleted file mode 100644 index b48cac23..00000000 --- a/.github/workflows/docker-rewarder.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Docker - Rewarder Bot - - -on: - push: - branches: - - master - tags: - - 'v*.*.*' - paths: - - 'Tools/TestNetRewarder/**' - - '!Tools/TestNetRewarder/docker/docker-compose.yaml' - - 'Framework/**' - - 'ProjectPlugins/**' - - .github/workflows/docker-rewarder.yml - workflow_dispatch: - - -jobs: - build-and-push: - name: Build and Push - uses: codex-storage/github-actions/.github/workflows/docker-reusable.yml@master - with: - docker_file: Tools/TestNetRewarder/docker/Dockerfile - dockerhub_repo: codexstorage/codex-rewarderbot - tag_latest: ${{ github.ref_name == github.event.repository.default_branch || startsWith(github.ref, 'refs/tags/') }} - secrets: inherit diff --git a/.github/workflows/docker-runner.yml b/.github/workflows/docker-runner.yml index e2b1c61a..6fb847ca 100644 --- a/.github/workflows/docker-runner.yml +++ b/.github/workflows/docker-runner.yml @@ -17,9 +17,9 @@ on: jobs: build-and-push: name: Build and Push - uses: codex-storage/github-actions/.github/workflows/docker-reusable.yml@master + uses: logos-storage/github-actions/.github/workflows/docker-reusable.yml@master with: docker_file: docker/Dockerfile - dockerhub_repo: codexstorage/cs-codex-dist-tests + dockerhub_repo: logosstorage/cs-codex-dist-tests tag_latest: ${{ github.ref_name == github.event.repository.default_branch || startsWith(github.ref, 'refs/tags/') }} secrets: inherit diff --git a/.github/workflows/run-continuous-tests.yaml b/.github/workflows/run-continuous-tests.yaml index a9177beb..0284c27b 100644 --- a/.github/workflows/run-continuous-tests.yaml +++ b/.github/workflows/run-continuous-tests.yaml @@ -44,7 +44,7 @@ on: required: false type: string storagedockerimage: - description: Codex Docker image (codexstorage/nim-codex:latest-dist-tests) + description: Codex Docker image (logosstorage/logos-storage-nim:latest-dist-tests) required: false type: string nameprefix: @@ -74,7 +74,7 @@ on: env: SOURCE: ${{ format('{0}/{1}', github.server_url, github.repository) }} BRANCH: ${{ github.ref_name }} - STORAGEDOCKERIMAGE: codexstorage/nim-codex:latest-dist-tests + STORAGEDOCKERIMAGE: logosstorage/logos-storage-nim:latest-dist-tests NAMEPREFIX: c-tests NAMESPACE: default TESTS_TARGET_DURATION: 2d From 007dfc508608a6acde88b9df32f4fcf0d7539a29 Mon Sep 17 00:00:00 2001 From: E M <5089238+emizzle@users.noreply.github.com> Date: Mon, 30 Mar 2026 13:11:07 +1100 Subject: [PATCH 2/6] Update to .net 10, kubernetes client 18.0.13 Kubernetes client 18.0.13 is compatible with Kubernetes 1.34.x. The Kubernetes version is selected automatically by kubeadm in docker desktop (v1.34.1). See https://github.com/kubernetes-client/csharp#version-compatibility for a compatibility table. --- Framework/ArgsUniform/ArgsUniform.csproj | 2 +- Framework/BlockchainUtils/BlockchainUtils.csproj | 2 +- Framework/Core/Core.csproj | 2 +- Framework/DiscordRewards/DiscordRewards.csproj | 2 +- Framework/FileUtils/FileUtils.csproj | 2 +- Framework/GethConnector/GethConnector.csproj | 2 +- Framework/KubernetesWorkflow/KubernetesWorkflow.csproj | 4 ++-- Framework/Logging/Logging.csproj | 2 +- Framework/NethereumWorkflow/NethereumWorkflow.csproj | 2 +- Framework/OverwatchTranscript/OverwatchTranscript.csproj | 2 +- Framework/Utils/Utils.csproj | 2 +- Framework/WebUtils/WebUtils.csproj | 2 +- ProjectPlugins/CodexClient/CodexClient.csproj | 2 +- .../CodexDiscordBotPlugin/CodexDiscordBotPlugin.csproj | 2 +- ProjectPlugins/CodexPlugin/CodexPlugin.csproj | 2 +- ProjectPlugins/CodexPluginPrebuild/CodexPluginPrebuild.csproj | 2 +- ProjectPlugins/DeployAndRunPlugin/DeployAndRunPlugin.csproj | 2 +- ProjectPlugins/MetricsPlugin/MetricsPlugin.csproj | 2 +- Tests/CodexContinuousTests/CodexContinuousTests.csproj | 2 +- Tests/CodexLongTests/CodexTestsLong.csproj | 2 +- Tests/CodexReleaseTests/CodexReleaseTests.csproj | 2 +- Tests/DistTestCore/DistTestCore.csproj | 2 +- Tests/ExperimentalTests/ExperimentalTests.csproj | 2 +- Tests/FrameworkTests/FrameworkTests.csproj | 2 +- Tools/CsvCombiner/CsvCombiner.csproj | 2 +- Tools/TestClusterStarter/TestClusterStarter.csproj | 2 +- Tools/TranscriptAnalysis/TranscriptAnalysis.csproj | 2 +- 27 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Framework/ArgsUniform/ArgsUniform.csproj b/Framework/ArgsUniform/ArgsUniform.csproj index 1e00f007..ff52ca83 100644 --- a/Framework/ArgsUniform/ArgsUniform.csproj +++ b/Framework/ArgsUniform/ArgsUniform.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Framework/BlockchainUtils/BlockchainUtils.csproj b/Framework/BlockchainUtils/BlockchainUtils.csproj index 7ad10d4e..c9bf7a83 100644 --- a/Framework/BlockchainUtils/BlockchainUtils.csproj +++ b/Framework/BlockchainUtils/BlockchainUtils.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 enable enable diff --git a/Framework/Core/Core.csproj b/Framework/Core/Core.csproj index b961cd63..49463eb5 100644 --- a/Framework/Core/Core.csproj +++ b/Framework/Core/Core.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Framework/DiscordRewards/DiscordRewards.csproj b/Framework/DiscordRewards/DiscordRewards.csproj index 4fb180e0..deddbfe3 100644 --- a/Framework/DiscordRewards/DiscordRewards.csproj +++ b/Framework/DiscordRewards/DiscordRewards.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Framework/FileUtils/FileUtils.csproj b/Framework/FileUtils/FileUtils.csproj index c1ee07b2..b6644c7a 100644 --- a/Framework/FileUtils/FileUtils.csproj +++ b/Framework/FileUtils/FileUtils.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Framework/GethConnector/GethConnector.csproj b/Framework/GethConnector/GethConnector.csproj index 57808d73..3cf08f7f 100644 --- a/Framework/GethConnector/GethConnector.csproj +++ b/Framework/GethConnector/GethConnector.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Framework/KubernetesWorkflow/KubernetesWorkflow.csproj b/Framework/KubernetesWorkflow/KubernetesWorkflow.csproj index 3973280e..98b66443 100644 --- a/Framework/KubernetesWorkflow/KubernetesWorkflow.csproj +++ b/Framework/KubernetesWorkflow/KubernetesWorkflow.csproj @@ -1,14 +1,14 @@ - net8.0 + net10.0 KubernetesWorkflow enable enable - + diff --git a/Framework/Logging/Logging.csproj b/Framework/Logging/Logging.csproj index e5d68c6f..38561c33 100644 --- a/Framework/Logging/Logging.csproj +++ b/Framework/Logging/Logging.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 Logging enable enable diff --git a/Framework/NethereumWorkflow/NethereumWorkflow.csproj b/Framework/NethereumWorkflow/NethereumWorkflow.csproj index a0e8175d..4fcdda63 100644 --- a/Framework/NethereumWorkflow/NethereumWorkflow.csproj +++ b/Framework/NethereumWorkflow/NethereumWorkflow.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 NethereumWorkflow enable enable diff --git a/Framework/OverwatchTranscript/OverwatchTranscript.csproj b/Framework/OverwatchTranscript/OverwatchTranscript.csproj index def6815b..767cebd9 100644 --- a/Framework/OverwatchTranscript/OverwatchTranscript.csproj +++ b/Framework/OverwatchTranscript/OverwatchTranscript.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Framework/Utils/Utils.csproj b/Framework/Utils/Utils.csproj index 9ad48fc2..205e5ae5 100644 --- a/Framework/Utils/Utils.csproj +++ b/Framework/Utils/Utils.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 Utils enable enable diff --git a/Framework/WebUtils/WebUtils.csproj b/Framework/WebUtils/WebUtils.csproj index 743cc777..d85fa445 100644 --- a/Framework/WebUtils/WebUtils.csproj +++ b/Framework/WebUtils/WebUtils.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 enable enable diff --git a/ProjectPlugins/CodexClient/CodexClient.csproj b/ProjectPlugins/CodexClient/CodexClient.csproj index cc417a9e..2336d20a 100644 --- a/ProjectPlugins/CodexClient/CodexClient.csproj +++ b/ProjectPlugins/CodexClient/CodexClient.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 enable enable diff --git a/ProjectPlugins/CodexDiscordBotPlugin/CodexDiscordBotPlugin.csproj b/ProjectPlugins/CodexDiscordBotPlugin/CodexDiscordBotPlugin.csproj index 60f94238..bb5c9beb 100644 --- a/ProjectPlugins/CodexDiscordBotPlugin/CodexDiscordBotPlugin.csproj +++ b/ProjectPlugins/CodexDiscordBotPlugin/CodexDiscordBotPlugin.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/ProjectPlugins/CodexPlugin/CodexPlugin.csproj b/ProjectPlugins/CodexPlugin/CodexPlugin.csproj index 7271eece..b40af376 100644 --- a/ProjectPlugins/CodexPlugin/CodexPlugin.csproj +++ b/ProjectPlugins/CodexPlugin/CodexPlugin.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 enable enable diff --git a/ProjectPlugins/CodexPluginPrebuild/CodexPluginPrebuild.csproj b/ProjectPlugins/CodexPluginPrebuild/CodexPluginPrebuild.csproj index a8ee135c..18508817 100644 --- a/ProjectPlugins/CodexPluginPrebuild/CodexPluginPrebuild.csproj +++ b/ProjectPlugins/CodexPluginPrebuild/CodexPluginPrebuild.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/ProjectPlugins/DeployAndRunPlugin/DeployAndRunPlugin.csproj b/ProjectPlugins/DeployAndRunPlugin/DeployAndRunPlugin.csproj index 3251326f..a55b685d 100644 --- a/ProjectPlugins/DeployAndRunPlugin/DeployAndRunPlugin.csproj +++ b/ProjectPlugins/DeployAndRunPlugin/DeployAndRunPlugin.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/ProjectPlugins/MetricsPlugin/MetricsPlugin.csproj b/ProjectPlugins/MetricsPlugin/MetricsPlugin.csproj index 26aa1e5c..437ca9b0 100644 --- a/ProjectPlugins/MetricsPlugin/MetricsPlugin.csproj +++ b/ProjectPlugins/MetricsPlugin/MetricsPlugin.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Tests/CodexContinuousTests/CodexContinuousTests.csproj b/Tests/CodexContinuousTests/CodexContinuousTests.csproj index 156df9a7..03403394 100644 --- a/Tests/CodexContinuousTests/CodexContinuousTests.csproj +++ b/Tests/CodexContinuousTests/CodexContinuousTests.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/Tests/CodexLongTests/CodexTestsLong.csproj b/Tests/CodexLongTests/CodexTestsLong.csproj index f504cfd2..f3beffd0 100644 --- a/Tests/CodexLongTests/CodexTestsLong.csproj +++ b/Tests/CodexLongTests/CodexTestsLong.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Tests/CodexReleaseTests/CodexReleaseTests.csproj b/Tests/CodexReleaseTests/CodexReleaseTests.csproj index e7053e1d..9971997a 100644 --- a/Tests/CodexReleaseTests/CodexReleaseTests.csproj +++ b/Tests/CodexReleaseTests/CodexReleaseTests.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 enable enable diff --git a/Tests/DistTestCore/DistTestCore.csproj b/Tests/DistTestCore/DistTestCore.csproj index 4b996f70..d74e7017 100644 --- a/Tests/DistTestCore/DistTestCore.csproj +++ b/Tests/DistTestCore/DistTestCore.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 DistTestCore enable enable diff --git a/Tests/ExperimentalTests/ExperimentalTests.csproj b/Tests/ExperimentalTests/ExperimentalTests.csproj index da386359..68cab2ff 100644 --- a/Tests/ExperimentalTests/ExperimentalTests.csproj +++ b/Tests/ExperimentalTests/ExperimentalTests.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Tests/FrameworkTests/FrameworkTests.csproj b/Tests/FrameworkTests/FrameworkTests.csproj index 626b5683..238c9938 100644 --- a/Tests/FrameworkTests/FrameworkTests.csproj +++ b/Tests/FrameworkTests/FrameworkTests.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/Tools/CsvCombiner/CsvCombiner.csproj b/Tools/CsvCombiner/CsvCombiner.csproj index b88f5505..97b4d28f 100644 --- a/Tools/CsvCombiner/CsvCombiner.csproj +++ b/Tools/CsvCombiner/CsvCombiner.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/Tools/TestClusterStarter/TestClusterStarter.csproj b/Tools/TestClusterStarter/TestClusterStarter.csproj index b7a2846a..3ff55e7a 100644 --- a/Tools/TestClusterStarter/TestClusterStarter.csproj +++ b/Tools/TestClusterStarter/TestClusterStarter.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/Tools/TranscriptAnalysis/TranscriptAnalysis.csproj b/Tools/TranscriptAnalysis/TranscriptAnalysis.csproj index 64983f90..ab2d295e 100644 --- a/Tools/TranscriptAnalysis/TranscriptAnalysis.csproj +++ b/Tools/TranscriptAnalysis/TranscriptAnalysis.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable From e8c74df61f772404b84d00f4eba11086f7610503 Mon Sep 17 00:00:00 2001 From: E M <5089238+emizzle@users.noreply.github.com> Date: Mon, 30 Mar 2026 13:13:17 +1100 Subject: [PATCH 3/6] Updates to support Kubernetes upgrade --- Framework/KubernetesWorkflow/K8sController.cs | 19 +++++-------------- .../MetricsPlugin/DateTimeExtensions.cs | 11 +++++++++++ ProjectPlugins/MetricsPlugin/MetricsQuery.cs | 3 +-- .../BasicTests/AsyncProfiling.cs | 2 +- 4 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 ProjectPlugins/MetricsPlugin/DateTimeExtensions.cs diff --git a/Framework/KubernetesWorkflow/K8sController.cs b/Framework/KubernetesWorkflow/K8sController.cs index e07116a5..6c8d70e2 100644 --- a/Framework/KubernetesWorkflow/K8sController.cs +++ b/Framework/KubernetesWorkflow/K8sController.cs @@ -304,10 +304,7 @@ namespace KubernetesWorkflow { new V1NetworkPolicyPort { - Port = new IntstrIntOrString - { - Value = "53" - }, + Port = 53, Protocol = "UDP" } } @@ -328,18 +325,12 @@ namespace KubernetesWorkflow { new V1NetworkPolicyPort { - Port = new IntstrIntOrString - { - Value = "80" - }, + Port = 80, Protocol = "TCP" }, new V1NetworkPolicyPort { - Port = new IntstrIntOrString - { - Value = "443" - }, + Port = 443, Protocol = "TCP" } } @@ -642,10 +633,10 @@ namespace KubernetesWorkflow }; } - private V1ResourceRequirements CreateVolumeResourceRequirements(VolumeMount v) + private V1VolumeResourceRequirements CreateVolumeResourceRequirements(VolumeMount v) { if (v.ResourceQuantity == null) return null!; - return new V1ResourceRequirements + return new V1VolumeResourceRequirements { Requests = new Dictionary() { diff --git a/ProjectPlugins/MetricsPlugin/DateTimeExtensions.cs b/ProjectPlugins/MetricsPlugin/DateTimeExtensions.cs new file mode 100644 index 00000000..c44cd937 --- /dev/null +++ b/ProjectPlugins/MetricsPlugin/DateTimeExtensions.cs @@ -0,0 +1,11 @@ +namespace MetricsPlugin +{ + public static class DateTimeExtensions + { + // Convert DateTime to Unix epoch seconds + public static long ToUnixTimeSeconds(this DateTime dateTime) + { + return new DateTimeOffset(dateTime.ToUniversalTime()).ToUnixTimeSeconds(); + } + } +} diff --git a/ProjectPlugins/MetricsPlugin/MetricsQuery.cs b/ProjectPlugins/MetricsPlugin/MetricsQuery.cs index 0f0d11db..d439cdd9 100644 --- a/ProjectPlugins/MetricsPlugin/MetricsQuery.cs +++ b/ProjectPlugins/MetricsPlugin/MetricsQuery.cs @@ -1,5 +1,4 @@ using Core; -using IdentityModel; using KubernetesWorkflow.Types; using Logging; using System.Globalization; @@ -212,7 +211,7 @@ namespace MetricsPlugin MakeLine(lines, e => { e.Add("Metrics"); - foreach (var ts in allTimestamps) e.Add(ts.ToEpochTime().ToString()); + foreach (var ts in allTimestamps) e.Add(ts.ToUnixTimeSeconds().ToString()); }); foreach (var set in Sets) diff --git a/Tests/ExperimentalTests/BasicTests/AsyncProfiling.cs b/Tests/ExperimentalTests/BasicTests/AsyncProfiling.cs index c74911fc..2c630975 100644 --- a/Tests/ExperimentalTests/BasicTests/AsyncProfiling.cs +++ b/Tests/ExperimentalTests/BasicTests/AsyncProfiling.cs @@ -71,7 +71,7 @@ namespace ExperimentalTests.BasicTests { foreach (var value in metric.Values) { - if (value.Value > highest) + if (value.Value >= highest) { highest = value.Value; result = metric; From 019da609e4a3354e5ee59beafd65adbeda79a065 Mon Sep 17 00:00:00 2001 From: E M <5089238+emizzle@users.noreply.github.com> Date: Mon, 30 Mar 2026 13:13:49 +1100 Subject: [PATCH 4/6] bump openapi.yaml to match openapi.yaml in the logos-storage-nim docker image --- ProjectPlugins/CodexClient/openapi.yaml | 8 +++++--- ProjectPlugins/CodexPlugin/ApiChecker.cs | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ProjectPlugins/CodexClient/openapi.yaml b/ProjectPlugins/CodexClient/openapi.yaml index a474b547..7c8f814e 100644 --- a/ProjectPlugins/CodexClient/openapi.yaml +++ b/ProjectPlugins/CodexClient/openapi.yaml @@ -171,7 +171,7 @@ components: type: string nullable: true description: "The original name of the uploaded content (optional)" - example: codex.png + example: storage.png mimetype: type: string nullable: true @@ -240,7 +240,9 @@ paths: description: | If supplied, it will be used to dial the peer. The address has to target the listening address of the peer, - which is specified with the `--listen-addrs` CLI flag. + which is /ip4//tcp/, where `listen-port` is + specified with the `--listen-port` CLI flag and `listen-ip` with the + `--listen-ip` CLI flag. responses: "200": @@ -287,7 +289,7 @@ paths: description: The content disposition used to send the filename. schema: type: string - example: 'attachment; filename="codex.png"' + example: 'attachment; filename="storage.png"' requestBody: content: application/octet-stream: diff --git a/ProjectPlugins/CodexPlugin/ApiChecker.cs b/ProjectPlugins/CodexPlugin/ApiChecker.cs index 9ccdfa02..c0356ef6 100644 --- a/ProjectPlugins/CodexPlugin/ApiChecker.cs +++ b/ProjectPlugins/CodexPlugin/ApiChecker.cs @@ -10,7 +10,7 @@ namespace CodexPlugin public class ApiChecker { // - private const string OpenApiYamlHash = "58-CA-45-23-0C-BD-26-65-BA-BB-AF-9F-09-04-9D-98-73-71-D1-3A-F2-B9-A6-A6-3B-73-38-CF-DA-CA-A2-3C"; + private const string OpenApiYamlHash = "47-B8-22-44-3B-51-EB-82-CC-C1-DD-56-F0-7E-EC-7F-CD-E0-8F-5E-F6-3B-40-E0-02-E6-71-DB-B8-03-65-18"; private const string OpenApiFilePath = "/logosstorage/openapi.yaml"; private const string DisableEnvironmentVariable = "CODEXPLUGIN_DISABLE_APICHECK"; From 317228ac2c74819274d85e2c1896b3cd8d442210 Mon Sep 17 00:00:00 2001 From: E M <5089238+emizzle@users.noreply.github.com> Date: Wed, 1 Apr 2026 16:34:08 +1100 Subject: [PATCH 5/6] bump doc to .net 10 --- docs/Automation.md | 2 +- docs/LOCALSETUP.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Automation.md b/docs/Automation.md index ee001525..5443294d 100644 --- a/docs/Automation.md +++ b/docs/Automation.md @@ -104,7 +104,7 @@ GitHub --> CI --> Kubernetes --> Job | spec: containers: - name: dotnet - image: mcr.microsoft.com/dotnet/sdk:8.0 + image: mcr.microsoft.com/dotnet/sdk:10.0 env: - name: RUNNERLOCATION value: InternalToCluster diff --git a/docs/LOCALSETUP.md b/docs/LOCALSETUP.md index 40126a16..326c67ec 100644 --- a/docs/LOCALSETUP.md +++ b/docs/LOCALSETUP.md @@ -4,10 +4,10 @@ These steps will help you set up everything you need to run and debug the tests on your local system. ### Installing the requirements. -1. Install dotnet v8.0 or newer. (If you install a newer version, consider updating the .csproj files by replacing all mention of `net8.0` with your version.) +1. Install dotnet v10.0 or newer. (If you install a newer version, consider updating the .csproj files by replacing all mention of `net10.0` with your version.) 1. Set up a nice C# IDE or plugin for your current IDE. 1. Install docker desktop. -1. In the docker-desktop settings, enable kubernetes. (This might take a few minutes.) +1. In the docker-desktop settings, enable kubernetes using kubeadm. (This might take a few minutes.) Note that the version of the `KubernetesClient` package in the `KubernetesWorkflow` project [must be compatible with](https://github.com/kubernetes-client/csharp#version-compatibility) the version of Kubernetes that `kubeadm` exposes. For example, the current version of Kubernetes that kubeadm exposes is `1.34.1`, therefore `KubernetesClient` must use version `18.x`. See https://github.com/kubernetes-client/csharp#version-compatibility for more information. ### Running the tests Most IDEs will let you run individual tests or test fixtures straight from the code file. If you want to run all the tests, you can use `dotnet test`. You can control which tests to run by specifying which folder of tests to run. `dotnet test Tests/CodexTests` will run only the tests in `/Tests/CodexTests` and exclude the long tests. From c0465a54b5ee49f71c30ff71bb991c402872ac56 Mon Sep 17 00:00:00 2001 From: E M <5089238+emizzle@users.noreply.github.com> Date: Wed, 1 Apr 2026 20:35:26 +1100 Subject: [PATCH 6/6] bump docker to .net 10 --- README.md | 6 +++--- docker/Dockerfile | 2 +- docker/deployandrun.Dockerfile | 2 +- docs/Continuous-Tests.md | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3cde1622..b3d0c80b 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ This project allows you to write tools and tests that control and interact with container-based applications to form a distributed system in a controlled, reproducible environment. -Dotnet: v8.0 -Kubernetes: v1.25.4 -Dotnet-kubernetes SDK: v10.1.4 https://github.com/kubernetes-client/csharp +Dotnet: v10.0 +Kubernetes: v1.34.1 +Dotnet-kubernetes SDK: v18.0.3 https://github.com/kubernetes-client/csharp Nethereum: v4.14.0 Currently, this project is mainly used for distributed testing of [Nim-Codex](https://github.com/codex-storage/nim-codex). However, its plugin-structure allows for other projects to be on-boarded (relatively) easily. (See 'contribute a plugin`.) diff --git a/docker/Dockerfile b/docker/Dockerfile index 07a9123b..bf557e27 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:8.0 +FROM mcr.microsoft.com/dotnet/sdk:10.0 COPY --chmod=0755 docker/docker-entrypoint.sh / diff --git a/docker/deployandrun.Dockerfile b/docker/deployandrun.Dockerfile index 3d593281..46cb8560 100644 --- a/docker/deployandrun.Dockerfile +++ b/docker/deployandrun.Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:8.0 +FROM mcr.microsoft.com/dotnet/sdk:10.0 RUN apt-get update && apt-get install -y screen WORKDIR /app diff --git a/docs/Continuous-Tests.md b/docs/Continuous-Tests.md index 16518c2c..8ed59bc1 100644 --- a/docs/Continuous-Tests.md +++ b/docs/Continuous-Tests.md @@ -44,7 +44,7 @@ spec: containers: - name: runner - image: mcr.microsoft.com/dotnet/sdk:8.0 + image: mcr.microsoft.com/dotnet/sdk:10.0 env: - name: KUBECONFIG value: /opt/kubeconfig.yaml