Skip to content

Improve Go CI and Makefile targets (#1055) #119

Improve Go CI and Makefile targets (#1055)

Improve Go CI and Makefile targets (#1055) #119

Workflow file for this run

name: Node
on:
push:
branches: ["main"]
paths:
- glide-core/src/**
- submodules/**
- node/**
- utils/cluster_manager.py
- .github/workflows/node.yml
- .github/workflows/build-node-wrapper/action.yml
- .github/workflows/install-shared-dependencies/action.yml
pull_request:
paths:
- glide-core/src/**
- submodules/**
- node/**
- utils/cluster_manager.py
- .github/workflows/node.yml
- .github/workflows/build-node-wrapper/action.yml
- .github/workflows/install-shared-dependencies/action.yml
env:
CARGO_TERM_COLOR: always
jobs:
test-ubuntu-latest:
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
redis:
- 6.2.14
- 7.2.3
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install redis
uses: ./.github/workflows/install-redis
with:
redis-version: ${{ matrix.redis }}
- name: Use Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Build Node wrapper
uses: ./.github/workflows/build-node-wrapper
with:
os: "ubuntu-latest"
target: "x86_64-unknown-linux-gnu"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Redis Modules
uses: ./.github/workflows/install-redis-modules
with:
redis-version: ${{ matrix.redis }}
- name: test
run: npm test
working-directory: ./node
- name: test redis modules
run: npm run test-modules -- --load-module=$GITHUB_WORKSPACE/redisearch.so --load-module=$GITHUB_WORKSPACE/redisjson.so
working-directory: ./node
- uses: ./.github/workflows/test-benchmark
with:
language-flag: -node
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: ./node/rust-client
name: lint node rust
build-macos-latest:
runs-on: macos-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install NodeJS
run: |
brew install node
- name: Downgrade npm major version to 8
run: |
npm i -g npm@8
- name: Build Node wrapper
uses: ./.github/workflows/build-node-wrapper
with:
os: "macos-latest"
named_os: "darwin"
target: "x86_64-apple-darwin"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Test compatibility
run: npm test -- -t "set and get flow works"
working-directory: ./node
build-amazonlinux-latest:
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 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 NodeJS
run: |
yum install -y nodejs
- name: Build Node wrapper
uses: ./.github/workflows/build-node-wrapper
with:
os: "amazon-linux"
target: "x86_64-unknown-linux-gnu"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Create a symbolic Link for redis6 binaries
working-directory: ./node
run: |
ln -s /usr/bin/redis6-server /usr/bin/redis-server
ln -s /usr/bin/redis6-cli /usr/bin/redis-cli
- name: Test compatibility
run: npm test -- -t "set and get flow works"
working-directory: ./node