Skip to content

Unstable with release 8.0 improvements #463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Jun 26, 2025
Merged
45 changes: 37 additions & 8 deletions .github/actions/build-and-tag-locally/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,25 +166,25 @@ runs:

- name: Run container
shell: bash
if: ${{ contains(fromJSON('["amd64", "i386"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
run: |
docker run -d --name sanity-test-${{ steps.platform.outputs.display_name }} ${{ github.sha }}:${{ steps.platform.outputs.display_name }}

- name: Container Logs
if: ${{ contains(fromJSON('["amd64", "i386"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: |
docker logs sanity-test-${{ steps.platform.outputs.display_name }}

- name: Sanity Tests
if: ${{ contains(fromJSON('["amd64", "i386"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: |
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli ping
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli info server

- name: Verify installed modules
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: |
modules=$(docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli module list)
Expand All @@ -204,7 +204,7 @@ runs:
fi

- name: Test RedisBloom
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: |
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli BF.ADD popular_keys "redis:hash"
Expand All @@ -214,7 +214,7 @@ runs:
echo "RedisBloom test passed successfully"

- name: Test RediSearch
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: |
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
Expand All @@ -229,7 +229,7 @@ runs:
fi

- name: Test RedisTimeSeries
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: |
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli TS.CREATE redis:cpu:usage RETENTION 86400
Expand All @@ -245,7 +245,7 @@ runs:
fi

- name: Test ReJSON
if: ${{ contains(fromJSON('["amd64"]'), steps.platform.outputs.display_name) }}
if: ${{ contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: |
docker exec sanity-test-${{ steps.platform.outputs.display_name }} redis-cli JSON.SET redis:config $ '{"maxmemory":"2gb","maxmemory-policy":"allkeys-lru"}'
Expand All @@ -257,3 +257,32 @@ runs:
echo "ReJSON test failed: expected 'allkeys-lru', got $result"
exit 1
fi
- name: Test the entrypoint
id: test_entrypoint
if: ${{ contains(fromJSON('["amd64", "i386", "arm64"]'), steps.platform.outputs.display_name) }}
shell: bash
run: >
cd test && env
PLATFORM=${{ steps.platform.outputs.display_name }}
REDIS_IMG=${{ github.sha }}:${{ steps.platform.outputs.display_name }}
./run-entrypoint-tests.sh
-- --output-junit-xml=report-entrypoint.xml

- name: Test Report
uses: dorny/test-reporter@v2
# run this step even if previous step failed, but not if it was skipped
if: ${{ !cancelled() && steps.test_entrypoint.conclusion != 'skipped' }}
with:
name: Entrypoint Tests
path: test/report-entrypoint.xml
reporter: java-junit

- name: Push image
uses: docker/build-push-action@v6
if: ${{ inputs.publish_image == 'true' && contains(fromJSON('["amd64", "arm64"]'), steps.platform.outputs.display_name) }}
with:
context: ${{ inputs.distribution }}
push: true
tags: ${{ inputs.registry_repository }}:${{ github.sha }}-${{ inputs.distribution }}
cache-from: type=gha
cache-to: type=gha,mode=max
6 changes: 3 additions & 3 deletions .github/workflows/pre-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
build-and-test:
runs-on: 'ubuntu-latest'
runs-on: ${{ contains(matrix.platform, 'arm64') && 'ubuntu24-arm64-2-8' || 'ubuntu-latest' }}
strategy:
fail-fast: false
matrix:
Expand All @@ -23,7 +23,7 @@ jobs:
- linux/mips64le
- linux/ppc64le
- linux/s390x
# - linux/arm64 # Currently the unstable isn't running on arm64
- linux/arm64
- linux/riscv64
exclude:
- distribution: alpine
Expand All @@ -38,7 +38,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: unstable
ref: ${{ github.event.pull_request && github.sha || 'unstable' }}
- uses: ./.github/actions/build-and-tag-locally
with:
distribution: ${{ matrix.distribution }}
Expand Down
14 changes: 10 additions & 4 deletions alpine/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

128 changes: 116 additions & 12 deletions alpine/docker-entrypoint.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading