Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] [SNOW-1491199] merge phase0 server side #2136

Draft
wants to merge 123 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 113 commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
7a92099
[private branch] Maintain the AST as we build up Snowpark expressions…
sfc-gh-azwiegincew May 3, 2024
e13fa28
Create steel-thread.py
sfc-gh-azwiegincew May 3, 2024
ae3469d
Merge branch 'server-side-snowpark' of https://github.com/snowflakedb…
sfc-gh-azwiegincew May 3, 2024
4305cf2
[SERVER] Refresh dev branch with recent snowpark changes (#1537)
sfc-gh-lspiegelberg May 8, 2024
e6ce3bb
Update ast_pb2.py and include it in the Snowpark wheel (#1564)
sfc-gh-oplaton May 14, 2024
7fbbc51
Updated AST proto. Now matches the server.
sfc-gh-azwiegincew May 15, 2024
0cc4fa8
Merge remote-tracking branch 'origin/server-side-snowpark' into serve…
sfc-gh-azwiegincew May 15, 2024
2a9b50b
Removed ast-make.sh since we removed ast.proto.
sfc-gh-azwiegincew May 15, 2024
2e54569
[feature branch] Invoke the session-level CreateCoprocessor request (…
sfc-gh-azwiegincew May 16, 2024
1446f51
[feature branch] Async session request + hacked up delay to avoid rac…
sfc-gh-azwiegincew May 21, 2024
7657d40
Revert a bad merge
sfc-gh-azwiegincew May 21, 2024
3c144f8
Revert a bad merge
sfc-gh-azwiegincew May 21, 2024
6537943
Revert a bad merge
sfc-gh-azwiegincew May 21, 2024
29684a4
[feature branch] Sync the AST with the monorepo (#1675)
sfc-gh-azwiegincew May 24, 2024
b086fd2
[feature branch] Sync the AST with the monorepo (#1676)
sfc-gh-azwiegincew May 24, 2024
8de5d28
Basic select API working (#1674)
sfc-gh-heshah May 28, 2024
7275dfa
Sync AST with monorepo (#1693)
sfc-gh-heshah May 28, 2024
f16f1cb
[Snowpark Server] Helper script to fetch protobuf from devvm (#1700)
sfc-gh-lspiegelberg May 30, 2024
037fc60
[feature branch] AST test infra (#1701)
sfc-gh-azwiegincew May 30, 2024
e4a10f9
Merge branch 'main' into server-side-snowpark
sfc-gh-azwiegincew Jun 5, 2024
d30822a
[feature branch] Phase 0 client (#1735)
sfc-gh-azwiegincew Jun 10, 2024
bce97c0
Column ops implementation first draft (#1696)
sfc-gh-heshah Jun 12, 2024
e20a430
[ThinClient] Use connector with server-side-snowpark changes in setup…
sfc-gh-lspiegelberg Jun 12, 2024
922881b
[SNOW-1473697] Support show client-side with modified TCM (#1649)
sfc-gh-lspiegelberg Jun 12, 2024
385ac60
Update tests based on unparser changes (#1783)
sfc-gh-heshah Jun 14, 2024
ce81f68
[feature branch] AST: DataFrame.to_df() + cleanup (#1790)
sfc-gh-azwiegincew Jun 17, 2024
9eef249
[SERVER-SIDE] Add test infrastructure to track all requests have data…
sfc-gh-lspiegelberg Jun 17, 2024
8d29d02
[SERVER-SIDE] Remove temporarily Modin tests as Modin is incompatible…
sfc-gh-lspiegelberg Jun 18, 2024
718fed4
[SERVER-SIDE CI] Exclude protobuf file in flake8 precommit (#1812)
sfc-gh-lspiegelberg Jun 20, 2024
c92e511
[SERVER-SIDE CI] In update-unparser.sh script use bazel targets inste…
sfc-gh-lspiegelberg Jun 20, 2024
58eaa3c
[SERVER-SIDE CI] Temporary fix for unparser fat jar (#1817)
sfc-gh-lspiegelberg Jun 25, 2024
4cecfdc
Fill colum expr src positions, raise explicit errors on missing AST (…
sfc-gh-heshah Jun 27, 2024
f513ea9
Fix server-side-snowpark linter errors [SNOW-1491327] (#1831)
sfc-gh-oplaton Jun 28, 2024
424bab1
Fix reference to snowflakedb/snowflake-connector-python@server-side-s…
sfc-gh-oplaton Jul 1, 2024
6834c36
Only raise explicit errors for Snowpark non-internal API calls (#1865)
sfc-gh-heshah Jul 1, 2024
f7f969d
Simplified most invocations of Column._create_ast and fixed a few AST…
sfc-gh-azwiegincew Jul 2, 2024
5ce96c1
[SNOW-1491328] Support functions.py for AST/Snowpark IR. (#1810)
sfc-gh-lspiegelberg Jul 3, 2024
ee82ca7
[feature branch] SNOW-1489960:Index accessors + NA (#1877)
sfc-gh-azwiegincew Jul 8, 2024
3653254
[feature branch] AST support for session.sql() [SNOW-1491324] (#1889)
sfc-gh-azwiegincew Jul 9, 2024
3a7e00d
[feature branch] Implemented AST for Session.flatten (#1900)
sfc-gh-azwiegincew Jul 10, 2024
6584e77
API coverage for Session.table [SNOW-1491327] (#1830)
sfc-gh-oplaton Jul 10, 2024
19f26d6
[feature branch] AST support for Session.{flatten, table_function, ca…
sfc-gh-azwiegincew Jul 11, 2024
9708e0f
SNOW-1491306 Phase 0 AST for DataFrame first, sample, and random_spli…
sfc-gh-vbudati Jul 16, 2024
d2b8422
[feature branch] AST support for DataFrame.{create_or_replace[_temp]_…
sfc-gh-azwiegincew Jul 16, 2024
ebe4503
SNOW-1491329 Support window functions in Snowpark IR (#1914)
sfc-gh-lspiegelberg Jul 17, 2024
c601b2e
[feature branch] SNOW-1491298 AST support for DataFrame `drop`, `sort…
sfc-gh-vbudati Jul 22, 2024
a34213f
SNOW-1491251 Column CaseWhen (#1942)
sfc-gh-heshah Jul 22, 2024
661c8fb
SNOW-1491251 Implement functions.in_ and Column.in_ AST generation, w…
sfc-gh-heshah Jul 22, 2024
253b311
SNOW-1491293 Dataframe.filter AST generation (#1955)
sfc-gh-heshah Jul 22, 2024
4b15249
SNOW-1491299 AST for Dataframe union, intersect, and except APIs (#1958)
sfc-gh-vbudati Jul 22, 2024
361c658
[SNOW-1491300] Support Dataframe.{distinct,drop_duplicates} in Snowpa…
sfc-gh-lspiegelberg Jul 22, 2024
1a29aa6
Dataframe: Natural join, cross join, join (#1930)
sfc-gh-oplaton Jul 23, 2024
adf7a2f
(Readability) Replace all instances of suppress_ast with emit_ast to …
sfc-gh-oplaton Jul 24, 2024
2ffcc07
SNOW-1491302 Add AST generation in Dataframe With Col Methods (#1963)
sfc-gh-heshah Jul 24, 2024
9df970b
[SNOW-1491315] Support AST encoding for `session.create_dataframe` up…
sfc-gh-lspiegelberg Jul 24, 2024
0739f91
SNOW-1491296 Dataframe GroupBy methods (#1977)
sfc-gh-heshah Jul 25, 2024
ab76d2d
SNOW-1491325 AST for `session.generator` and `session.range` (#1961)
sfc-gh-vbudati Jul 25, 2024
fe5dc09
DataFrame.select_expr AST generation (#1948)
sfc-gh-heshah Jul 26, 2024
3ec266e
SNOW-1491254 AST generation for DataFrame analytics functions (#1988)
sfc-gh-vbudati Jul 27, 2024
80aeb2f
SNOW-1562752 Pass stmt params to with_src_position, df.union fn AST p…
sfc-gh-heshah Jul 29, 2024
e117dae
[SNOW-1554591] Support pandas.Dataframe in session.create_dataframe (…
sfc-gh-lspiegelberg Jul 30, 2024
2fb94a2
[SNOW-1491295] Support DataFrame.agg in Snowpark IR (#2004)
sfc-gh-lspiegelberg Jul 31, 2024
b75457e
New script update-from-local.sh that supports local development; simi…
sfc-gh-azwiegincew Aug 1, 2024
d6ea21b
Always run tests in the America/New_York time zone (#2024)
sfc-gh-oplaton Aug 2, 2024
41842c6
[SNOW-1491284] DataFrame.{collect,collect_nowait,count} collectors (#…
sfc-gh-lspiegelberg Aug 2, 2024
0246634
[SNOW-1491309] Snowpark IR, support DataFrame.describe (#2040)
sfc-gh-lspiegelberg Aug 7, 2024
8acb59e
Unify function handling; introduce support for table functions and fi…
sfc-gh-oplaton Aug 8, 2024
70346e3
Set the new DSL-level version number attribute for AST requests (#2068)
sfc-gh-azwiegincew Aug 12, 2024
7fe4155
The AST test driver now uses temp files so that our symbol capture ca…
sfc-gh-azwiegincew Aug 12, 2024
dc7b20d
Updated test expectations after the precedence unparser changes – ext…
sfc-gh-azwiegincew Aug 12, 2024
9c346b7
[SNOW-1491310] Snowpark IR - DataFrame.write support (#2054)
sfc-gh-lspiegelberg Aug 13, 2024
b40a187
[SNOW-1491307] Session.write_pandas support for Snowpark IR (#2083)
sfc-gh-lspiegelberg Aug 14, 2024
c009c30
[SNOW-1491253] Snowpark IR - server side support for DataFrame.stat f…
sfc-gh-lspiegelberg Aug 15, 2024
fc9f6fe
[feature branch] Avoid creating an intermediate binding for the state…
sfc-gh-azwiegincew Aug 15, 2024
db32933
[feature branch] Updated unparser expectations – expression inlining …
sfc-gh-azwiegincew Aug 16, 2024
01cdf37
[SNOW-1491175] Remove set_src_position, overhaul with_src_position fo…
sfc-gh-heshah Aug 19, 2024
f5ccaa9
[SNOW-1491198] Refresh server-side branch with snowpark-python 1.21 r…
sfc-gh-lspiegelberg Aug 20, 2024
e621a73
merge to reduce more conflicts
sfc-gh-lspiegelberg Aug 20, 2024
c3a2631
readd modin tests
sfc-gh-lspiegelberg Aug 20, 2024
be272ff
keep sql counter refactor
sfc-gh-lspiegelberg Aug 20, 2024
ceebfae
Merge branch 'ls-resolve-main-conflicts' into ls-SNOW-1491199-merge-p…
sfc-gh-lspiegelberg Aug 21, 2024
5659feb
[SNOW-1636680] IR update to include mode for save_as_table in DataFra…
sfc-gh-lspiegelberg Aug 22, 2024
364459c
[SNOW-1636750] Add MockServerConnection check when suppressing result…
sfc-gh-lspiegelberg Aug 23, 2024
cef4e93
[SNOW-1638057] Fixes more doctests, raise explicit exceptions for mis…
sfc-gh-lspiegelberg Aug 27, 2024
343538e
[SNOW-1638064] Support for asof join (#2194)
sfc-gh-lspiegelberg Sep 3, 2024
8927442
[SNOW-1554390] Relational grouped dataframe (#2187)
sfc-gh-lspiegelberg Sep 3, 2024
4b3cb8f
[SNOW-1638240] Support session.read, DataframeReader (#2168)
sfc-gh-lspiegelberg Sep 3, 2024
c7271ab
[SNOW-1514712] Support UDFs for Snowpark IR (#2199)
sfc-gh-lspiegelberg Sep 3, 2024
3d100a9
[SNOW-1514712] Fix udf registration for non-local mode (#2219)
sfc-gh-lspiegelberg Sep 4, 2024
1ceee26
Expectation tests now check the encoded AST (#2226)
sfc-gh-azwiegincew Sep 4, 2024
2b56702
[SNOW-1514712] UDxF work part II - support UDTFs (#2229)
sfc-gh-lspiegelberg Sep 5, 2024
5fc0950
[SNOW-1638242] Fix encoding of large decimal (#2225)
sfc-gh-lspiegelberg Sep 9, 2024
0a2bbd4
[SNOW-1514712] Functions part III - support udafs in Snowpark IR (#2264)
sfc-gh-lspiegelberg Sep 10, 2024
d0249f3
[SNOW-1638290] Add GetItemObject entity and fix Dataframe.random_spli…
sfc-gh-lspiegelberg Sep 12, 2024
f01c914
Capture AST for DataFrame.pivot and DataFrame.unpivot (#2287)
sfc-gh-oplaton Sep 13, 2024
1238d9f
Remove phase 1 code (#2297)
sfc-gh-azwiegincew Sep 16, 2024
3d3e719
Define 'stmt' on all code paths (#2300)
sfc-gh-oplaton Sep 17, 2024
4197fb3
Updated scripts to reflect the monorepo branch snowpark-phase-0 (#2320)
sfc-gh-azwiegincew Sep 18, 2024
09bc49f
[SNOW-1625268] Add AST merge gate for ast phase0. (#2295)
sfc-gh-lspiegelberg Sep 19, 2024
a498de1
Failing count() test case (#2348)
sfc-gh-azwiegincew Sep 24, 2024
567f179
[SNOW-1557209] Add new client-side feature flag to protect AST rollou…
sfc-gh-lspiegelberg Sep 25, 2024
0d45704
Factor out a subroutine to check for missing AST + abstract away temp…
sfc-gh-azwiegincew Sep 26, 2024
c1ade06
SNOW-1672573 Add coverage for `DataFrame.to_local_iterator` (#2366)
sfc-gh-vbudati Sep 30, 2024
cdf4ae3
SNOW-1663699 Fix dataframe unpivot ast test (#2364)
sfc-gh-evandenberg Oct 3, 2024
633ed2e
SNOW-1672576 Dataframe.to_pandas and Dataframe.to_pandas_batch (#2379)
sfc-gh-evandenberg Oct 4, 2024
9b2b77e
[SNOW-1625268] Add `--enable-ast` merge gate, pass local-testing/inte…
sfc-gh-lspiegelberg Oct 4, 2024
f614829
[SNOW-1625268] Fix pandas tests with AST disabled. (#2400)
sfc-gh-lspiegelberg Oct 8, 2024
7993692
Snowpark IR table functions (#2420)
sfc-gh-oplaton Oct 10, 2024
61f12b3
SNOW-1675257 AST encoding for Stored Procedures (#2426)
sfc-gh-vbudati Oct 11, 2024
5462de5
[SNOW-1625268] Refresh with recent snowpark python changes 1.22-1.23 …
sfc-gh-lspiegelberg Oct 11, 2024
800a615
SNOW-1736688 fix b.list calls test results (#2445)
sfc-gh-evandenberg Oct 14, 2024
09a995e
SNOW-1677859 Add table functions passthough dataframeAst (#2443)
sfc-gh-evandenberg Oct 15, 2024
eff22b1
SNOW-1737238 fix map output in expectation tests (#2452)
sfc-gh-evandenberg Oct 15, 2024
08797a5
Snowpark IR: Create the test tables lazily (#2468)
sfc-gh-oplaton Oct 21, 2024
a557095
[SNOW-1731697] Snowpark refresh new apis for 1.23 (#2447)
sfc-gh-lspiegelberg Oct 21, 2024
e843c05
SNOW-1738538 Update test expectations to textproto ast for better sta…
sfc-gh-evandenberg Oct 23, 2024
15cabe0
[SNOW-1732087] Fix doctest file descriptor capture. (#2490)
sfc-gh-lspiegelberg Oct 23, 2024
c99f08c
SNOW-1738538 Fix multi ast eval validation in decoding expectation te…
sfc-gh-evandenberg Oct 24, 2024
3f07e4b
[SNOW-1760495] Reduce test errors on AST enabled merge gate / pass te…
sfc-gh-lspiegelberg Oct 24, 2024
8bc690f
[PR-review] Changes addressing column.py (#2507)
sfc-gh-lspiegelberg Oct 24, 2024
14c154d
[PR review] Feedback on dataframe.py (#2506)
sfc-gh-lspiegelberg Oct 25, 2024
ffabb53
[IR] SNOW-1491199 add ast-encoding test in precommit (#2510) (#2527)
sfc-gh-azhan Oct 29, 2024
c12e8cf
[SNOW-1760495] Fix dataframe copy into suite / disable temp auto clea…
sfc-gh-lspiegelberg Oct 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/daily_jupyter_nb_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
run: python -m pip wheel -v -w dist --no-deps .
- name: Show wheels generated
run: ls -lh dist
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v4
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do not touch unrelevant files.

with:
name: wheel
path: dist/
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
PARAMETER_PASSWORD: ${{ secrets.PARAMETER_PASSWORD }}
CLOUD_PROVIDER: ${{ matrix.cloud-provider }}
- name: Download wheel(s)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: wheel
path: dist
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/daily_modin_precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ jobs:
run: ls -lh dist
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these changes necessary?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

name: wheel
path: dist/

Expand Down Expand Up @@ -166,6 +167,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}
path: |
.tox/.coverage
Expand Down Expand Up @@ -234,6 +236,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}-disable-sql-simplifier
path: |
.tox/.coverage
Expand Down Expand Up @@ -302,6 +305,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}-enable-cte-optimization
path: |
.tox/.coverage
Expand Down Expand Up @@ -348,11 +352,13 @@ jobs:
- name: Publish html coverage
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: overall_cov_html
path: .tox/htmlcov
- name: Publish xml coverage
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: overall_cov_xml
path: .tox/coverage.xml
- uses: codecov/codecov-action@v1
Expand Down Expand Up @@ -385,5 +391,6 @@ jobs:
- name: Upload html files
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: docs
path: docs/build/html
10 changes: 10 additions & 0 deletions .github/workflows/daily_precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ jobs:
run: ls -lh dist
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: wheel
path: dist/

Expand Down Expand Up @@ -143,6 +144,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}
path: |
.tox/.coverage
Expand Down Expand Up @@ -183,6 +185,7 @@ jobs:
shell: bash
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_linux-fips-3.8-${{ matrix.cloud-provider }}
path: |
.coverage
Expand Down Expand Up @@ -251,6 +254,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}-disable-sql-simplifier
path: |
.tox/.coverage
Expand Down Expand Up @@ -312,6 +316,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_nopandas
path: |
.tox/.coverage
Expand Down Expand Up @@ -372,6 +377,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-local-testing
path: |
.tox/.coverage
Expand Down Expand Up @@ -440,6 +446,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os.download_name }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}-enable-cte-optimization
path: |
.tox/.coverage
Expand Down Expand Up @@ -483,11 +490,13 @@ jobs:
- name: Publish html coverage
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: overall_cov_html
path: .tox/htmlcov
- name: Publish xml coverage
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: overall_cov_xml
path: .tox/coverage.xml
- uses: codecov/codecov-action@v1
Expand Down Expand Up @@ -520,5 +529,6 @@ jobs:
- name: Upload html files
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: docs
path: docs/build/html
159 changes: 157 additions & 2 deletions .github/workflows/precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ jobs:
run: ls -lh dist
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: wheel
path: dist/

Expand All @@ -85,7 +86,7 @@ jobs:
matrix:
os: [macos-latest, windows-latest-64-cores, ubuntu-latest-64-cores]
python-version: ["3.9", "3.10", "3.11"]
cloud-provider: [aws, azure, gcp]
cloud-provider: [aws, gcp, azure]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do not change this.

exclude:
# only run macos with aws py3.9 for doctest
- os: macos-latest
Expand Down Expand Up @@ -180,6 +181,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}
path: |
.tox/.coverage
Expand Down Expand Up @@ -238,11 +240,158 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os }}-${{ matrix.python-version }}-local-testing
path: |
.tox/.coverage
.tox/coverage.xml

test-ast-encoding:
name: Test AST expectations (phase0) py-${{ matrix.os }}-${{ matrix.python-version }}
needs: build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
# Protobuf encoding differs per python version, use 3.8 by default.
python-version: [ "3.8"]
cloud-provider: [aws]
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Decrypt parameters.py
shell: bash
run: .github/scripts/decrypt_parameters.sh
env:
PARAMETER_PASSWORD: ${{ secrets.PARAMETER_PASSWORD }}
CLOUD_PROVIDER: ${{ matrix.cloud-provider }}
- name: Download wheel(s)
uses: actions/download-artifact@v4
with:
name: wheel
path: dist
- name: Show wheels downloaded
run: ls -lh dist
shell: bash
- name: Upgrade setuptools, pip and wheel
run: python -m pip install -U setuptools pip wheel
- name: Install tox
run: python -m pip install tox
- name: Set up windows environment
if: runner.os == 'Windows'
run: |
"TZ=EST" >> $env:GITHUB_ENV
echo "TZ=EST" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Run tests
run: TZ=EST python -m tox -e "py${PYTHON_VERSION/\./}-ast"
env:
PYTHON_VERSION: ${{ matrix.python-version }}
cloud_provider: ${{ matrix.cloud-provider }}
PYTEST_ADDOPTS: --color=yes --tb=short
TOX_PARALLEL_NO_SPINNER: 1
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
TZ: EST
shell: bash

doctest-ast-phase0:
name: Doctest AST (phase0) py-${{ matrix.os }}-${{ matrix.python-version }}
needs: build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.9"]
cloud-provider: [ aws ]
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Decrypt parameters.py
shell: bash
run: .github/scripts/decrypt_parameters.sh
env:
PARAMETER_PASSWORD: ${{ secrets.PARAMETER_PASSWORD }}
CLOUD_PROVIDER: ${{ matrix.cloud-provider }}
- name: Download wheel(s)
uses: actions/download-artifact@v4
with:
name: wheel
path: dist
- name: Show wheels downloaded
run: ls -lh dist
shell: bash
- name: Upgrade setuptools, pip and wheel
run: python -m pip install -U setuptools pip wheel
- name: Install tox
run: python -m pip install tox
- name: Run doctests for AST (I/II)
run: python -m tox -e "py${PYTHON_VERSION}-doctest-notudf-ci"
env:
PYTHON_VERSION: ${{ matrix.python-version }}
cloud_provider: ${{ matrix.cloud-provider }}
PYTEST_ADDOPTS: --color=yes --tb=short --enable-ast
TOX_PARALLEL_NO_SPINNER: 1
shell: bash

test-ast-phase0:
name: Test AST enabled (phase0) py-${{ matrix.os }}-${{ matrix.python-version }}
needs: build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.9", "3.11" ]
cloud-provider: [ aws ]
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Decrypt parameters.py
shell: bash
run: .github/scripts/decrypt_parameters.sh
env:
PARAMETER_PASSWORD: ${{ secrets.PARAMETER_PASSWORD }}
CLOUD_PROVIDER: ${{ matrix.cloud-provider }}
- name: Download wheel(s)
uses: actions/download-artifact@v4
with:
name: wheel
path: dist
- name: Show wheels downloaded
run: ls -lh dist
shell: bash
- name: Upgrade setuptools, pip and wheel
run: python -m pip install -U setuptools pip wheel
- name: Install tox
run: python -m pip install tox
- name: Run tests for AST (II/II)
run: python -m tox -e "py${PYTHON_VERSION/\./}-notdoctest-ci"
env:
PYTHON_VERSION: ${{ matrix.python-version }}
cloud_provider: ${{ matrix.cloud-provider }}
PYTEST_ADDOPTS: --color=yes --tb=short --enable-ast
TOX_PARALLEL_NO_SPINNER: 1
shell: bash

test-enable-cte-optimization:
name: Test Enable CTE Optimization py-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}
needs: build
Expand Down Expand Up @@ -295,6 +444,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}-enable-cte-optimization
path: |
.tox/.coverage
Expand All @@ -309,7 +459,7 @@ jobs:
matrix:
os: [macos-latest, windows-latest-64-cores, ubuntu-latest-64-cores]
python-version: [ "3.9", "3.10", "3.11" ]
cloud-provider: [aws, azure, gcp]
cloud-provider: [aws, gcp, azure]
exclude:
# only run macos with aws py3.9 for doctest
- os: macos-latest
Expand Down Expand Up @@ -404,6 +554,7 @@ jobs:
SNOWFLAKE_IS_PYTHON_RUNTIME_TEST: 1
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }}-snowpark-pandas-testing
path: |
.tox/.coverage
Expand Down Expand Up @@ -461,6 +612,7 @@ jobs:
shell: bash
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: coverage_modin_extra_without_pandas_extra
path: |
.tox/.coverage
Expand Down Expand Up @@ -512,11 +664,13 @@ jobs:
- name: Publish html coverage
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: overall_cov_html
path: .tox/htmlcov
- name: Publish xml coverage
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: overall_cov_xml
path: .tox/coverage.xml
- uses: codecov/codecov-action@v4
Expand Down Expand Up @@ -556,5 +710,6 @@ jobs:
- name: Upload html files
uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: docs
path: docs/build/html
Loading