feat: add Docker support (#861) #447
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ v4 ] | |
pull_request: | |
branches: [ v4 ] | |
workflow_dispatch: | |
jobs: | |
black-box-test: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 1 | |
matrix: | |
redis-version: [ "2.8", "3.0", "4.0", "5.0", "6.0", "7.0" ] | |
fail-fast: false | |
container: ubuntu:latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v2 | |
- name: Setup Golang with cache | |
uses: magnetikonline/action-golang-cache@v3 | |
with: | |
go-version-file: go.mod | |
- name: clone and make redis | |
run: | | |
apt-get update | |
apt-get install -y --no-install-recommends git build-essential ca-certificates | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout ${{ matrix.redis-version }} | |
make -j | |
mkdir bin | |
cp src/redis-server bin/redis-server | |
echo "$GITHUB_WORKSPACE/redis/bin" >> $GITHUB_PATH | |
- name: clone and make TairString Module | |
if: contains( '5.0, 6.0, 7.0', matrix.redis-version) | |
run: | | |
cd $GITHUB_WORKSPACE | |
apt-get install -y cmake | |
git clone https://github.com/tair-opensource/TairString.git | |
cd TairString | |
mkdir build | |
cd build | |
cmake ../ && make -j | |
cp $GITHUB_WORKSPACE/TairString/lib/tairstring_module.so /lib | |
- name: clone and make TairHash Module | |
if: contains( '5.0, 6.0, 7.0', matrix.redis-version) | |
run: | | |
cd $GITHUB_WORKSPACE | |
git clone https://github.com/tair-opensource/TairHash.git | |
cd TairHash | |
mkdir build | |
cd build | |
cmake ../ && make -j | |
cp $GITHUB_WORKSPACE/TairHash/lib/tairhash_module.so /lib | |
- name: clone and make TairZset Module | |
if: contains( '5.0, 6.0, 7.0', matrix.redis-version) | |
run: | | |
cd $GITHUB_WORKSPACE | |
git clone https://github.com/tair-opensource/TairZset.git | |
cd TairZset | |
mkdir build | |
cd build | |
cmake ../ && make -j | |
cp $GITHUB_WORKSPACE/TairZset/lib/tairzset_module.so /lib | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- name: make redis-shake | |
run: | | |
sh build.sh | |
- name: test | |
run: | | |
python -m pip install -r tests/requirements.txt | |
sh test.sh |