Skip to content

Commit b545b3f

Browse files
Merge branch 'main' into bugfix/leaking-proxy
2 parents d71ab88 + 8549e39 commit b545b3f

File tree

360 files changed

+11026
-2106
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

360 files changed

+11026
-2106
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
@snowflakedb/snowpark-python-api
1+
@snowflakedb/snow-drivers-warsaw

.github/workflows/build_test.yml

Lines changed: 75 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ on:
99
- v*
1010
pull_request:
1111
branches:
12-
- master
13-
- main
14-
- prep-**
12+
- '**'
1513
workflow_dispatch:
1614
inputs:
1715
logLevel:
@@ -21,16 +19,21 @@ on:
2119
tags:
2220
description: "Test scenario tags"
2321

22+
concurrency:
23+
# older builds for the same pull request number or branch should be cancelled
24+
cancel-in-progress: true
25+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
26+
2427
jobs:
2528
lint:
2629
name: Check linting
2730
runs-on: ubuntu-latest
2831
steps:
29-
- uses: actions/checkout@v3
32+
- uses: actions/checkout@v4
3033
- name: Set up Python
3134
uses: actions/setup-python@v4
3235
with:
33-
python-version: '3.8'
36+
python-version: '3.9'
3437
- name: Display Python version
3538
run: python -c "import sys; import os; print(\"\n\".join(os.environ[\"PATH\"].split(os.pathsep))); print(sys.version); print(sys.executable);"
3639
- name: Upgrade setuptools, pip and wheel
@@ -39,7 +42,7 @@ jobs:
3942
run: python -m pip install tox>=4
4043
- name: Set PY
4144
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
42-
- uses: actions/cache@v3
45+
- uses: actions/cache@v4
4346
with:
4447
path: ~/.cache/pre-commit
4548
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
@@ -51,9 +54,9 @@ jobs:
5154
runs-on: ubuntu-latest
5255
strategy:
5356
matrix:
54-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
57+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
5558
steps:
56-
- uses: actions/checkout@v3
59+
- uses: actions/checkout@v4
5760
- name: Set up Python
5861
uses: actions/setup-python@v4
5962
with:
@@ -70,17 +73,17 @@ jobs:
7073
strategy:
7174
matrix:
7275
os:
73-
- image: ubuntu-20.04
76+
- image: ubuntu-latest
7477
id: manylinux_x86_64
75-
- image: ubuntu-20.04
78+
- image: ubuntu-latest
7679
id: manylinux_aarch64
77-
- image: windows-2019
80+
- image: windows-latest
7881
id: win_amd64
7982
- image: macos-latest
8083
id: macosx_x86_64
8184
- image: macos-latest
8285
id: macosx_arm64
83-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
86+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
8487
name: Build ${{ matrix.os.id }}-py${{ matrix.python-version }}
8588
runs-on: ${{ matrix.os.image }}
8689
steps:
@@ -93,10 +96,13 @@ jobs:
9396
if: ${{ matrix.os.id == 'manylinux_aarch64' }}
9497
uses: docker/setup-qemu-action@v2
9598
with:
99+
# xref https://github.com/docker/setup-qemu-action/issues/188
100+
# xref https://github.com/tonistiigi/binfmt/issues/215
101+
image: tonistiigi/binfmt:qemu-v8.1.5
96102
platforms: all
97-
- uses: actions/checkout@v3
103+
- uses: actions/checkout@v4
98104
- name: Building wheel
99-
uses: pypa/cibuildwheel@v2.16.5
105+
uses: pypa/cibuildwheel@v2.21.3
100106
env:
101107
CIBW_BUILD: cp${{ env.shortver }}-${{ matrix.os.id }}
102108
MACOSX_DEPLOYMENT_TARGET: 10.14 # Should be kept in sync with ci/build_darwin.sh
@@ -105,8 +111,9 @@ jobs:
105111
- name: Show wheels generated
106112
run: ls -lh dist
107113
shell: bash
108-
- uses: actions/upload-artifact@v3
114+
- uses: actions/upload-artifact@v4
109115
with:
116+
include-hidden-files: true
110117
name: ${{ matrix.os.id }}_py${{ matrix.python-version }}
111118
path: dist/
112119

@@ -122,18 +129,36 @@ jobs:
122129
download_name: manylinux_x86_64
123130
- image_name: macos-latest
124131
download_name: macosx_x86_64
125-
- image_name: windows-2019
132+
- image_name: windows-latest
126133
download_name: win_amd64
127-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
134+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
128135
cloud-provider: [aws, azure, gcp]
136+
# TODO: When there are prebuilt wheels accessible for our dependencies (i.e. numpy)
137+
# for Python 3.13 windows runs can be re-enabled. Currently, according to numpy:
138+
# "Numpy built with MINGW-W64 on Windows 64 bits is experimental, and only available for
139+
# testing. You are advised not to use it for production."
140+
exclude:
141+
- os:
142+
image_name: windows-latest
143+
download_name: win_amd64
144+
python-version: "3.13"
129145
steps:
130-
- uses: actions/checkout@v3
146+
- uses: actions/checkout@v4
131147
- name: Set up Python
132148
uses: actions/setup-python@v4
133149
with:
134150
python-version: ${{ matrix.python-version }}
135151
- name: Display Python version
136152
run: python -c "import sys; print(sys.version)"
153+
- name: Set up Java
154+
uses: actions/setup-java@v4 # for wiremock
155+
with:
156+
java-version: 11
157+
distribution: 'temurin'
158+
java-package: 'jre'
159+
- name: Fetch Wiremock
160+
shell: bash
161+
run: curl https://repo1.maven.org/maven2/org/wiremock/wiremock-standalone/3.11.0/wiremock-standalone-3.11.0.jar --output .wiremock/wiremock-standalone.jar
137162
- name: Setup parameters file
138163
shell: bash
139164
env:
@@ -142,7 +167,7 @@ jobs:
142167
gpg --quiet --batch --yes --decrypt --passphrase="$PARAMETERS_SECRET" \
143168
.github/workflows/parameters/public/parameters_${{ matrix.cloud-provider }}.py.gpg > test/parameters.py
144169
- name: Download wheel(s)
145-
uses: actions/download-artifact@v3
170+
uses: actions/download-artifact@v4
146171
with:
147172
name: ${{ matrix.os.download_name }}_py${{ matrix.python-version }}
148173
path: dist
@@ -164,8 +189,9 @@ jobs:
164189
- name: Combine coverages
165190
run: python -m tox run -e coverage --skip-missing-interpreters false
166191
shell: bash
167-
- uses: actions/upload-artifact@v3
192+
- uses: actions/upload-artifact@v4
168193
with:
194+
include-hidden-files: true
169195
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}
170196
path: |
171197
.tox/.coverage
@@ -179,12 +205,14 @@ jobs:
179205
fail-fast: false
180206
matrix:
181207
os:
182-
- image_name: ubuntu-latest
208+
# Because old the version 3.0.2 of snowflake-connector-python depends on oscrypto which causes conflicts with higher versions of libssl
209+
# TODO: It can be changed to ubuntu-latest, when python sf connector version in tox is above 3.4.0
210+
- image_name: ubuntu-22.04
183211
download_name: linux
184-
python-version: [3.8]
212+
python-version: [3.9]
185213
cloud-provider: [aws]
186214
steps:
187-
- uses: actions/checkout@v3
215+
- uses: actions/checkout@v4
188216
- name: Set up Python
189217
uses: actions/setup-python@v4
190218
with:
@@ -220,10 +248,10 @@ jobs:
220248
os:
221249
- image_name: ubuntu-latest
222250
download_name: linux
223-
python-version: [3.8]
251+
python-version: [3.9]
224252
cloud-provider: [aws]
225253
steps:
226-
- uses: actions/checkout@v3
254+
- uses: actions/checkout@v4
227255
- name: Set up Python
228256
uses: actions/setup-python@v4
229257
with:
@@ -243,15 +271,15 @@ jobs:
243271
shell: bash
244272

245273
test-fips:
246-
name: Test FIPS linux-3.8-${{ matrix.cloud-provider }}
274+
name: Test FIPS linux-3.9-${{ matrix.cloud-provider }}
247275
needs: build
248276
runs-on: ubuntu-latest
249277
strategy:
250278
fail-fast: false
251279
matrix:
252280
cloud-provider: [aws]
253281
steps:
254-
- uses: actions/checkout@v3
282+
- uses: actions/checkout@v4
255283
- name: Setup parameters file
256284
shell: bash
257285
env:
@@ -260,24 +288,25 @@ jobs:
260288
gpg --quiet --batch --yes --decrypt --passphrase="$PARAMETERS_SECRET" \
261289
.github/workflows/parameters/public/parameters_${{ matrix.cloud-provider }}.py.gpg > test/parameters.py
262290
- name: Download wheel(s)
263-
uses: actions/download-artifact@v3
291+
uses: actions/download-artifact@v4
264292
with:
265-
name: manylinux_x86_64_py3.8
293+
name: manylinux_x86_64_py3.9
266294
path: dist
267295
- name: Show wheels downloaded
268296
run: ls -lh dist
269297
shell: bash
270298
- name: Run tests
271299
run: ./ci/test_fips_docker.sh
272300
env:
273-
PYTHON_VERSION: 3.8
301+
PYTHON_VERSION: 3.9
274302
cloud_provider: ${{ matrix.cloud-provider }}
275303
PYTEST_ADDOPTS: --color=yes --tb=short
276304
TOX_PARALLEL_NO_SPINNER: 1
277305
shell: bash
278-
- uses: actions/upload-artifact@v3
306+
- uses: actions/upload-artifact@v4
279307
with:
280-
name: coverage_linux-fips-3.8-${{ matrix.cloud-provider }}
308+
include-hidden-files: true
309+
name: coverage_linux-fips-3.9-${{ matrix.cloud-provider }}
281310
path: |
282311
.coverage
283312
coverage.xml
@@ -289,15 +318,15 @@ jobs:
289318
strategy:
290319
fail-fast: false
291320
matrix:
292-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
321+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
293322
cloud-provider: [aws]
294323
steps:
295324
- name: Set shortver
296325
run: echo "shortver=${longver//./}" >> $GITHUB_ENV
297326
env:
298327
longver: ${{ matrix.python-version }}
299328
shell: bash
300-
- uses: actions/checkout@v3
329+
- uses: actions/checkout@v4
301330
- name: Setup parameters file
302331
shell: bash
303332
env:
@@ -306,7 +335,7 @@ jobs:
306335
gpg --quiet --batch --yes --decrypt --passphrase="$PARAMETERS_SECRET" \
307336
.github/workflows/parameters/public/parameters_${{ matrix.cloud-provider }}.py.gpg > test/parameters.py
308337
- name: Download wheel(s)
309-
uses: actions/download-artifact@v3
338+
uses: actions/download-artifact@v4
310339
with:
311340
name: manylinux_x86_64_py${{ matrix.python-version }}
312341
path: dist
@@ -321,8 +350,9 @@ jobs:
321350
PYTEST_ADDOPTS: --color=yes --tb=short
322351
TOX_PARALLEL_NO_SPINNER: 1
323352
shell: bash
324-
- uses: actions/upload-artifact@v3
353+
- uses: actions/upload-artifact@v4
325354
with:
355+
include-hidden-files: true
326356
name: coverage_linux-lambda-${{ matrix.python-version }}-${{ matrix.cloud-provider }}
327357
path: |
328358
.coverage.py${{ env.shortver }}-lambda-ci
@@ -334,14 +364,14 @@ jobs:
334364
needs: [lint, test, test-fips, test-lambda]
335365
runs-on: ubuntu-latest
336366
steps:
337-
- uses: actions/checkout@v3
338-
- uses: actions/download-artifact@v3
367+
- uses: actions/checkout@v4
368+
- uses: actions/download-artifact@v4
339369
with:
340370
path: artifacts
341371
- name: Set up Python
342372
uses: actions/setup-python@v4
343373
with:
344-
python-version: '3.8'
374+
python-version: '3.9'
345375
- name: Display Python version
346376
run: python -c "import sys; print(sys.version)"
347377
- name: Upgrade setuptools and pip
@@ -364,15 +394,18 @@ jobs:
364394
- name: Combine coverages
365395
run: python -m tox run -e coverage
366396
- name: Publish html coverage
367-
uses: actions/upload-artifact@v3
397+
uses: actions/upload-artifact@v4
368398
with:
399+
include-hidden-files: true
369400
name: overall_cov_html
370401
path: .tox/htmlcov
371402
- name: Publish xml coverage
372-
uses: actions/upload-artifact@v3
403+
uses: actions/upload-artifact@v4
373404
with:
405+
include-hidden-files: true
374406
name: overall_cov_xml
375407
path: .tox/coverage.xml
376-
- uses: codecov/codecov-action@v3
408+
- uses: codecov/codecov-action@v4
377409
with:
378410
files: .tox/coverage.xml
411+
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/create_req_files.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-latest
1010
strategy:
1111
matrix:
12-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
12+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
1313
steps:
1414
- uses: actions/checkout@v3
1515
- name: Set up Python
@@ -37,9 +37,10 @@ jobs:
3737
- name: Show created req file
3838
shell: bash
3939
run: cat ${{ env.requirements_file }}
40-
- uses: actions/upload-artifact@v3
40+
- uses: actions/upload-artifact@v4
4141
with:
42-
path: temp_requirement
42+
name: tested_requirement-py${{ matrix.python-version }}
43+
path: ${{ env.requirements_file }}
4344

4445
push-files:
4546
needs: create-req-files
@@ -50,10 +51,11 @@ jobs:
5051
with:
5152
token: ${{ secrets.PAT }}
5253
- name: Download requirement files
53-
uses: actions/download-artifact@v3
54+
uses: actions/download-artifact@v4
5455
with:
55-
name: artifact
56+
pattern: tested_requirement-py*
5657
path: tested_requirements
58+
merge-multiple: true
5759
- name: Commit and push new requirements files
5860
run: |
5961
git config user.name github-actions

.github/workflows/jira_issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
summary: '${{ github.event.issue.title }}'
3838
description: |
3939
${{ github.event.issue.body }} \\ \\ _Created from GitHub Action_ for ${{ github.event.issue.html_url }}
40-
fields: '{"customfield_11401":{"id":"14586"},"assignee":{"id":"61027a237ab143006ecfb9a2"},"components":[{"id":"16413"}]}'
40+
fields: '{"customfield_11401":{"id":"14723"},"assignee":{"id":"712020:e527ae71-55cc-4e02-9217-1ca4ca8028a2"},"components":[{"id":"16413"}], "labels": ["oss"], "priority": {"id": "10001"} }'
4141

4242
- name: Update GitHub Issue
4343
uses: ./jira/gajira-issue-update
Binary file not shown.
1.37 KB
Binary file not shown.
Binary file not shown.

.github/workflows/snyk-issue.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ jobs:
1515
snyk:
1616
runs-on: ubuntu-latest
1717
steps:
18-
- name: Checkout Action
19-
uses: actions/checkout@v3
18+
- name: checkout action
19+
uses: actions/checkout@v4
2020
with:
2121
repository: snowflakedb/whitesource-actions
22-
token: ${{ secrets.whitesource_action_token }}
22+
token: ${{ secrets.WHITESOURCE_ACTION_TOKEN }}
2323
path: whitesource-actions
24-
- name: Set Env
25-
run: echo "repo=$(basename $GITHUB_REPOSITORY)" >> $GITHUB_ENV
24+
- name: set-env
25+
run: echo "REPO=$(basename $GITHUB_REPOSITORY)" >> $GITHUB_ENV
2626
- name: Jira Creation
2727
uses: ./whitesource-actions/snyk-issue
2828
with:
29-
snyk_org: ${{ secrets.snyk_org_id_public_repo }}
30-
snyk_token: ${{ secrets.snyk_github_integration_token_public_repo }}
31-
jira_token: ${{ secrets.jira_token_public_repo }}
29+
snyk_org: ${{ secrets.SNYK_ORG_ID_PUBLIC_REPO }}
30+
snyk_token: ${{ secrets.SNYK_GITHUB_INTEGRATION_TOKEN_PUBLIC_REPO }}
31+
jira_token: ${{ secrets.JIRA_TOKEN_PUBLIC_REPO }}
3232
env:
33-
gh_token: ${{ secrets.github_token }}
33+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)