Skip to content

Commit c0091fa

Browse files
authored
Redis 8.2 m01 (#462)
* Update Alpine Dockerfile for Redis 8.2-m01 - Bump Alpine base image from 3.21 to 3.22 - Update Redis download URL to 8.2-m01 - Update SHA256 checksum * Update Debian Dockerfile for Redis 8.2-m01 - Update Redis download URL to 8.2-m01 - Update SHA256 checksum * Update Alpine Dockerfile build dependencies - Replace clang18-libclang with clang-static and clang-libclang - Add llvm-dev and ncurses-dev packages - Add RUST_DYN_CRT=1 export to disable static linking for RediSearch's rust submodule * Set fail-fast to false in premerge workflow This ensures all matrix jobs continue running even if some fail, providing complete feedback on which platforms/distributions work. * Run tests on ARM32/64
1 parent 5151eac commit c0091fa

File tree

6 files changed

+36
-18
lines changed

6 files changed

+36
-18
lines changed

.github/actions/build-and-tag-locally/action.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -112,25 +112,25 @@ runs:
112112

113113
- name: Run container
114114
shell: bash
115-
if: ${{ contains(fromJSON('["amd64", "i386"]'), steps.platform.outputs.display_name) }}
115+
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
116116
run: |
117117
docker run -d --name sanity-test-${{ steps.platform.outputs.display_name }} ${{ github.sha }}:${{ steps.platform.outputs.display_name }}
118118
119119
- name: Container Logs
120-
if: ${{ contains(fromJSON('["amd64", "i386"]'), steps.platform.outputs.display_name) }}
120+
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
121121
shell: bash
122122
run: |
123123
docker logs sanity-test-${{ steps.platform.outputs.display_name }}
124124
125125
- name: Sanity Tests
126-
if: ${{ contains(fromJSON('["amd64", "i386"]'), steps.platform.outputs.display_name) }}
126+
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
127127
shell: bash
128128
run: |
129129
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli ping
130130
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli info server
131131
132132
- name: Verify installed modules
133-
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
133+
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
134134
shell: bash
135135
run: |
136136
modules=$(docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli module list)
@@ -150,7 +150,7 @@ runs:
150150
fi
151151
152152
- name: Test RedisBloom
153-
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
153+
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
154154
shell: bash
155155
run: |
156156
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli BF.ADD popular_keys "redis:hash"
@@ -160,7 +160,7 @@ runs:
160160
echo "RedisBloom test passed successfully"
161161
162162
- name: Test RediSearch
163-
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
163+
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
164164
shell: bash
165165
run: |
166166
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli FT.CREATE redis_commands ON HASH PREFIX 1 cmd: SCHEMA name TEXT SORTABLE description TEXT
@@ -175,7 +175,7 @@ runs:
175175
fi
176176
177177
- name: Test RedisTimeSeries
178-
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
178+
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
179179
shell: bash
180180
run: |
181181
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli TS.CREATE redis:cpu:usage RETENTION 86400
@@ -191,7 +191,7 @@ runs:
191191
fi
192192
193193
- name: Test ReJSON
194-
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
194+
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
195195
shell: bash
196196
run: |
197197
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli JSON.SET redis:config $ '{"maxmemory":"2gb","maxmemory-policy":"allkeys-lru"}'
@@ -206,7 +206,7 @@ runs:
206206
207207
- name: Test the entrypoint
208208
id: test_entrypoint
209-
if: ${{ contains(fromJSON('["amd64", "i386"]'), steps.platform.outputs.display_name) }}
209+
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
210210
shell: bash
211211
run: >
212212
cd test && env
@@ -226,7 +226,7 @@ runs:
226226

227227
- name: Push image
228228
uses: docker/build-push-action@v6
229-
if: ${{ inputs.publish_image == 'true' && contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
229+
if: ${{ inputs.publish_image == 'true' && contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
230230
with:
231231
context: ${{ inputs.distribution }}
232232
push: true

.github/workflows/pre-merge.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ jobs:
99
build-and-test:
1010
runs-on: ${{ contains(matrix.platform, 'arm64') && 'ubuntu24-arm64-2-8' || 'ubuntu-latest' }}
1111
strategy:
12+
fail-fast: false
1213
matrix:
1314
distribution:
1415
- debian

alpine/Dockerfile

Lines changed: 9 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

alpine/docker-entrypoint.sh

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

debian/Dockerfile

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/run-entrypoint-tests.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
#
2121
##
2222

23+
# Container initialization wait time in seconds
24+
CONTAINER_INIT_WAIT=3
25+
2326
if [ -z "$REDIS_IMG" ]; then
2427
echo "REDIS_IMG may not be empty"
2528
exit 1
@@ -38,6 +41,7 @@ get_container_user_uid_gid_on_the_host() {
3841
container_user="$1"
3942
dir=$(mktemp -d -p .)
4043
docker run --rm -v "$(pwd)/$dir":/w -w /w --entrypoint=/bin/sh "$REDIS_IMG" -c "chown $container_user ."
44+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
4145
stat -c "%u %g" "$dir"
4246
sudo rm -rf "$dir"
4347
}
@@ -177,6 +181,7 @@ run_docker_and_test_ownership() {
177181
fi
178182

179183
docker_output=$($docker_run 2>&1)
184+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
180185

181186
if [ "$TEST_VERBOSE" ]; then
182187
echo "After:"
@@ -265,6 +270,7 @@ run_redis_docker_and_check_uid_gid() {
265270
docker_cmd="$*"
266271
# shellcheck disable=SC2086
267272
container=$(docker run $docker_flags -d "$REDIS_IMG" $docker_cmd)
273+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
268274
ret=$?
269275

270276
assertTrue "Container '$docker_flags $REDIS_IMG $docker_cmd' created" "[ $ret -eq 0 ]"
@@ -296,6 +302,7 @@ run_redis_docker_and_check_modules() {
296302
docker_cmd="$1"
297303
# shellcheck disable=SC2086
298304
container=$(docker run --rm -d "$REDIS_IMG" $docker_cmd)
305+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
299306
info=$(docker exec "$container" redis-cli info)
300307

301308
[ "$PLATFORM" ] && [ "$PLATFORM" != "amd64" ] && startSkipping
@@ -322,6 +329,7 @@ assert_redis_v8() {
322329

323330
test_redis_version() {
324331
ret=$(docker run --rm "$REDIS_IMG" -v|tail -n 1)
332+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
325333
assert_redis_v8 "$ret"
326334
}
327335

@@ -545,6 +553,7 @@ test_redis_server_persistence_with_bind_mount() {
545553
chmod 0444 "$dir"
546554

547555
container=$(docker run --rm -d -v "$(pwd)/$dir":/data "$REDIS_IMG" --appendonly yes)
556+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
548557

549558
result=$(echo save | docker exec -i "$container" redis-cli)
550559
assertEquals "OK" "$result"
@@ -559,6 +568,7 @@ test_redis_server_persistence_with_bind_mount() {
559568
sudo chown -R "$HOST_OWNER" "$dir"
560569

561570
container2=$(docker run --rm -d -v "$(pwd)/$dir":/data "$REDIS_IMG")
571+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
562572
value=$(echo "GET FOO" | docker exec -i "$container2" redis-cli)
563573
assertEquals "$container" "$value"
564574

@@ -576,6 +586,7 @@ test_redis_server_persistence_with_volume() {
576586
docker run --rm -v test_redis:/data --entrypoint=/bin/sh "$REDIS_IMG" -c 'chown -R 0:0 /data'
577587

578588
container=$(docker run --rm -d -v test_redis:/data "$REDIS_IMG" --appendonly yes)
589+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
579590

580591
result=$(echo save | docker exec -i "$container" redis-cli)
581592
assertEquals "OK" "$result"
@@ -590,6 +601,7 @@ test_redis_server_persistence_with_volume() {
590601
docker run --rm -v test_redis:/data --entrypoint=/bin/sh "$REDIS_IMG" -c 'chown -R 0:0 /data && chmod 0000 -R /data'
591602

592603
container2=$(docker run --rm -d -v test_redis:/data "$REDIS_IMG")
604+
sleep $CONTAINER_INIT_WAIT # Wait for container to fully initialize
593605
value=$(echo "GET FOO" | docker exec -i "$container2" redis-cli)
594606
assertEquals "$container" "$value"
595607

0 commit comments

Comments
 (0)