Skip to content

Conversation

@DaniilRoman
Copy link

#822

Here's what it looks like when it passes:

Screenshot 2025-03-03 at 19 08 35

And here's what it looks like when it doesn't pass:

Screenshot 2025-03-03 at 20 08 07

with:
python-version: '3.7'

- name: Cache Poetry
Copy link
Contributor

Choose a reason for hiding this comment

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

This may be problematic as we have gitignore for poetry.lock. In this case, it won't invalid the cache right?

Copy link
Author

@DaniilRoman DaniilRoman Mar 4, 2025

Choose a reason for hiding this comment

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

It's a good point, we need to have poetry.lock in order to cache this properly and we could even use this config cache: 'poetry' of actions/setup-python@v4 GitHub action (here's this docs section).

Without having poetry.lock we can only cache based on pyptoject.toml which doesn't cover transitive dependencies.
I've also thought about generating poetry.lock on CI but for this we need to have poetry first and when we install poetry, it installs dependencies as well - so, it wouldn't work

What about removing poetry.lock from .gitignore and creating it and managing for the future changes? 🤔
Or is it good enough to create a hash key based on myproject.toml instead?

Copy link
Contributor

Choose a reason for hiding this comment

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

Quick check shows it got excluded by #246. @dimas-b / @snazy can you provide more context on why we exclude that?

- name: Check Licenses
working-directory: regtests/client/python
run: |
pip-licenses --partial-match --fail-on="GPL;AGPL;LGPL;SSPL;EPL"
Copy link
Contributor

Choose a reason for hiding this comment

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

@jbonofre can u help review if this rule is sufficient?

@github-actions
Copy link

This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions bot added the Stale label Apr 24, 2025
@github-actions github-actions bot closed this Apr 30, 2025
@github-project-automation github-project-automation bot moved this from PRs In Progress to Done in Basic Kanban Board Apr 30, 2025
HonahX added a commit that referenced this pull request May 23, 2025
Adds CI for python client. It does not include caching poetry step for now since we do not have poetry.lock (it is in .gitignore), see relevant discussion in: #1102 (comment), #1096 (comment), we can add that later
snazy added a commit to snazy/polaris that referenced this pull request Jun 13, 2025
* fix(nightly-CI): Do not publish snapshots from forks (apache#1635)

Adopt the `Nightly Build` workflow to not (try to) publish every night from forks.

* main: Update dependency io.smallrye.config:smallrye-config-core to v3.13.0 (apache#1637)

* Use echo to print script errors (apache#1648)

* [HOTFIX] QUICKSTART (apache#1646)

The change adds the following to fix Quick start experience : 
[1] ENV variables required by common assets after apache#1522 
[2] New configs required to enable FILE based sources apache#1649

Co-authored-by: singhpk234 <singhpk234@users.noreply.github.com>
Co-authored-by: pjanuario <pjanuario@users.noreply.github.com>

* main: Update dependency gradle to v8.14.1 (apache#1652)

* main: Update dependency gradle to v8.14.1

* Re-adopt PR to the project's needs

---------

Co-authored-by: Robert Stupp <snazy@snazy.de>

* [Policy Store] Add policyTypeCode to Slice/Index for Future Filtering Support and Update Policy Persistence Method (apache#1628)

This PR adds policyTypeCode to the in-memory tree map store's slice and the SQL index on policy_mapping_records (already done in JDBC in apache#1468). This prepares for future features that need to filter efficiently by policy type, like listing all entities with a data compaction policy.

It also updates the loadAllTargetsOnPolicy method to accept policyTypeCode, enabling it to use the new index for better performance.

* fix(test): Do not let some more tests spam `/tmp` (apache#1651)

* fix(test): Do not let some more tests not spam `/tmp`

* `PolarisRestCatalogViewFileIntegrationTest`
* `FileIOExceptionsTest`
* `PolarisRestCatalogViewFileIntegrationTest`

Changes the tests to leverage JUnit's `@TempDir`.

Simplifies `PolarisEclipseLinkMetaStoreManagerTest`

* review: rename the (now) abstract class

* fix(testing): Do not let PolarisOverlappingTableTest spam `/tmp` (apache#1641)

Changes the test to leverage JUnit's `@TempDir`.

* Add CATALOG_MANAGE_METADATA to super privilege set of policy attachment privileges (apache#1643)

* Fix quickstart doc with docker compose (apache#1610)

* main: Update dependency boto3 to v1.38.22 (apache#1657)

* Refactor IcebergCatalog to isolate internal state (apache#1659)

Following up on apache#1694

* Restore `private` scope on internal fields in `IcebergCatalog`

* Use a test-only setter instead of sub-classing to manage injecting
  test FileIO implementations

* Refactor: Use per-request STS credentials (apache#1629)

* Refactor: Use per-request STS credentials

No functional changes.

This is mostly to allow more storage integration
flexibility in downstream build.

This might also be useful for non-AWS storage.

* fix and enforce more errorprone checks (apache#1663)

enforces the following checks:
https://errorprone.info/bugpattern/ObjectsHashCodePrimitive
https://errorprone.info/bugpattern/OptionalMapToOptional
https://errorprone.info/bugpattern/StringCharset
https://errorprone.info/bugpattern/VariableNameSameAsType

* Create a wrapper script to generate python client; regenerate the python client (apache#1347)

As noted in apache#755 and elsewhere, the generated types in client/python are currently out of date. This introduces a script to regenerate them and a gradle task to run that script.

I've also run the script, which necessitated several things to get tests passing:

1. There were small nonfunctional spec changes needed in order to keep the Python client working
2. The CLI and its tests required a few fixes to work with the updated Python client
3. Many of the regtests required fixes to work with the updated Python client

* [Python Client] CI for Python client (Continue PR#1096) (apache#1639)

Adds CI for python client. It does not include caching poetry step for now since we do not have poetry.lock (it is in .gitignore), see relevant discussion in: apache#1102 (comment), apache#1096 (comment), we can add that later

* main: Update actions/setup-python action to v5 (apache#1671)

* main: Update actions/checkout action to v4 (apache#1670)

* main: Update python Docker tag to v3.13 (apache#1669)

* main: Update dependency pytest to ~=7.4.4 (apache#1668)

* main: Update dependency software.amazon.awssdk:bom to v2.31.50 (apache#1677)

* main: Update dependency boto3 to v1.38.23 (apache#1667)

* feat(build): make archive builds reproducible (apache#1664)

See https://docs.gradle.org/current/userguide/working_with_files.html#sec:reproducible_archives

* main: Update dependency io.prometheus:prometheus-metrics-exporter-servlet-jakarta to v1.3.8 (apache#1679)

* NoSQL: adapt to change on oss/main

* INFO: Last merged commit: 6ef8b3e

---------

Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: ModEtchFill <50123102+ModEtchFill@users.noreply.github.com>
Co-authored-by: Prashant Singh <35593236+singhpk234@users.noreply.github.com>
Co-authored-by: singhpk234 <singhpk234@users.noreply.github.com>
Co-authored-by: pjanuario <pjanuario@users.noreply.github.com>
Co-authored-by: Honah (Jonas) J. <honahx@apache.org>
Co-authored-by: MonkeyCanCode <yongzheng0809@gmail.com>
Co-authored-by: Dmitri Bourlatchkov <dmitri.bourlatchkov@dremio.com>
Co-authored-by: Dmitri Bourlatchkov <dmitri.bourlatchkov@gmail.com>
Co-authored-by: Christopher Lambert <xn137@gmx.de>
Co-authored-by: Eric Maynard <eric.maynard+oss@snowflake.com>
@MonkeyCanCode
Copy link
Contributor

@DaniilRoman Let us know if u would like to continue the PR above. As we are getting ready to release the python client as distribution, it may be wise to add license check such as the one listed in this PR.
cc @flyrain @eric-maynard @HonahX

@flyrain
Copy link
Contributor

flyrain commented Sep 15, 2025

Agreed with @MonkeyCanCode, we will also need a license file for any third-party python lib/file shipped in the binary distribution.

@MonkeyCanCode
Copy link
Contributor

Agreed with @MonkeyCanCode, we will also need a license file for any third-party python lib/file shipped in the binary distribution.

Here is the sample PR based on the work done in this one: #2580

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants