Skip to content

Commit 3c10006

Browse files
committed
Merge branch 'main' into feature/containerdebug
2 parents aee3ec6 + 27f2b95 commit 3c10006

File tree

21 files changed

+1990
-699
lines changed

21 files changed

+1990
-699
lines changed

.github/workflows/build.yml

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ on:
1414
- "renovate/**"
1515
tags:
1616
- '[0-9][0-9].[0-9]+.[0-9]+'
17+
- '[0-9][0-9].[0-9]+.[0-9]+-rc[0-9]+'
1718
pull_request:
1819
merge_group:
1920
schedule:
@@ -25,7 +26,7 @@ env:
2526
CARGO_TERM_COLOR: always
2627
CARGO_INCREMENTAL: '0'
2728
CARGO_PROFILE_DEV_DEBUG: '0'
28-
RUST_TOOLCHAIN_VERSION: "1.81.0"
29+
RUST_TOOLCHAIN_VERSION: "1.82.0"
2930
RUSTFLAGS: "-D warnings"
3031
RUSTDOCFLAGS: "-D warnings"
3132
RUST_LOG: "info"
@@ -344,9 +345,22 @@ jobs:
344345
with:
345346
crate: cargo-edit
346347
bin: cargo-set-version
347-
- name: Update version if PR
348-
if: ${{ github.event_name == 'pull_request' }}
349-
run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }}
348+
- name: Update version if PR against main branch
349+
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'main' }}
350+
env:
351+
PR_NUMBER: ${{ github.event.pull_request.number }}
352+
run: |
353+
PR_VERSION="0.0.0-pr${PR_NUMBER}"
354+
cargo set-version --offline --workspace "$PR_VERSION"
355+
- name: Update version if PR against non-main branch
356+
# For PRs to be merged against a release branch, use the version that has already been set in the calling script.
357+
if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.base.ref, 'release-') }}
358+
env:
359+
PR_NUMBER: ${{ github.event.pull_request.number }}
360+
run: |
361+
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
362+
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
363+
cargo set-version --offline --workspace "$PR_VERSION"
350364
351365
# Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the
352366
# default value in the makefile if called from this action, but not otherwise (i.e. when called locally).
@@ -410,9 +424,22 @@ jobs:
410424
with:
411425
crate: cargo-edit
412426
bin: cargo-set-version
413-
- name: Update version if PR
414-
if: ${{ github.event_name == 'pull_request' }}
415-
run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }}
427+
- name: Update version if PR against main branch
428+
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'main' }}
429+
env:
430+
PR_NUMBER: ${{ github.event.pull_request.number }}
431+
run: |
432+
PR_VERSION="0.0.0-pr${PR_NUMBER}"
433+
cargo set-version --offline --workspace "$PR_VERSION"
434+
- name: Update version if PR against non-main branch
435+
# For PRs to be merged against a release branch, use the version that has already been set in the calling script.
436+
if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.base.ref, 'release-') }}
437+
env:
438+
PR_NUMBER: ${{ github.event.pull_request.number }}
439+
run: |
440+
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
441+
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
442+
cargo set-version --offline --workspace "$PR_VERSION"
416443
- name: Build manifest list
417444
run: |
418445
# Creating manifest list
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
name: Integration Test
3+
run-name: |
4+
Integration Test on ${{ inputs.test-platform }}-${{ inputs.test-architecture }} (${{ inputs.test-run == 'all' && 'all' || format('{0}={1}', inputs.test-run, inputs.test-parameter) }})
5+
6+
env:
7+
DEFAULT_TEST_PLATFORM: kind-1.31.0
8+
DEFAULT_TEST_ARCHITECTURE: amd64
9+
DEFAULT_TEST_RUN: all
10+
DEFAULT_TEST_PARAMETER: "" # Unused when the test-run is 'all'
11+
TEST_PLATFORM: ${{ inputs.test-platform }}
12+
TEST_ARCHITECTURE: ${{ inputs.test-architecture }}
13+
TEST_RUN: ${{ inputs.test-run }}
14+
TEST_PARAMETER: ${{ inputs.test-parameter }}
15+
16+
on:
17+
# schedule:
18+
# At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0
19+
# - cron: "0 0 * * 0"
20+
workflow_dispatch:
21+
inputs:
22+
test-platform:
23+
description: |
24+
The test platform to run on
25+
required: true
26+
type: choice
27+
options:
28+
- kind-1.31.2
29+
- kind-1.30.6
30+
- rke2-1.31.2
31+
- rke2-1.30.6
32+
- k3s-1.31.2
33+
- k3s-1.30.6
34+
- aks-1.29
35+
- aks-1.28
36+
- aks-1.27
37+
- eks-1.29
38+
- eks-1.28
39+
- eks-1.27
40+
- gke-1.29
41+
- gke-1.28
42+
- gke-1.27
43+
- okd-4.15
44+
- okd-4.14
45+
- okd-4.13
46+
test-architecture:
47+
description: |
48+
The architecture the tests will run on. Consult the run-integration-test action README for
49+
more details on supported architectures for each distribution
50+
required: true
51+
type: choice
52+
options:
53+
- amd64
54+
- arm64
55+
test-run:
56+
description: Type of test run
57+
required: true
58+
type: choice
59+
options:
60+
- all
61+
- test-suite
62+
- test
63+
test-parameter:
64+
description: Parameter to `--test-suite` or `--test` (ignored for `all`)
65+
default: smoke
66+
67+
jobs:
68+
test:
69+
name: Run Integration Test
70+
runs-on: ubuntu-latest
71+
steps:
72+
- name: Override integration test options for scheduled run
73+
if: github.event_name == 'schedule'
74+
shell: bash
75+
run: |
76+
set -euo pipefail
77+
78+
echo "TEST_PLATFORM=$DEFAULT_TEST_PLATFORM" | tee -a "$GITHUB_ENV"
79+
echo "TEST_ARCHITECTURE=$DEFAULT_TEST_ARCHITECTURE" | tee -a "$GITHUB_ENV"
80+
echo "TEST_RUN=$DEFAULT_TEST_RUN" | tee -a "$GITHUB_ENV"
81+
echo "TEST_PARAMETER=$DEFAULT_TEST_PARAMETER" | tee -a "$GITHUB_ENV"
82+
83+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
84+
with:
85+
submodules: recursive
86+
87+
- name: Run Integration Test
88+
id: test
89+
uses: stackabletech/actions/run-integration-test@5901c3b1455488820c4be367531e07c3c3e82538 # v0.4.0
90+
with:
91+
test-platform: ${{ env.TEST_PLATFORM }}-${{ env.TEST_ARCHITECTURE }}
92+
test-run: ${{ env.TEST_RUN }}
93+
test-parameter: ${{ env.TEST_PARAMETER }}
94+
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}
95+
96+
- name: Send Notification
97+
if: ${{ failure() }}
98+
env:
99+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
100+
uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
101+
with:
102+
channel-id: "C07UYJYSMSN" # notifications-integration-tests
103+
payload: |
104+
{
105+
"text": "Integration Test *${{ github.repository }}* failed",
106+
"attachments": [
107+
{
108+
"pretext": "Started at ${{ steps.test.outputs.start-time }}, failed at ${{ steps.test.outputs.end-time }}",
109+
"color": "#aa0000",
110+
"actions": [
111+
{
112+
"type": "button",
113+
"text": "Go to integration test run",
114+
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
115+
}
116+
]
117+
}
118+
]
119+
}

.github/workflows/pr_pre-commit.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
env:
88
CARGO_TERM_COLOR: always
9-
RUST_TOOLCHAIN_VERSION: "1.81.0"
9+
RUST_TOOLCHAIN_VERSION: "1.82.0"
1010
HADOLINT_VERSION: "v2.12.0"
1111
PYTHON_VERSION: "3.12"
1212

@@ -23,7 +23,7 @@ jobs:
2323
with:
2424
fetch-depth: 0
2525
submodules: recursive
26-
- uses: stackabletech/actions/run-pre-commit@e8781161bc1eb037198098334cec6061fe24b6c3 # v0.0.2
26+
- uses: stackabletech/actions/run-pre-commit@5b66858af3597c4ea34f9b33664b8034a1d28427 # v0.3.0
2727
with:
2828
python-version: ${{ env.PYTHON_VERSION }}
2929
rust: ${{ env.RUST_TOOLCHAIN_VERSION }}

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ All notable changes to this project will be documented in this file.
66

77
### Added
88

9+
- The lifetime of auto generated TLS certificates is now configurable with the role and roleGroup
10+
config property `requestedSecretLifetime`. This helps reduce frequent Pod restarts ([#892]).
11+
12+
### Fixed
13+
14+
- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be
15+
deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after
16+
restart ([#889]).
17+
18+
[#889]: https://github.com/stackabletech/zookeeper-operator/pull/889
19+
[#892]: https://github.com/stackabletech/zookeeper-operator/pull/892
20+
21+
## [24.11.0] - 2024-11-18
22+
23+
### Added
24+
925
- The operator can now run on Kubernetes clusters using a non-default cluster domain.
1026
Use the env var `KUBERNETES_CLUSTER_DOMAIN` or the operator Helm chart property `kubernetesClusterDomain` to set a non-default cluster domain ([#870]).
1127

0 commit comments

Comments
 (0)