Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/actions/pack-module/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: Run pack module script

inputs:
beta-version:
description: 'Beta version for S3 uploads'
required: false

runs:
using: composite
steps:
Expand All @@ -13,4 +18,7 @@ runs:
. venv/bin/activate
git config --global --add safe.directory $GITHUB_WORKSPACE
export PATH="$GITHUB_WORKSPACE/redis/src:$PATH"
if [[ -n "${{ inputs.beta-version }}" ]]; then
export BETA_VERSION="${{ inputs.beta-version }}"
fi
BRANCH=$TAG_OR_BRANCH SHOW=1 OSNICK=${{ matrix.docker.nick }} ./sbin/pack.sh $(realpath ./target/release/rejson.so)
3 changes: 3 additions & 0 deletions .github/actions/setup-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ inputs:
redis-ref:
description: Redis ref
required: false
beta-version:
description: 'Beta version for S3 uploads'
required: false

outputs:
TAGGED:
Expand Down
23 changes: 21 additions & 2 deletions .github/actions/upload-artifacts-to-s3-without-make/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ inputs:
description: 'github ref'
required: false
default: ''
beta-version:
description: 'Beta version for S3 uploads'
required: false
default: ''

runs:
using: composite
Expand Down Expand Up @@ -45,16 +49,31 @@ runs:
aws configure set region "$AWS_REGION"

echo ::group::upload artifacts
SNAPSHOT=1 SHOW=1 VERBOSE=1 ./sbin/upload-artifacts
SHOW=1 VERBOSE=1 ./sbin/upload-artifacts
echo ::endgroup::
echo ::group::upload staging release
RELEASE=1 SHOW=1 STAGING=1 VERBOSE=1 ./sbin/upload-artifacts
STAGING=1 SHOW=1 VERBOSE=1 ./sbin/upload-artifacts
echo ::endgroup::

echo ::group::upload production release
REF="${{ inputs.github-ref }}"
PATTERN="refs/tags/v[0-9]+.*"
if [[ $REF =~ $PATTERN ]]; then
echo "This is a tagged build"
RELEASE=1 SHOW=1 VERBOSE=1 ./sbin/upload-artifacts
fi
echo ::endgroup::

echo ::group::upload to beta folder with version
# Use provided beta version if available
if [[ -n "${{ inputs.beta-version }}" ]]; then
BETA_VERSION="${{ inputs.beta-version }}"
echo "Using provided beta version: ${BETA_VERSION}"

# Upload to beta folder
export BETA_VERSION="${BETA_VERSION}"
BETA=1 SHOW=1 VERBOSE=1 ./sbin/upload-artifacts
else
echo "No beta version provided, skipping beta upload"
fi
echo ::endgroup::
29 changes: 27 additions & 2 deletions .github/workflows/event-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,36 +17,51 @@ on:
inputs:
redis-ref:
description: 'Redis ref to checkout'
type: string
required: true
default: 'unstable'
jobs:
prepare-values:
runs-on: ubuntu-latest
outputs:
redis-ref: ${{ steps.set-env.outputs.redis-ref }}
beta-timestamp: ${{ steps.set-env.outputs.beta-timestamp }}
beta-version: ${{ steps.set-env.outputs.beta-version }}
steps:
- name: set env
id: set-env
run: |
echo "redis-ref=unstable" >> $GITHUB_OUTPUT # todo change per version/tag
echo "redis-ref=${{ inputs.redis-ref || 'unstable' }}" >> $GITHUB_OUTPUT

# Generate timestamp at workflow start for consistent beta versioning
TIMESTAMP=$(date -u +"%Y%m%d.%H%M%S")
WORKFLOW_NUM=${{ github.run_number }}
BETA_VERSION="99.99.99.${TIMESTAMP}.${WORKFLOW_NUM}"

echo "beta-timestamp=${TIMESTAMP}" >> $GITHUB_OUTPUT
echo "beta-version=${BETA_VERSION}" >> $GITHUB_OUTPUT
echo "Generated beta version: ${BETA_VERSION}"
linux:
uses: ./.github/workflows/flow-linux-x86.yml
needs: [prepare-values]
with:
os: bionic focal jammy rocky8 rocky9 bullseye amazonlinux2 mariner2 azurelinux3
redis-ref: ${{needs.prepare-values.outputs.redis-ref}}
beta-version: ${{needs.prepare-values.outputs.beta-version}}
secrets: inherit
ubuntu-arm64:
uses: ./.github/workflows/flow-ubuntu-arm.yml
needs: [prepare-values]
with:
redis-ref: ${{needs.prepare-values.outputs.redis-ref}}
beta-version: ${{needs.prepare-values.outputs.beta-version}}
secrets: inherit
azurelinux3-arm64:
uses: ./.github/workflows/flow-azurelinux3-arm.yml
needs: [prepare-values]
with:
redis-ref: ${{needs.prepare-values.outputs.redis-ref}}
beta-version: ${{needs.prepare-values.outputs.beta-version}}
secrets: inherit
# alpine:
# uses: ./.github/workflows/flow-alpine.yml
Expand All @@ -59,6 +74,14 @@ jobs:
needs: [prepare-values]
with:
redis-ref: ${{needs.prepare-values.outputs.redis-ref}}
beta-version: ${{needs.prepare-values.outputs.beta-version}}
secrets: inherit
alpine:
uses: ./.github/workflows/flow-alpine.yml
needs: [prepare-values]
with:
redis-ref: ${{needs.prepare-values.outputs.redis-ref}}
beta-version: ${{needs.prepare-values.outputs.beta-version}}
secrets: inherit
linux-valgrind:
uses: ./.github/workflows/flow-linux-x86.yml
Expand All @@ -67,17 +90,19 @@ jobs:
os: jammy
redis-ref: ${{needs.prepare-values.outputs.redis-ref}}
run_valgrind: true
beta-version: ${{needs.prepare-values.outputs.beta-version}}
secrets: inherit
linux-sanitizer:
uses: ./.github/workflows/flow-sanitizer.yml
needs: [prepare-values]
with:
container: ubuntu:jammy
redis-ref: ${{needs.prepare-values.outputs.redis-ref}}
beta-version: ${{needs.prepare-values.outputs.beta-version}}
secrets: inherit
spellcheck:
uses: ./.github/workflows/flow-spellcheck.yml
secrets: inherit
linter:
uses: ./.github/workflows/flow-linter.yml
secrets: inherit
secrets: inherit
10 changes: 10 additions & 0 deletions .github/workflows/flow-alpine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false
workflow_call: # Allows to run this workflow from another workflow
inputs:
redis-ref:
Expand All @@ -23,6 +27,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false

jobs:
setup-environment:
Expand All @@ -42,6 +50,7 @@ jobs:
with:
github-ref: ${{ github.ref }}
redis-ref: ${{ inputs.redis-ref }}
beta-version: ${{ inputs.beta-version }}
build:
runs-on: ${{matrix.runs_on}}
needs: setup-environment
Expand Down Expand Up @@ -111,3 +120,4 @@ jobs:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
github-ref: ${{ github.ref }}
beta-version: ${{ inputs.beta-version }}
14 changes: 13 additions & 1 deletion .github/workflows/flow-azurelinux3-arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false
workflow_call: # Allows to run this workflow from another workflow
inputs:
redis-ref:
Expand All @@ -19,6 +23,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false

permissions:
id-token: write # This is required for requesting the JWT
Expand All @@ -44,6 +52,7 @@ jobs:
with:
github-ref: ${{ github.ref }}
redis-ref: ${{ inputs.redis-ref }}
beta-version: ${{ inputs.beta-version }}

azurelinux3-arm64:
runs-on: ubuntu24-arm64-4-16 # ubuntu24-arm64-2-8
Expand Down Expand Up @@ -147,9 +156,12 @@ jobs:
uses: ./.github/actions/run-tests
- name: Pack module
uses: ./.github/actions/pack-module
with:
beta-version: ${{ inputs.beta-version }}
- name: Upload artifacts to S3
uses: ./.github/actions/upload-artifacts-to-s3-without-make
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
github-ref: ${{ github.ref }}
github-ref: ${{ github.ref }}
beta-version: ${{ inputs.beta-version }}
12 changes: 12 additions & 0 deletions .github/workflows/flow-linux-x86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ on:
description: 'Run valgrind on the tests'
type: boolean
default: false
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false
workflow_call: # Allows to run this workflow from another workflow
inputs:
redis-ref:
Expand All @@ -35,6 +39,10 @@ on:
description: 'Run valgrind on the tests'
type: boolean
default: false
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false

jobs:
setup-environment:
Expand All @@ -55,6 +63,7 @@ jobs:
with:
github-ref: ${{ github.ref }}
redis-ref: ${{ inputs.redis-ref }}
beta-version: ${{ inputs.beta-version }}
- name: Set matrix
id: set-matrix
run: |
Expand Down Expand Up @@ -182,10 +191,13 @@ jobs:
- name: Pack module
if: ${{!inputs.run_valgrind}}
uses: ./.github/actions/pack-module
with:
beta-version: ${{ inputs.beta-version }}
- name: Upload artifacts to S3
if: ${{!inputs.run_valgrind}}
uses: ./.github/actions/upload-artifacts-to-s3-without-make
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
github-ref: ${{ github.ref }}
beta-version: ${{ inputs.beta-version }}
11 changes: 11 additions & 0 deletions .github/workflows/flow-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false
workflow_call: # Allows you to run this workflow manually from the Actions tab
inputs:
redis-ref:
Expand All @@ -19,6 +23,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false

jobs:
setup-environment:
Expand All @@ -37,6 +45,7 @@ jobs:
uses: ./.github/actions/setup-env
with:
github-ref: ${{ github.ref }}
beta-version: ${{ inputs.beta-version }}
redis-ref: ${{ inputs.redis-ref }}
build-macos-x64:
runs-on: macos-13
Expand Down Expand Up @@ -96,6 +105,7 @@ jobs:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
github-ref: ${{ github.ref }}
beta-version: ${{ inputs.beta-version }}


build-macos-m1:
Expand Down Expand Up @@ -165,3 +175,4 @@ jobs:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
github-ref: ${{ github.ref }}
beta-version: ${{ inputs.beta-version }}
4 changes: 4 additions & 0 deletions .github/workflows/flow-sanitizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ on:
description: 'Redis ref to checkout'
type: string
required: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false

jobs:
clang-sanitizer:
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/flow-ubuntu-arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false
workflow_call: # Allows to run this workflow from another workflow
inputs:
redis-ref:
Expand All @@ -19,6 +23,10 @@ on:
run-test:
type: boolean
default: true
beta-version:
description: 'Beta version for S3 uploads'
type: string
required: false

permissions:
id-token: write # This is required for requesting the JWT
Expand All @@ -45,6 +53,7 @@ jobs:
with:
github-ref: ${{ github.ref }}
redis-ref: ${{ inputs.redis-ref }}
beta-version: ${{ inputs.beta-version }}

ubuntu-arm64:
runs-on: ubuntu24-arm64-4-16 # ubuntu24-arm64-2-8
Expand Down Expand Up @@ -178,9 +187,12 @@ jobs:
MODULE=$(realpath ./target/release/rejson.so) RLTEST_ARGS='--no-progress' ./tests/pytest/tests.sh
- name: Pack module
uses: ./.github/actions/pack-module
with:
beta-version: ${{ inputs.beta-version }}
- name: Upload artifacts to S3
uses: ./.github/actions/upload-artifacts-to-s3-without-make
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
github-ref: ${{ github.ref }}
beta-version: ${{ inputs.beta-version }}
2 changes: 1 addition & 1 deletion pack/ramp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Native JSON Data Type for Redis
homepage: http://redisjson.io
license: Redis Source Available License 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1) or the GNU Affero General Public License version 3 (AGPLv3)
command_line_args: ""
compatible_redis_version: "7.4"
compatible_redis_version: "99.99"
min_redis_version: "7.4"
min_redis_pack_version: "7.6.0"
bigstore_version_2_support: true
Expand Down
Loading