Skip to content

Commit 845cd27

Browse files
committed
ci: fix testing with version 1.10.6
We need a version 1.10.6 in testing because it has no tuple-keydef and tuple-merger support and we can test our own implementation of both modules on that version. However Tarantool EE 1.10.6 is not available for installation anymore, so we will use Tarantool CE 1.10.6 as a replacement. Luarocks in Tarantool 1.10.6 has a bug [1], so we need to apply a patch [2] with fix for tarantool's luarocks file before using `tarantoolctl rock`. 1. tarantool/tarantool#4704 2. tarantool/luarocks@eb555fa
1 parent 95d7e9b commit 845cd27

File tree

2 files changed

+37
-5
lines changed

2 files changed

+37
-5
lines changed

.github/workflows/test_on_push.yaml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ jobs:
1111
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
1212
strategy:
1313
matrix:
14-
tarantool-version: ["1.10", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7"]
14+
# We need 1.10.6 here to check that module works with
15+
# old Tarantool versions that don't have "tuple-keydef"/"tuple-merger" support.
16+
tarantool-version: ["1.10.6", "1.10", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7"]
1517
remove-merger: [false]
1618
include:
1719
- tarantool-version: "2.7"
@@ -23,11 +25,23 @@ jobs:
2325
steps:
2426
- uses: actions/checkout@master
2527

26-
- name: Setup Tarantool CE
28+
- name: Setup Tarantool CE (~= 1.10.6)
2729
uses: tarantool/setup-tarantool@v1
30+
if: matrix.tarantool-version != '1.10.6'
2831
with:
2932
tarantool-version: ${{ matrix.tarantool-version }}
3033

34+
- name: Setup Tarantool CE 1.10.6
35+
if: matrix.tarantool-version == '1.10.6'
36+
run: |
37+
curl -L https://tarantool.io/release/1.10/installer.sh | bash
38+
sudo apt install -y tarantool=1.10.6.0.g5372cd2fa-1 tarantool-dev=1.10.6.0.g5372cd2fa-1
39+
40+
- name: Fix luarocks in Tarantool CE 1.10.6
41+
if: matrix.tarantool-version == '1.10.6'
42+
run: |
43+
sudo patch -p1 /usr/share/tarantool/luarocks/manif.lua luarocks.patch
44+
3145
- name: Install requirements for community
3246
run: |
3347
tarantool --version
@@ -56,9 +70,7 @@ jobs:
5670
if: github.event_name == 'push'
5771
strategy:
5872
matrix:
59-
# We need 1.10.6 here to check that module works with
60-
# old Tarantool versions that don't have "tuple-keydef"/"tuple-merger" support.
61-
bundle_version: [ "1.10.6-1-g52c786b", "1.10.10-0-gaea7ae77a-r399", "2.7.2-0-g4d8c06890-r399" ]
73+
bundle_version: [ "1.10.11-0-gf0b0e7ecf-r422", "2.7.3-0-gdddf926c3-r422" ]
6274
fail-fast: false
6375
runs-on: [ ubuntu-latest ]
6476
steps:

luarocks.patch

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
diff --git a/src/luarocks/manif.lua b/src/luarocks/manif.lua
2+
index 34ae02da5..79a427819 100644
3+
--- a/src/luarocks/manif.lua
4+
+++ b/src/luarocks/manif.lua
5+
@@ -444,11 +444,10 @@ function manif.add_to_manifest(name, version, repo, deps_mode)
6+
7+
local manifest, err = manif_core.load_local_manifest(rocks_dir)
8+
if not manifest then
9+
- util.printerr("No existing manifest. Attempting to rebuild...")
10+
- -- Manifest built by `manif.make_manifest` should already
11+
- -- include information about given name and version,
12+
- -- no need to update it.
13+
- return manif.make_manifest(rocks_dir, deps_mode)
14+
+ util.printerr("No existing manifest. Creating an empty one...")
15+
+ -- Create an empty manifest.
16+
+ manifest, err = { repository = {}, modules = {}, commands = {} }, nil
17+
+ manif_core.cache_manifest(rocks_dir, nil, manifest)
18+
end
19+
20+
local results = {[name] = {[version] = {{arch = "installed", repo = rocks_dir}}}}

0 commit comments

Comments
 (0)