Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,29 @@ jobs:
print("packages.yml validation passed - using proper package version reference.")
EOF

- name: Validate package-lock.yml has no 'name' fields unsupported in dbt 1.8
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Actually - rethinking this - maybe it's good to add this as a pre-commit step that also fixes this. WDYT?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good idea — a pre-commit hook that auto-strips the name fields would catch this earlier and fix it automatically instead of just failing. I'll add it as a pre-commit hook and keep the release validation as a safety net.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think we can also remove the release validation, not sure it's a must

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done — removed the release validation step. The pre-commit hook now handles it by auto-stripping the name fields.

run: |
python - <<'EOF'
import yaml
import sys

lock_file = "./elementary/monitor/dbt_project/package-lock.yml"
with open(lock_file) as f:
data = yaml.safe_load(f)

packages = data.get("packages", [])
bad_packages = [pkg for pkg in packages if "name" in pkg]

if bad_packages:
names = ", ".join(pkg["name"] for pkg in bad_packages)
print(f"::error::package-lock.yml contains 'name' fields ({names}) which are "
"unsupported in dbt 1.8. Remove the 'name' fields from the lock file "
"or delete it and let dbt regenerate it.")
sys.exit(1)

print("package-lock.yml validation passed - no unsupported 'name' fields found.")
EOF

publish-to-pypi:
needs: validate-packages-yml
runs-on: ubuntu-latest
Expand Down
6 changes: 2 additions & 4 deletions elementary/monitor/dbt_project/package-lock.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
packages:
- name: dbt_utils
package: dbt-labs/dbt_utils
- package: dbt-labs/dbt_utils
version: 0.8.6
- name: elementary
package: elementary-data/elementary
- package: elementary-data/elementary
version: 0.23.0
sha1_hash: 0edc67beba193ced6784779894083b5af00f73ec
7 changes: 5 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "elementary-data"
version = "0.23.0"
version = "0.23.1"
description = "Data monitoring and lineage"
authors = ["Elementary"]
keywords = ["data", "lineage", "data lineage", "data warehouse", "DWH", "observability", "data monitoring", "data observability", "Snowflake", "BigQuery", "Redshift", "data reliability", "analytics engineering"]
Expand Down Expand Up @@ -76,7 +76,10 @@ fabric = ["dbt-fabric"]
fabricspark = ["dbt-fabricspark"]
sqlserver = ["dbt-sqlserver"]
vertica = ["dbt-vertica"]
all = ["dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-clickhouse", "dbt-athena-community", "dbt-trino", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-sqlserver", "dbt-vertica"]
# dbt-fabricspark is excluded due to broken upstream dependencies (azure-cli pre-release pins).
# dbt-vertica is excluded because it pins dbt-core==1.8.5, forcing the entire resolution to dbt 1.8.
# Both are still available as individual extras (e.g. pip install elementary-data[vertica]).
all = ["dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-athena-community", "dbt-trino", "dbt-clickhouse", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-sqlserver"]

[build-system]
requires = ["poetry-core>=1.0.0"]
Expand Down
Loading