diff --git a/.github/workflows/test-ci.yml b/.github/workflows/test-ci.yml deleted file mode 100644 index ece9e6fdf9..0000000000 --- a/.github/workflows/test-ci.yml +++ /dev/null @@ -1,132 +0,0 @@ -name: Garnet .NET CI - Test -on: - workflow_dispatch: - -env: - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 - DOTNET_NOLOGO: true - -jobs: - changes: - name: Check Tsavorite and Website changed - runs-on: ubuntu-latest # don't need matrix to test where the changes were made in code - permissions: - pull-requests: read - contents: read - outputs: - tsavorite: ${{ steps.filter.outputs.tsavorite }} - website: ${{ steps.filter.outputs.website }} - steps: - - name: Check out code - uses: actions/checkout@v4 - - name: Check if Tsavorite changed - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - tsavorite: - - 'libs/storage/Tsavorite/**' - website: - - 'website/**' - - # Job to build and test Garnet code - build-test-garnet: - name: Garnet - Build and Test - runs-on: ${{ matrix.os }} - continue-on-error: true - strategy: - matrix: - os: [ ubuntu-latest, windows-latest ] - framework: [ 'net6.0', 'net8.0' ] - configuration: ['Release', 'Debug'] - steps: - - name: Check out code - uses: actions/checkout@v4 - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 8.0.x - - name: Install dependencies - run: dotnet restore - - name: Format - run: dotnet format --verify-no-changes --verbosity diagnostic - - name: Build Garnet - run: dotnet build -c ${{ matrix.configuration }} - - name: Test Garnet - run: dotnet test -f ${{ matrix.framework }} --logger "console;verbosity=detailed" --logger trx --results-directory "GarnetTestResults-${{ matrix.os }}-${{ matrix.framework }}" - - name: Upload test results - uses: actions/upload-artifact@v4 - with: - name: dotnet-garnet-results-${{ matrix.os }}-${{ matrix.framework }} - path: GarnetTestResults-${{ matrix.os }}-${{ matrix.framework }} - if: ${{ always() }} - - # Job to build and test Tsavorite code (only if there were changes to it) - build-test-tsavorite: - name: Tsavorite - Build and Test - needs: changes - runs-on: ${{ matrix.os }} - continue-on-error: true - strategy: - matrix: - os: [ ubuntu-latest, windows-latest ] - framework: [ 'net6.0', 'net8.0' ] - configuration: ['Release', 'Debug'] - if: needs.changes.outputs.tsavorite == 'true' - steps: - - name: Check out code - uses: actions/checkout@v4 - - name: Set environment variable for Linux - run: echo "RunAzureTests=yes" >> $GITHUB_ENV - if: ${{ matrix.os == 'ubuntu-latest' }} - - name: Set environment variable for Windows - run: echo ("RunAzureTests=yes") >> $env:GITHUB_ENV - if: ${{ matrix.os == 'windows-latest' }} - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 8.0.x - - name: Setup Node.js for Azurite - uses: actions/setup-node@v4 - with: - node-version: '20' - - name: Install and Run Azurite - shell: bash - run: | - npm install -g azurite - azurite & - - name: Install dependencies - run: dotnet restore - - name: Format - run: dotnet format --verify-no-changes --verbosity diagnostic - - name: Build Tsavorite - run: dotnet build libs/storage/Tsavorite/cs/test/Tsavorite.test.csproj -c ${{ matrix.configuration }} - - name: Test Tsavorite - run: dotnet test libs/storage/Tsavorite/cs/test/Tsavorite.test.csproj -f ${{ matrix.framework }} --logger "console;verbosity=detailed" --logger trx --results-directory "TsavoriteTestResults-${{ matrix.os }}-${{ matrix.framework }}" - - name: Upload test results - uses: actions/upload-artifact@v4 - with: - name: dotnet-tsavorite-results-${{ matrix.os }}-${{ matrix.framework }} - path: TsavoriteTestResults-${{ matrix.os }}-${{ matrix.framework }} - if: ${{ always() }} - - build-website: - name: Build Website - needs: changes - runs-on: ubuntu-latest - defaults: - run: - working-directory: website - if: needs.changes.outputs.website == 'true' - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 18 - cache: yarn - cache-dependency-path: ./website/yarn.lock - - name: Install dependencies - run: yarn install --frozen-lockfile - - name: Build website - run: yarn build - diff --git a/website/docs/commands/api-compatibility.md b/website/docs/commands/api-compatibility.md index 9b22adb1e9..92f5606a4c 100644 --- a/website/docs/commands/api-compatibility.md +++ b/website/docs/commands/api-compatibility.md @@ -242,7 +242,7 @@ Note that this list is subject to change as we continue to expand our API comman | | ZINTERSTORE | ➖ | | | | [ZLEXCOUNT](data-structures.md#zlexcount) | ➕ | | | | ZMPOP | ➖ | | -| | ZMSCORE | ➖ | | +| | [ZMSCORE](data-structures.md#zmscore) | ➕ | | | | [ZPOPMAX](data-structures.md#zpopmax) | ➕ | | | | [ZPOPMIN](data-structures.md#zpopmin) | ➕ | | | | [ZRANDMEMBER](data-structures.md#zrandmember) | ➕ | | diff --git a/website/docs/commands/data-structures.md b/website/docs/commands/data-structures.md index eee0085471..21bdf0a4f7 100644 --- a/website/docs/commands/data-structures.md +++ b/website/docs/commands/data-structures.md @@ -569,6 +569,25 @@ The min and max arguments have the same meaning as described for [ZRANGEBYLEX](# --- +### ZMSCORE + +#### Syntax + +```bash + ZMSCORE key member [member ...] +``` + +Returns the scores associated with the specified **members** in the sorted set stored at **key**. + +For every **member** that does not exist in the sorted set, a nil value is returned. + +Returns one of the following: + +_Nil reply:_ if the member does not exist in the sorted set.\ +_Array reply:_ a list of string **member** scores as double-precision floating point numbers. + +--- + ### ZPOPMAX #### Syntax