Skip to content
Closed
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
6 changes: 3 additions & 3 deletions .github/workflows/check_on_push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ jobs:
if: |
github.event_name == 'push' ||
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@master

- name: Setup Tarantool CE
uses: tarantool/setup-tarantool@v2
uses: tarantool/setup-tarantool@v3
with:
tarantool-version: '2.10'
tarantool-version: '2.11'

- name: Setup tt
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/push_rockspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ jobs:
version-check:
# We need this job to run only on push with tag.
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Check module version
uses: tarantool/actions/check-module-version@master
with:
module-name: 'crud'

push-scm-rockspec:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@master
Expand All @@ -33,7 +33,7 @@ jobs:
files: ${{ env.ROCK_NAME }}-scm-1.rockspec

push-tagged-rockspec:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: startsWith(github.ref, 'refs/tags')
needs: version-check
steps:
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/reusable_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:

jobs:
run_tests:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- name: Clone the crud module
Expand Down Expand Up @@ -39,8 +39,6 @@ jobs:

- name: Install requirements
run: ./deps.sh
env:
VSHARD_VERSION: "0.1.26"

# This server starts and listen on 8084 port that is used for tests
- name: Stop Mono server
Expand Down
176 changes: 29 additions & 147 deletions .github/workflows/test_on_push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,51 +10,27 @@ jobs:
github.event_name == 'push' ||
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
strategy:
fail-fast: false
matrix:
# We need 1.10.6 here to check that module works with
# old Tarantool versions that don't have "tuple-keydef"/"tuple-merger" support.
# We test old metrics with Tarantool 2.10 because since Tarantool 2.11.1
# it uses its own metrics package.
# We test old metrics with Cartridge 2.7.9 because since 2.8.0 it
# requires metrics 1.0.0.
tarantool-version: ["1.10.6", "1.10", "2.8", "2.10", "2.11"]
metrics-version: [""]
cartridge-version: ["2.8.0"]
external-tuple-merger-version: [""]
external-tuple-keydef-version: [""]
include:
- tarantool-version: "1.10"
metrics-version: "1.0.0"
cartridge-version: "2.8.0"
- tarantool-version: "2.7"
cartridge-version: "2.8.0"
- tarantool-version: "2.10"
metrics-version: "0.10.0"
cartridge-version: "2.7.9"
- tarantool-version: "2.11"
coveralls: true
metrics-version: "1.0.0"
cartridge-version: "2.8.0"
- tarantool-version: "2.11"
metrics-version: "1.0.0"
vshard-version: "0.1.25"
- tarantool-version: "2.11"
external-merger-version: "0.0.5"
external-keydef-version: "0.0.4"
- tarantool-version: "3.0.0"
vshard-version: "0.1.25"
external-tuple-merger-version: "0.0.5"
external-tuple-keydef-version: "0.0.4"
- tarantool-version: "3.0"
- tarantool-version: "3.1"
- tarantool-version: "3.2"
- tarantool-version: "3.3"
- tarantool-version: "master"
vshard-version: "0.1.26"
fail-fast: false
# Can't install older versions on 22.04,
# see https://github.com/tarantool/setup-tarantool/issues/36
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4

- name: Setup Tarantool CE (1.x, 2.x)
if: ${{ startsWith( matrix.tarantool-version, '1.' ) || startsWith( matrix.tarantool-version, '2.' ) }}
uses: tarantool/setup-tarantool@v2
uses: tarantool/setup-tarantool@v3
with:
tarantool-version: ${{ matrix.tarantool-version }}

Expand All @@ -67,7 +43,7 @@ jobs:
- name: Cache Tarantool 3.x
if: ${{ startsWith( matrix.tarantool-version, '3.' ) }}
id: cache-v3
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: "${GITHUB_WORKSPACE}/bin"
key: cache-${{ matrix.tarantool-version }}
Expand All @@ -88,7 +64,7 @@ jobs:
- name: Cache Tarantool master
if: matrix.tarantool-version == 'master'
id: cache-latest
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: "${GITHUB_WORKSPACE}/bin"
key: cache-latest-${{ env.LATEST_COMMIT }}
Expand All @@ -103,18 +79,10 @@ jobs:
if: ${{ startsWith( matrix.tarantool-version, '3.' ) || matrix.tarantool-version == 'master' }}
run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH

- name: Fix luarocks in Tarantool CE 1.10.6
if: matrix.tarantool-version == '1.10.6'
run: |
sudo patch -p1 /usr/share/tarantool/luarocks/manif.lua luarocks.patch

- name: Install requirements for community
run: |
tarantool --version
./deps.sh
env:
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
VSHARD_VERSION: ${{ matrix.vshard-version }}

- name: Install metrics
if: matrix.metrics-version != ''
Expand Down Expand Up @@ -144,116 +112,30 @@ jobs:
run: make -C build coveralls
if: ${{ matrix.coveralls }}

run-perf-tests-ce:
if: |
github.event_name == 'push' ||
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
strategy:
matrix:
tarantool-version: ["1.10", "2.11"]
metrics-version: ["1.0.0"]
cartridge-version: ["2.8.0"]
include:
- tarantool-version: "3.0.0"
vshard-version: "0.1.25"
fail-fast: false
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@master

- name: Setup Tarantool CE (1.x, 2.x)
if: ${{ startsWith( matrix.tarantool-version, '1.' ) || startsWith( matrix.tarantool-version, '2.' ) }}
uses: tarantool/setup-tarantool@v2
with:
tarantool-version: ${{ matrix.tarantool-version }}

- name: Setup tt
run: |
curl -L https://tarantool.io/release/2/installer.sh | sudo bash
sudo apt install -y tt
tt version

- name: Cache Tarantool 3.x
if: ${{ startsWith( matrix.tarantool-version, '3.' ) }}
id: cache-v3
uses: actions/cache@v3
with:
path: "${GITHUB_WORKSPACE}/bin"
key: cache-${{ matrix.tarantool-version }}

- name: Setup Tarantool CE (3.x)
if: ${{ startsWith( matrix.tarantool-version, '3.' ) && steps.cache-latest.outputs.cache-hit != 'true' }}
run: |
tt init
tt install tarantool ${{ matrix.tarantool-version }}

- name: Get Tarantool master latest commit
if: matrix.tarantool-version == 'master'
run: |
commit_hash=$(git ls-remote https://github.com/tarantool/tarantool.git --branch master | head -c 8)
echo "LATEST_COMMIT=${commit_hash}" >> $GITHUB_ENV
shell: bash

- name: Cache Tarantool master
if: matrix.tarantool-version == 'master'
id: cache-latest
uses: actions/cache@v3
with:
path: "${GITHUB_WORKSPACE}/bin"
key: cache-latest-${{ env.LATEST_COMMIT }}

- name: Setup Tarantool CE (master)
if: matrix.tarantool-version == 'master' && steps.cache-latest.outputs.cache-hit != 'true'
run: |
tt init
tt install tarantool master

- name: Add tt Tarantool to PATH
if: ${{ startsWith( matrix.tarantool-version, '3.' ) || matrix.tarantool-version == 'master' }}
run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH

- name: Install requirements for community
run: |
tarantool --version
./deps.sh
env:
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
VSHARD_VERSION: ${{ matrix.vshard-version }}

- name: Install metrics
if: matrix.metrics-version != ''
run: tt rocks install metrics ${{ matrix.metrics-version }}

# This server starts and listen on 8084 port that is used for tests
- name: Stop Mono server
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true

- run: cmake -S . -B build

- name: Run performance tests
run: make -C build performance

run-tests-ee:
if: github.event_name == 'push'
strategy:
fail-fast: false
matrix:
tarantool-version:
- folder: "1.10"
bundle: "tarantool-enterprise-sdk-1.10.15-0-r609"
- folder: "2.11"
bundle: "tarantool-enterprise-sdk-nogc64-2.11.2-0-r609.linux.x86_64"
metrics-version: ["", "1.0.0"]
cartridge-version: ["2.8.0"]
include:
- tarantool-version:
folder: "3.0"
bundle: "tarantool-enterprise-sdk-gc64-3.0.0-0-gf58f7d82a-r23.linux.x86_64"
vshard-version: "0.1.25"

fail-fast: false
runs-on: ubuntu-20.04
folder: "2.10"
bundle: "tarantool-enterprise-sdk-gc64-2.10.8-0-r691.linux.x86_64"
- tarantool-version:
folder: "2.11"
bundle: "tarantool-enterprise-sdk-gc64-2.11.7-0-r691.linux.x86_64"
- tarantool-version:
folder: "3.2"
bundle: "tarantool-enterprise-sdk-gc64-3.2.0-0-r40.linux.x86_64"
- tarantool-version:
folder: "3.3"
bundle: "tarantool-enterprise-sdk-gc64-3.3.2-0-r62.linux.x86_64"
- tarantool-version:
folder: "3.4"
bundle: "tarantool-enterprise-sdk-gc64-3.4.0-0-r62.linux.x86_64"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4

- name: Install requirements for enterprise
run: |
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ luacov.stats.out
build/*.cmake
build/Makefile
.idea
sdk
sdk-2
sdk-3

# Vim Swap files.
.*.s[a-w][a-z]
Expand Down
2 changes: 1 addition & 1 deletion .luacheckrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
redefined = false
globals = {'box', 'utf8', 'checkers', '_TARANTOOL'}
include_files = {'**/*.lua', '*.luacheckrc', '*.rockspec'}
exclude_files = {'**/*.rocks/', 'tmp/', 'tarantool-enterprise/'}
exclude_files = {'**/*.rocks/', 'tmp/', 'sdk-*'}
max_line_length = 120
max_comment_line_length = 150
12 changes: 10 additions & 2 deletions .luacov
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
local ci_node_index = os.getenv("CI_NODE_INDEX") or ""

statsfile = "luacov.stats" .. ci_node_index .. ".out"
exclude = {
'/test/',
'/.rocks/',
"test"
}
include = {
"crud%/.+$",
"crud.lua",
"roles%/.+$",
"cartridge%/.+$",
}
18 changes: 16 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

### Fixed
### Changed
* bumped: metrics version in rockspec
* bumped: cartridge version in rockspec
* Role-based model support has been implemented in CRUD (https://jira.vk.team/browse/TNTP-2177)

### Added
* Validation of `bucket_id`. Invalid values now raise `BucketIDError`
before routing. [TNTP-3536](https://jira.vk.team/browse/TNTP-3536)

### Fixed
* Fixed compatibility with cartridge `2.16.0` ([TNTP-3598](https://jira.vk.team/browse/TNTP-3598))
* `crud.schema` no longer returns TCF system space `_cdc_state`.
* `crud.schema` no longer returns system space `_gc_consumers` with Tarantool 3.2+.
* `crud.schema` no longer returns `tt` system space `_tt_migrations`.
* Tests of `schema` with Tarantool 3.2+.
* Fixed bad error handling for method `call.single`
* Added support for working in 3.1 with data from 2.11, previously there was an error
due to the inability to find the replicasets by name https://github.com/tarantool/crud-ee/issues/16

## [1.5.2] - 20-05-24

Expand All @@ -22,7 +36,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [1.5.1] - 27-04-24

### Added
### Changed
* Clarify license in the rockspec (#434).

## [1.5.0] - 03-04-24
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2020-2024 crud AUTHORS: please see the AUTHORS file.
Copyright 2020-2025 crud AUTHORS: please see the AUTHORS file.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Expand Down
Loading
Loading