Skip to content

Commit b116a91

Browse files
committed
feat(run-integration-test)!: Record cluster start and end time
1 parent 32565c8 commit b116a91

4 files changed

Lines changed: 104 additions & 11 deletions

File tree

_committed.toml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
style = "conventional"
2+
allowed_types = ["refactor", "chore", "feat", "docs", "fix", "ci"]
3+
# Generated using `cargo boil image list --pretty never | jq 'keys'` + boil, patchable
4+
allowed_scopes = [
5+
"airflow",
6+
"druid",
7+
"hadoop",
8+
"hadoop/hadoop",
9+
"hbase",
10+
"hbase/hbase",
11+
"hbase/hbase-opa-authorizer",
12+
"hbase/hbase-operator-tools",
13+
"hbase/phoenix",
14+
"hive",
15+
"hive/hive-metastore-opa-authorizer",
16+
"java-base",
17+
"java-devel",
18+
"jdk-base",
19+
"kafka",
20+
"kafka-testing-tools",
21+
"kafka/kafka-opa-plugin",
22+
"kafka/kcat",
23+
"krb5",
24+
"nifi",
25+
"omid",
26+
"opa",
27+
"opensearch",
28+
"opensearch-dashboards",
29+
"opensearch-dashboards/alerting-dashboards-plugin",
30+
"opensearch-dashboards/anomaly-detection-dashboards-plugin",
31+
"opensearch-dashboards/dashboards-assistant",
32+
"opensearch-dashboards/dashboards-flow-framework",
33+
"opensearch-dashboards/dashboards-maps",
34+
"opensearch-dashboards/dashboards-notifications",
35+
"opensearch-dashboards/dashboards-observability",
36+
"opensearch-dashboards/dashboards-query-workbench",
37+
"opensearch-dashboards/dashboards-reporting",
38+
"opensearch-dashboards/dashboards-search-relevance",
39+
"opensearch-dashboards/index-management-dashboards-plugin",
40+
"opensearch-dashboards/ml-commons-dashboards",
41+
"opensearch-dashboards/opensearch-build",
42+
"opensearch-dashboards/query-insights-dashboards",
43+
"opensearch-dashboards/security-analytics-dashboards-plugin",
44+
"opensearch-dashboards/security-dashboards-plugin",
45+
"opensearch/opensearch-prometheus-exporter",
46+
"opensearch/security-plugin",
47+
"precompiled/hadoop",
48+
"shared/logback",
49+
"shared/reload4j",
50+
"shared/statsd-exporter",
51+
"spark-connect-client",
52+
"spark-k8s",
53+
"spark-k8s/hbase-connectors",
54+
"stackable-base",
55+
"stackable-devel",
56+
"superset",
57+
"testing-tools",
58+
"testing-tools/hive",
59+
"testing-tools/nifi",
60+
"testing-tools/trino",
61+
"tools",
62+
"trino",
63+
"trino-cli",
64+
"trino/airlift",
65+
"trino/storage-connector",
66+
"trino/trino",
67+
"vector",
68+
"zookeeper",
69+
# Rust Tools
70+
"boil",
71+
"patchable",
72+
]

run-integration-test/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,10 @@ profiles:
110110

111111
| Output | Description |
112112
| ------ | ----------- |
113-
| `start-time` | The time the test started running, in the `%Y-%m-%dT%H:%M:%S` (eg. `2025-08-20T09:57:53`) format. |
114-
| `end-time` | The time the test completed, in the same format as above. |
113+
| `test-start-time` | The time the test started running, in the `%Y-%m-%dT%H:%M:%S` (eg. `2025-08-20T09:57:53`) format. |
114+
| `test-end-time` | The time the test completed, in the same format as above. |
115+
| `cluster-start-time` | The time the cluster started running, in the `%Y-%m-%dT%H:%M:%S` (eg. `2025-08-20T09:57:53`) format. |
116+
| `cluster-end-time` | The time the cluster shut down, in the same format as above. |
115117
| `health` | The health of the integration tests. Contains three comma-separated values: Slack emoji, GitHub emoji, and success rate. |
116118
| `failed-tests` | A (potentially empty) plain text list of failed tests. |
117119

run-integration-test/action.yaml

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,18 @@ inputs:
5252
# See https://github.com/stackabletech/stackable-cockpit/releases for latest version
5353
default: 1.1.0
5454
outputs:
55-
start-time:
55+
test-start-time:
5656
description: The date and time this integration test was started.
57-
value: ${{ steps.start-time.outputs.START_TIME }}
58-
end-time:
57+
value: ${{ steps.test-start-time.outputs.TEST_START_TIME }}
58+
test-end-time:
5959
description: The date and time this integration test finished.
60-
value: ${{ steps.end-time.outputs.END_TIME }}
60+
value: ${{ steps.test-end-time.outputs.TEST_END_TIME }}
61+
cluster-start-time:
62+
description: The date and time this cluster was started.
63+
value: ${{ steps.cluster-start-time.outputs.CLUSTER_START_TIME }}
64+
cluster-end-time:
65+
description: The date and time this cluster was shut down.
66+
value: ${{ steps.cluster-end-time.outputs.CLUSTER_END_TIME }}
6167
health:
6268
description: The health of this integration test over the last few tries.
6369
value: ${{ steps.health.outputs.HEALTH }}
@@ -181,6 +187,12 @@ runs:
181187
mkdir ~/.kube
182188
echo "$KUBECONFIG" > ~/.kube/config
183189
190+
- name: Record Cluster Start Time
191+
id: cluster-start-time
192+
shell: bash
193+
run: |
194+
echo "CLUSTER_START_TIME=$(date +'%Y-%m-%dT%H:%M:%S')" | tee -a "$GITHUB_OUTPUT"
195+
184196
- name: Extract Operator Name
185197
id: extract_operator_name
186198
env:
@@ -267,10 +279,10 @@ runs:
267279
echo "::endgroup::"
268280
269281
- name: Record Test Start Time
270-
id: start-time
282+
id: test-start-time
271283
shell: bash
272284
run: |
273-
echo "START_TIME=$(date +'%Y-%m-%dT%H:%M:%S')" | tee -a "$GITHUB_OUTPUT"
285+
echo "TEST_START_TIME=$(date +'%Y-%m-%dT%H:%M:%S')" | tee -a "$GITHUB_OUTPUT"
274286
275287
- name: Run Integration Test
276288
id: integration-test
@@ -294,11 +306,11 @@ runs:
294306
python ./scripts/run-tests --skip-release --log-level debug --parallel "$BEKU_TEST_PARALLELISM" ${ARGS:-} | tee -a test-output.log
295307
296308
- name: Record Test End Time
297-
id: end-time
309+
id: test-end-time
298310
if: always()
299311
shell: bash
300312
run: |
301-
echo "END_TIME=$(date +'%Y-%m-%dT%H:%M:%S')" | tee -a "$GITHUB_OUTPUT"
313+
echo "TEST_END_TIME=$(date +'%Y-%m-%dT%H:%M:%S')" | tee -a "$GITHUB_OUTPUT"
302314
303315
- name: Destroy Replicated Cluster
304316
if: always()
@@ -310,6 +322,13 @@ runs:
310322
api-token: ${{ inputs.replicated-api-token }}
311323
cluster-id: ${{ steps.prepare-replicated-cluster.outputs.cluster-id }}
312324

325+
- name: Record Cluster End Time
326+
id: cluster-end-time
327+
if: always()
328+
shell: bash
329+
run: |
330+
echo "CLUSTER_END_TIME=$(date +'%Y-%m-%dT%H:%M:%S')" | tee -a "$GITHUB_OUTPUT"
331+
313332
- name: Extract Failed Tests
314333
id: failed-tests
315334
# The success() function is automatically used if no other status function is used.

rust-toolchain.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
toolchain.channel = "1.83.0"
1+
toolchain.channel = "1.95.0"

0 commit comments

Comments
 (0)