Skip to content

Commit 0ffde82

Browse files
committed
Update main.yml workflow to run integration suit on many scylla versions
Scylla supports 2 last LTS and two last versions. So, currently it is 2025.1 (LTS_LATEST), 2024.1 (LTS_PRIOR), 2025.3 (LATEST) and 2025.3 (PRIOR). I am skipping testing it against PRIOR for now.
1 parent 44d2451 commit 0ffde82

File tree

2 files changed

+53
-7
lines changed

2 files changed

+53
-7
lines changed

.github/workflows/main.yml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,43 @@ jobs:
5353

5454
- run: sudo sh -c "echo 2097152 >> /proc/sys/fs/aio-max-nr"
5555

56-
- name: Run integration suite
56+
test-integration:
57+
name: Integration Tests On Scylla
58+
runs-on: ubuntu-latest
59+
needs: build
60+
strategy:
61+
matrix:
62+
scylla_version: [LTS-LATEST, LTS-PRIOR, LATEST]
63+
fail-fast: false
64+
env:
65+
SCYLLA_VERSION: ${{ matrix.scylla_version }}
66+
steps:
67+
- uses: actions/checkout@v5
68+
69+
- uses: actions/cache@v4
70+
with:
71+
path: |
72+
/home/runner/.cache/pip
73+
/home/runner/.ccm/scylla-repository
74+
/home/runner/.ccm/repository
75+
/home/runner/.sdkman
76+
testdata/pki
77+
bin/
78+
# CCM, scylla, cassandra and java versions are in Makefile
79+
key: pr-check-${{ runner.os }}-${{ hashFiles('Makefile') }}
80+
81+
- uses: actions/setup-go@v6
82+
with:
83+
cache-dependency-path: |
84+
lz4/go.sum
85+
tests/bench/go.sum
86+
go.sum
87+
88+
- run: sudo sh -c "echo 2097152 >> /proc/sys/fs/aio-max-nr"
89+
90+
- name: Run integration suite with ScyllaDB ${{ matrix.scylla_version }}
5791
run: make test-integration-scylla
5892

59-
- name: Run CCM integration suite
93+
- name: Run CCM integration suite with ScyllaDB ${{ matrix.scylla_version }}
6094
run: TEST_INTEGRATION_TAGS="ccm gocql_debug" make test-integration-scylla
6195

Makefile

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ MAKEFILE_PATH := $(abspath $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
33
KEY_PATH = ${MAKEFILE_PATH}/testdata/pki
44
BIN_DIR := "${MAKEFILE_PATH}/bin"
55

6-
CASSANDRA_VERSION ?= 4.1.6
7-
SCYLLA_VERSION ?= release:6.1.1
6+
CASSANDRA_VERSION ?= LATEST
7+
SCYLLA_VERSION ?= LATEST
88
GOLANGCI_VERSION = 2.1.6
99

1010
TEST_CQL_PROTOCOL ?= 4
@@ -81,6 +81,11 @@ cassandra-start: .prepare-pki .prepare-cassandra-ccm .prepare-java
8181
@if [ -d ${CCM_CONFIG_DIR}/${CCM_CASSANDRA_CLUSTER_NAME} ] && ccm switch ${CCM_CASSANDRA_CLUSTER_NAME} 2>/dev/null 1>&2 && ccm status | grep UP 2>/dev/null 1>&2; then \
8282
echo "Cassandra cluster is already started"; \
8383
else \
84+
if [[ "${CASSANDRA_VERSION}" == "LATEST" ); then\
85+
CASSANDRA_VERSION=5.0.5
86+
elif [[ "${CASSANDRA_VERSION}" == "PRIOR" ); then\
87+
CASSANDRA_VERSION=4.1.10
88+
fi; \
8489
echo "Start cassandra ${CASSANDRA_VERSION} cluster"; \
8590
ccm stop ${CCM_CASSANDRA_CLUSTER_NAME} 2>/dev/null 1>&2 || true; \
8691
ccm remove ${CCM_CASSANDRA_CLUSTER_NAME} 2>/dev/null 1>&2 || true; \
@@ -95,10 +100,17 @@ scylla-start: .prepare-pki .prepare-scylla-ccm .prepare-java
95100
@if [ -d ${CCM_CONFIG_DIR}/${CCM_SCYLLA_CLUSTER_NAME} ] && ccm switch ${CCM_SCYLLA_CLUSTER_NAME} 2>/dev/null 1>&2 && ccm status | grep UP 2>/dev/null 1>&2; then \
96101
echo "Scylla cluster is already started"; \
97102
else \
98-
echo "Start scylla ${SCYLLA_VERSION} cluster"; \
103+
if [[ "$(SCYLLA_VERSION)" == "LTS-LATEST" ]]; then\
104+
SCYLLA_VERSION=release:2025.1;\
105+
elif [[ "$(SCYLLA_VERSION)" == "LTS-PRIOR" ]]; then\
106+
SCYLLA_VERSION=release:2024.1;\
107+
elif [[ "$(SCYLLA_VERSION)" == "LATEST" ]]; then\
108+
SCYLLA_VERSION=release:2025.3;\
109+
fi; \
110+
echo "Start scylla $(SCYLLA_VERSION)($${SCYLLA_VERSION}) cluster"; \
99111
ccm stop ${CCM_SCYLLA_CLUSTER_NAME} 2>/dev/null 1>&2 || true; \
100112
ccm remove ${CCM_SCYLLA_CLUSTER_NAME} 2>/dev/null 1>&2 || true; \
101-
ccm create ${CCM_SCYLLA_CLUSTER_NAME} -i ${CCM_SCYLLA_IP_PREFIX} --scylla -v ${SCYLLA_VERSION} -n 3 -d --jvm_arg="--smp 2 --memory 1G --experimental-features udf --enable-user-defined-functions true" && \
113+
ccm create ${CCM_SCYLLA_CLUSTER_NAME} -i ${CCM_SCYLLA_IP_PREFIX} --scylla -v $${SCYLLA_VERSION} -n 3 -d --jvm_arg="--smp 2 --memory 1G --experimental-features udf --enable-user-defined-functions true" && \
102114
ccm updateconf ${SCYLLA_CONFIG} && \
103115
ccm start --wait-for-binary-proto --wait-other-notice --verbose && \
104116
ccm status && \
@@ -228,4 +240,4 @@ generate-pki:
228240
mkdir -p "${BIN_DIR}"; \
229241
echo "Installing golangci-lint to '${BIN_DIR}'"; \
230242
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b bin/ v$(GOLANGCI_VERSION); \
231-
fi
243+
fi

0 commit comments

Comments
 (0)