@@ -53,3 +53,124 @@ jobs:
53
53
path : pip_dist
54
54
retention-days : 1
55
55
if-no-files-found : error
56
+
57
+ run_tests_pip_package_linux :
58
+ needs : pack_pip
59
+
60
+ # We want to run on external PRs, but not on our own internal
61
+ # PRs as they'll be run by the push to the branch.
62
+ #
63
+ # The main trick is described here:
64
+ # https://github.com/Dart-Code/Dart-Code/pull/2375
65
+ if : (github.event_name == 'push') ||
66
+ (github.event_name == 'pull_request' &&
67
+ github.event.pull_request.head.repo.full_name != github.repository)
68
+ runs-on : ubuntu-latest
69
+
70
+ strategy :
71
+ fail-fast : false
72
+
73
+ steps :
74
+ - name : Clone the connector repo
75
+ uses : actions/checkout@v3
76
+
77
+ - name : Setup Python
78
+ uses : actions/setup-python@v4
79
+ with :
80
+ python-version : ' 3.10'
81
+
82
+ - name : Remove connector source code
83
+ run : python3 .github/scripts/remove_source_code.py
84
+
85
+ - name : Install tarantool
86
+ uses : tarantool/setup-tarantool@v1
87
+ with :
88
+ tarantool-version : ' 2.10'
89
+
90
+ - name : Download pip package artifacts
91
+ uses : actions/download-artifact@v3
92
+ with :
93
+ name : pip_dist
94
+ path : pip_dist
95
+
96
+ - name : Install the package from pip artifacts
97
+ run : pip3 install pip_dist/*.whl
98
+
99
+ - name : Install test requirements
100
+ run : pip3 install -r requirements-test.txt
101
+
102
+ - name : Run tests
103
+ run : make test-pure-install
104
+
105
+ run_tests_pip_package_windows :
106
+ needs : pack_pip
107
+
108
+ # We want to run on external PRs, but not on our own internal
109
+ # PRs as they'll be run by the push to the branch.
110
+ #
111
+ # The main trick is described here:
112
+ # https://github.com/Dart-Code/Dart-Code/pull/2375
113
+ if : (github.event_name == 'push') ||
114
+ (github.event_name == 'pull_request' &&
115
+ github.event.pull_request.head.repo.full_name != github.repository)
116
+
117
+ runs-on : windows-latest
118
+
119
+ strategy :
120
+ fail-fast : false
121
+
122
+ steps :
123
+ - name : Clone the connector repo
124
+ uses : actions/checkout@v3
125
+
126
+ - name : Setup Python
127
+ uses : actions/setup-python@v4
128
+ with :
129
+ python-version : ' 3.10'
130
+
131
+ - name : Remove connector source code
132
+ run : python3 .github/scripts/remove_source_code.py
133
+
134
+ - name : Download pip package artifacts
135
+ uses : actions/download-artifact@v3
136
+ with :
137
+ name : pip_dist
138
+ path : pip_dist
139
+
140
+ - name : Install the package from pip artifacts
141
+ run : pip3 install (gci ./pip_dist *.whl).fullname
142
+
143
+ - name : Install test requirements
144
+ run : pip3 install -r requirements-test.txt
145
+
146
+ - name : Setup WSL for tarantool
147
+ uses : Vampire/setup-wsl@v1
148
+ with :
149
+ distribution : Ubuntu-20.04
150
+
151
+ - name : Install tarantool
152
+ shell : wsl-bash_Ubuntu-20.04 {0}
153
+ run : |
154
+ curl -L https://tarantool.io/release/2/installer.sh | bash -s
155
+ sudo apt install -y tarantool tarantool-dev
156
+
157
+ - name : Setup test tarantool instance
158
+ shell : wsl-bash_Ubuntu-20.04 {0}
159
+ run : |
160
+ rm -f ./tarantool.pid ./tarantool.log
161
+ TNT_PID=$(tarantool ./test/suites/lib/tarantool_python_ci.lua > tarantool.log 2>&1 & echo $!)
162
+ touch tarantool.pid
163
+ echo $TNT_PID > ./tarantool.pid
164
+
165
+ - name : Run tests
166
+ env :
167
+ REMOTE_TARANTOOL_HOST : localhost
168
+ REMOTE_TARANTOOL_CONSOLE_PORT : 3302
169
+ run : make test-pure-install
170
+
171
+ - name : Stop test tarantool instance
172
+ if : ${{ always() }}
173
+ shell : wsl-bash_Ubuntu-20.04 {0}
174
+ run : |
175
+ cat tarantool.log || true
176
+ kill $(cat tarantool.pid) || true
0 commit comments