Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/flow-examples-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,23 +110,23 @@ jobs:
- name: Install Kubectl
uses: step-security/setup-kubectl@fa3574e17195eaed56b1e9d9095c58d0aee24f03 # pinned to v4.0.1
with:
version: 'v1.27.3'
version: 'v1.34.0'
id: install

- name: Setup Kind
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

- name: Setup Helm
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: "v3.17.1" # helm version
version: "v4.0.4" # helm version

- name: Install Dependencies
id: npm-deps
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/flow-gcs-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -114,16 +114,16 @@ jobs:
if: steps.check.outputs.run == 'true'
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: "v3.12.3" # helm version
version: "v4.0.4" # helm version

- name: Setup Kind
if: steps.check.outputs.run == 'true'
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

Expand All @@ -138,7 +138,7 @@ jobs:
uses: step-security/setup-kubectl@fa3574e17195eaed56b1e9d9095c58d0aee24f03 # pinned to v4.0.1
if: steps.check.outputs.run == 'true'
with:
version: 'v1.27.3'
version: 'v1.34.0'
id: install

- name: Compile Project
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/flow-migration-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,22 +58,22 @@ jobs:
- name: Setup Helm
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: "v3.12.3" # helm version
version: "v4.0.4" # helm version

- name: Setup Kind
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

- name: Install Kubectl
uses: step-security/setup-kubectl@fa3574e17195eaed56b1e9d9095c58d0aee24f03 # pinned to v4.0.1
with:
version: 'v1.27.3'
version: 'v1.34.0'
id: install

- name: Get Latest Version
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/flow-performance-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,23 +74,23 @@ jobs:
- name: Install Kubectl
uses: step-security/setup-kubectl@fa3574e17195eaed56b1e9d9095c58d0aee24f03 # pinned to v4.0.1
with:
version: 'v1.27.3'
version: 'v1.34.0'
id: install

- name: Setup Kind
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

- name: Setup Helm
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: "v3.17.1" # helm version
version: "v4.0.4" # helm version

- name: Install Dependencies
id: npm-deps
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/zxc-e2e-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -221,25 +221,25 @@ jobs:
if: ${{ inputs.install-dependencies == true }}
uses: step-security/setup-kubectl@fa3574e17195eaed56b1e9d9095c58d0aee24f03 # pinned to v4.0.1
with:
version: 'v1.27.3'
version: 'v1.34.0'
id: install

- name: Setup Kind
if: ${{ inputs.install-dependencies == true }}
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

- name: Setup Helm
if: ${{ inputs.install-dependencies == true }}
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: "v3.17.1" # helm version
version: "v4.0.4" # helm version

- name: Install Dependencies
id: npm-deps
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/zxc-hugo-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,21 +109,21 @@ jobs:
- name: Install Kubectl
uses: step-security/setup-kubectl@fa3574e17195eaed56b1e9d9095c58d0aee24f03 # pinned to v4.0.1
with:
version: 'v1.27.3'
version: 'v1.34.0'
id: install

- name: Setup Helm
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: "v3.12.3" # helm version
version: "v4.0.4" # helm version

- name: Setup Kind
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/zxc-unit-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,16 +88,16 @@ jobs:
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
if: ${{ runner.os == 'linux' }}
with:
version: "v3.12.3" # helm version
version: "v4.0.4" # helm version

- name: Setup Kind
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
if: ${{ runner.os == 'linux' }}
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

Expand Down
14 changes: 6 additions & 8 deletions docs/site/content/en/docs/solo-ci-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ Next, install Kind to create and manage a local Kubernetes cluster in your workf
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s
```
Expand Down Expand Up @@ -109,9 +109,9 @@ Here’s the full workflow combining all the steps above:
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3
with:
install_only: true
node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
version: v0.26.0
kubectl_version: v1.31.4
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
version: v0.31.0
kubectl_version: v1.34.0
verbosity: 3
wait: 120s

Expand All @@ -138,5 +138,3 @@ Here’s the full workflow combining all the steps above:
kind create cluster -n "${SOLO_CLUSTER_NAME}"
solo one-shot single deploy | tee solo-deploy.log
```


4 changes: 3 additions & 1 deletion test/e2e/commands/tests/base-command-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {DeploymentCommandDefinition} from '../../../../src/commands/command-defi
import {Argv} from '../../../helpers/argv-wrapper.js';
import {NamespaceName} from '../../../../src/types/namespace/namespace-name.js';
import {type SoloLogger} from '../../../../src/core/logging/solo-logger.js';
import {getEnvironmentVariable} from '../../../../src/core/constants.js';

export class BaseCommandTest {
public static newArgv(): string[] {
Expand All @@ -29,7 +30,8 @@ export class BaseCommandTest {
): string[] {
argv.push(BaseCommandTest.optionFromFlag(Flags.devMode), BaseCommandTest.optionFromFlag(Flags.quiet));

if (shouldSetChartDirectory && process.env.SOLO_CHARTS_DIR && process.env.SOLO_CHARTS_DIR !== '') {
const soloChartsDirectory: string = getEnvironmentVariable('SOLO_CHARTS_DIR');
if (shouldSetChartDirectory && soloChartsDirectory && soloChartsDirectory !== '') {
argv.push(BaseCommandTest.optionFromFlag(Flags.chartDirectory), process.env.SOLO_CHARTS_DIR);
}

Expand Down
3 changes: 3 additions & 0 deletions test/e2e/dual-cluster/kind-cluster-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ nodes:
kind: ClusterConfiguration
networking:
dnsDomain: "cluster.local"
- |
kind: KubeletConfiguration
cgroupDriver: "systemd"
networking:
# apiServerAddress: "172.19.0.2"
# apiServerPort: 6443
Expand Down
3 changes: 3 additions & 0 deletions test/e2e/dual-cluster/kind-cluster-2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ nodes:
kind: ClusterConfiguration
networking:
dnsDomain: "cluster.local"
- |
kind: KubeletConfiguration
cgroupDriver: "systemd"
networking:
# apiServerAddress: "172.19.0.3"
# apiServerPort: 6443
Expand Down
18 changes: 17 additions & 1 deletion test/e2e/dual-cluster/setup-dual-e2e.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ SCRIPT_PATH=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
readonly SCRIPT_PATH

readonly CLUSTER_DIAGNOSTICS_PATH="${SCRIPT_PATH}/diagnostics/cluster"
readonly KIND_IMAGE="kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30"
readonly KIND_IMAGE="kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48"

echo "SOLO_CHARTS_DIR: ${SOLO_CHARTS_DIR}"
export PATH=${PATH}:~/.solo/bin
Expand All @@ -25,12 +25,28 @@ elif [[ "${SOLO_CLUSTER_DUALITY}" -gt 2 ]]; then
SOLO_CLUSTER_DUALITY=2
fi

KIND_VERSION=$(kind --version | awk '{print $3}')
echo "Using Kind version: ${KIND_VERSION}"
DOCKER_VERSION=$(docker --version | awk '{print $3}' | sed 's/,//')
echo "Using Docker version: ${DOCKER_VERSION}"
HELM_VERSION=$(helm version --short | sed 's/v//')
echo "Using Helm version: ${HELM_VERSION}"
KUBECTL_VERSION=$(kubectl version --client=true | grep Client | awk '{print $3}' | sed 's/v//')
echo "Using Kubectl version: ${KUBECTL_VERSION}"
TASK_VERSION=$(task --version | awk '{print $3}')
echo "Using Task version: ${TASK_VERSION}"
NODE_VERSION=$(node --version | sed 's/v//')
echo "Using Node version: ${NODE_VERSION}"
NPM_VERSION=$(npm --version)
echo "Using NPM version: ${NPM_VERSION}"

for i in $(seq 1 "${SOLO_CLUSTER_DUALITY}"); do
kind delete cluster -n "${SOLO_CLUSTER_NAME}-c${i}" || true
done

docker network rm -f kind || true
docker network create kind --scope local --subnet 172.19.0.0/16 --driver bridge
docker info | grep -i cgroup

# Setup Helm Repos
helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
Expand Down
24 changes: 12 additions & 12 deletions test/unit/core/helm/software/helm-software-loader.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,22 @@ import {describe, it} from 'mocha';
import {platform, arch} from 'node:os';
import {existsSync} from 'node:fs';
import {execSync} from 'node:child_process';
import {gte} from 'semver';
import {SemanticVersion} from '../../../../../src/integration/helm/base/api/version/semantic-version.js';
import {HelmSoftwareLoader} from '../../../../../src/integration/helm/resource/helm-software-loader.js';

describe('Helm Software Loader Test', () => {
const currentPlatform = platform();
const currentArch = arch();
describe('Helm Software Loader Test', (): void => {
const currentPlatform: NodeJS.Platform = platform();
const currentArch: string = arch();

const supportedPlatforms = {
const supportedPlatforms: {linux: string[]; darwin: string[]; win32: string[]} = {
linux: ['x64', 'arm64'],
darwin: ['x64', 'arm64'],
win32: ['x64'],
};

const installHelmAndVerify = async () => {
const helmPath = await HelmSoftwareLoader.getHelmExecutablePath();
const installHelmAndVerify: () => Promise<void> = async (): Promise<void> => {
const helmPath: string = await HelmSoftwareLoader.getHelmExecutablePath();
expect(helmPath).to.not.be.null;
expect(existsSync(helmPath)).to.be.true;

Expand All @@ -31,7 +32,7 @@ describe('Helm Software Loader Test', () => {
}

// Check filename
const expectedFilename = currentPlatform === 'win32' ? 'helm.exe' : 'helm';
const expectedFilename: string = currentPlatform === 'win32' ? 'helm.exe' : 'helm';
expect(helmPath.endsWith(expectedFilename)).to.be.true;

// Check version
Expand All @@ -47,19 +48,18 @@ describe('Helm Software Loader Test', () => {
helmVersion = helmVersion.slice(1);
}

const actualVersion = SemanticVersion.parse(helmVersion);
const actualVersion: SemanticVersion = SemanticVersion.parse(helmVersion);
const minimumVersion: SemanticVersion = SemanticVersion.parse('3.12.0');
expect(actualVersion).to.not.be.null;
expect(actualVersion.major).to.be.greaterThanOrEqual(3);
expect(actualVersion.minor).to.be.greaterThanOrEqual(12);
expect(actualVersion.patch).to.be.greaterThanOrEqual(0);
expect(gte(actualVersion.toString(), minimumVersion.toString())).to.be.true;
};

// Run tests only if current platform/arch is supported
if (
currentPlatform in supportedPlatforms &&
supportedPlatforms[currentPlatform as keyof typeof supportedPlatforms].includes(currentArch)
) {
it(`${currentPlatform}: Install Supported Helm Version`, async () => {
it(`${currentPlatform}: Install Supported Helm Version`, async (): Promise<void> => {
await installHelmAndVerify();
});
}
Expand Down
Loading