Skip to content

Commit

Permalink
Merge branch 'main' into java/dev_lotjonat_modules
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanl-bq committed Mar 23, 2024
2 parents b27a63a + c4daccd commit ec66c93
Show file tree
Hide file tree
Showing 197 changed files with 40,920 additions and 469,737 deletions.
4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ root = true
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4
tab_width = 4

# Xml files
[*.xml]
Expand All @@ -16,8 +18,6 @@ indent_size = 2
#### Core EditorConfig Options ####

# Indentation and spacing
indent_size = 4
tab_width = 4

# New line preferences
end_of_line = lf
Expand Down
56 changes: 43 additions & 13 deletions .github/workflows/csharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,65 +5,95 @@ on:
branches: ["main"]
paths:
- csharp/**
- glide-core/**
- glide-core/src/**
- submodules/**
- .github/workflows/csharp.yml
- .github/workflows/install-shared-dependencies/action.yml
- .github/workflows/install-redis/action.yml
- .github/workflows/test-benchmark/action.yml
- .github/workflows/lint-rust/action.yml
pull_request:
paths:
- csharp/**
- glide-core/src/**
- submodules/**
- .github/workflows/csharp.yml
- .github/workflows/install-shared-dependencies/action.yml
- .github/workflows/install-redis/action.yml
- .github/workflows/test-benchmark/action.yml
- .github/workflows/lint-rust/action.yml

permissions:
contents: read

concurrency:
group: C#-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
run-tests:
timeout-minutes: 15
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
redis:
- 6.2.14
- 7.2.3
dotnet:
- '6.0'
- '8.0'
os:
- ubuntu-latest
- macos-latest
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install redis
# TODO: make this step macos compatible: https://github.com/aws/glide-for-redis/issues/781
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: ./.github/workflows/install-redis
with:
redis-version: ${{ matrix.redis }}

- name: Install protoc (protobuf)
uses: arduino/[email protected]
- name: Install shared software dependencies
uses: ./.github/workflows/install-shared-dependencies
with:
version: "25.1"
os: ${{ matrix.os }}
target: ${{ matrix.os == 'ubuntu-latest' && 'x86_64-unknown-linux-gnu' || 'x86_64-apple-darwin' }}
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up dotnet
uses: actions/setup-dotnet@v3
- name: Set up dotnet ${{ matrix.dotnet }}
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.x

- name: Start redis server
run: redis-server &
dotnet-version: ${{ matrix.dotnet }}

- name: Format
working-directory: ./csharp
run: dotnet format --verify-no-changes --verbosity diagnostic

- name: Test
- name: Test dotnet ${{ matrix.dotnet }}
working-directory: ./csharp
run: dotnet test --framework net6.0 /warnaserror
run: dotnet test --framework net${{ matrix.dotnet }} "-l:html;LogFileName=TestReport.html" --results-directory . -warnaserror

- uses: ./.github/workflows/test-benchmark
with:
language-flag: -csharp

- name: Upload test reports
if: always()
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: test-reports-dotnet-${{ matrix.dotnet }}-redis-${{ matrix.redis }}-${{ matrix.os }}
path: |
csharp/TestReport.html
benchmarks/results/*
utils/clusters/**
lint-rust:
timeout-minutes: 10
runs-on: ubuntu-latest
Expand Down
164 changes: 164 additions & 0 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
name: Go CI

on:
push:
branches: [ "main" ]
paths:
- glide-core/src/**
- submodules/**
- go/**
- .github/workflows/go.yml
pull_request:
paths:
- glide-core/src/**
- submodules/**
- go/**
- .github/workflows/go.yml

concurrency:
group: go-${{ github.head_ref || github.ref }}
cancel-in-progress: true


jobs:
build-and-test-go-client:
timeout-minutes: 35
strategy:
# Run all jobs
fail-fast: false
matrix:
go:
- '1.18.10'
- '1.22.0'
redis:
- 6.2.14
- 7.2.3
os:
- ubuntu-latest
- macos-latest

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Set up Go ${{ matrix.go }}
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
cache-dependency-path: go/go.sum

- name: Install shared software dependencies
uses: ./.github/workflows/install-shared-dependencies
with:
os: ${{ matrix.os }}
target: ${{ matrix.os == 'ubuntu-latest' && 'x86_64-unknown-linux-gnu' || 'x86_64-apple-darwin' }}
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install redis
# TODO: make this step macos compatible: https://github.com/aws/glide-for-redis/issues/781
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: ./.github/workflows/install-redis
with:
redis-version: ${{ matrix.redis }}

- name: Install tools for Go ${{ matrix.go }}
working-directory: ./go
run: make install-tools-go${{ matrix.go }}

- name: Set LD_LIBRARY_PATH
if: ${{ matrix.os == 'ubuntu-latest' }}
run: echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GITHUB_WORKSPACE/go/target/release/deps/" >> $GITHUB_ENV

- name: Build client
working-directory: ./go
run: make build

- name: Run linters
working-directory: ./go
run: make lint-ci

- name: Run tests
working-directory: ./go
run: make test

build-amazonlinux-latest:
if: github.repository_owner == 'aws'
strategy:
# Run all jobs
fail-fast: false
matrix:
go:
- 1.18.10
- 1.22.0
runs-on: ubuntu-latest
container: amazonlinux:latest
timeout-minutes: 15
steps:
- name: Install git
run: |
yum -y remove git
yum -y remove git-*
yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
yum update
yum install -y git
git --version
- uses: actions/checkout@v4

- name: Checkout submodules
run: |
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git submodule update --init --recursive
- name: Install shared software dependencies
uses: ./.github/workflows/install-shared-dependencies
with:
os: "amazon-linux"
target: "x86_64-unknown-linux-gnu"
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Create a symbolic Link for redis6 binaries
run: |
ln -s /usr/bin/redis6-server /usr/bin/redis-server
ln -s /usr/bin/redis6-cli /usr/bin/redis-cli
- name: Install Go
run: |
yum -y install wget
yum -y install tar
wget https://go.dev/dl/go${{ matrix.go }}.linux-amd64.tar.gz
tar -C /usr/local -xzf go${{ matrix.go }}.linux-amd64.tar.gz
echo "/usr/local/go/bin" >> $GITHUB_PATH
echo "$HOME/go/bin" >> $GITHUB_PATH
- name: Install tools for Go ${{ matrix.go }}
working-directory: ./go
run: make install-tools-go${{ matrix.go }}

- name: Build client
working-directory: ./go
run: make build

- name: Run linters
working-directory: ./go
run: make lint-ci

- name: Run tests
working-directory: ./go
run: make test

lint-rust:
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: ./.github/workflows/lint-rust
with:
cargo-toml-folder: ./go
name: lint go rust
6 changes: 4 additions & 2 deletions .github/workflows/install-shared-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ runs:
shell: bash
if: "${{ inputs.os == 'macos-latest' }}"
run: |
brew install git gcc pkgconfig openssl redis
brew update
brew upgrade || true
brew install git gcc pkgconfig openssl redis coreutils
- name: Install software dependencies for Ubuntu
shell: bash
Expand All @@ -52,7 +54,7 @@ runs:
targets: ${{ inputs.target }}

- name: Install protoc (protobuf)
uses: arduino/setup-protoc@v2.1.0
uses: arduino/setup-protoc@v3
with:
version: "25.1"
repo-token: ${{ inputs.github-token }}
57 changes: 0 additions & 57 deletions .github/workflows/java-benchmark.yml

This file was deleted.

Loading

0 comments on commit ec66c93

Please sign in to comment.