Compare commits

...

49 Commits

Author SHA1 Message Date
Quigley Malcolm
e9611bae43 Address Click 8.2+ deprecation warning by using type-checking imports (#12039) (#12310)
Co-authored-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
2025-12-19 19:03:26 -06:00
github-actions[bot]
b6f43e3c60 Pin sqlparse <0.5.5 (#12308) (#12309) 2025-12-19 19:20:46 -05:00
FishtownBuildBot
db3039b582 [Automated] Merged prep-release/1.11.1_20383763538 into target 1.11.latest during release process 2025-12-19 14:16:59 -08:00
Github Build Bot
4ffe90113f Bumping version to 1.11.1 and generate changelog 2025-12-19 22:08:36 +00:00
github-actions[bot]
87d1ace8d7 Bump minimum click to 8.2.0 (#12306) (#12307)
(cherry picked from commit b5852cb5e7)

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
2025-12-19 14:05:57 -08:00
FishtownBuildBot
62f4b62273 [Automated] Merged prep-release/1.11.0_20378895078 into target 1.11.latest during release process 2025-12-19 10:34:10 -08:00
Github Build Bot
2610758da3 Bumping version to 1.11.0 and generate changelog 2025-12-19 18:26:05 +00:00
Emily Rockman
30fdaad7fb move setup_db.sh to scripts, remove test dir (#12273) (#12301)
Co-authored-by: Michelle Ark <MichelleArk@users.noreply.github.com>
2025-12-18 11:14:31 -05:00
FishtownBuildBot
fa1c26be1f [Automated] Merged prep-release/1.11.0rc4_20319358636 into target 1.11.latest during release process 2025-12-17 14:42:52 -08:00
Github Build Bot
d4f32bc31c Bumping version to 1.11.0rc4 and generate changelog 2025-12-17 22:34:46 +00:00
Quigley Malcolm
073e0c3495 Backport 1.11.latest meta_get and meta_require (#12298)
* Implementation of meta_get and meta_require (#12267)

* fix test_config_with_meta_key (#12284)

* Add missing return statement to RuntimeConfigObject.meta_require method (#12294)

---------

Co-authored-by: Gerda Shank <gerda@dbtlabs.com>
Co-authored-by: Michelle Ark <MichelleArk@users.noreply.github.com>
2025-12-17 16:27:33 -06:00
github-actions[bot]
5abcb72861 Resolve ref to prefer package node over root node when parsing package, behind require_ref_searches_node_package_before_root flag (#11366) (#12297) 2025-12-17 16:54:48 -05:00
github-actions[bot]
c9a6157982 Support aliased configs jsonschemas (#12291) (#12292) 2025-12-17 13:13:57 -05:00
Emily Rockman
07f02943cd add -v (#12269) (#12290)
# Conflicts:
#	.github/workflows/main.yml
#	.github/workflows/structured-logging-schema-check.yml
2025-12-17 11:07:20 -05:00
github-actions[bot]
f38ed9f2fb Propagate exceptions for NodeFinished callbacks in dbtRunner (#12286) (#12287) 2025-12-16 15:14:25 -05:00
github-actions[bot]
3b232f63e2 improve error message clarity when detecting nodes with spaces in name (#12272) (#12276) 2025-12-11 15:44:46 -05:00
FishtownBuildBot
f2059529f9 [Automated] Merged prep-release/1.11.0rc3_20046739321 into target 1.11.latest during release process 2025-12-08 15:59:06 -08:00
Github Build Bot
4322ff07ec Bumping version to 1.11.0rc3 and generate changelog 2025-12-08 23:51:04 +00:00
Michelle Ark
4fc9e342f1 set version to 1.11.0rc2 on 1.11.latest (#12260) 2025-12-08 15:46:57 -08:00
github-actions[bot]
877f092f00 set unit test config.enabled to False if it is testing a disabled model (#12251) (#12259) 2025-12-08 14:04:19 -08:00
Emily Rockman
a55663d8b9 Move to hatch for build tooling (#12192) (#12257)
* initial hatch implmentation

* cleanup docs

* replacing makefile

* cleanup hatch commands to match adapters

reorganize more to match adapters setup

script comment

dont pip install

fix test commands

* changelog

improve changelog

* CI fix

* fix for env

* use a standard version file

* remove odd license logic

* fix bumpversion

* remove sha input

* more cleanup

* fix legacy build path

* define version for pyproject.toml

* use hatch hook for license

* remove tox

* ensure tests are split

* remove temp file for testing

* explicitly match old verion in pyproject.toml

* fix up testing

* get rid of bumpversion

* put dev_dependencies.txtin hatch

* setup.py is now dead

* set python version for local dev

* local dev fixes

* temp script to compare wheels

* parity with existing wheel builds

* Revert "temp script to compare wheels"

This reverts commit c31417a092.

* fix docker test file
# Conflicts:
#	.bumpversion.cfg
#	core/pyproject.toml
2025-12-08 10:26:09 -05:00
github-actions[bot]
6fe01dd05b Improve --add-package duplicate detection (#12239) (#12252)
* optimize name matches

* changelog

* Apply suggestion from @emmyoop

(cherry picked from commit ee7ecdc29f)

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-12-03 13:35:45 -05:00
Michelle Ark
c17532f497 Fix partial parsing bug with singular tests (#12224) (#12247) 2025-12-02 16:17:37 -05:00
github-actions[bot]
c54f43986c Turn on jsonschema-based deprecations by default, based on adapter support (#12240) (#12245) 2025-12-02 15:35:53 -05:00
github-actions[bot]
e20863c036 avoid raising custom-key-in-config-deprecation for pre/post-hook model SQL config validation (#12244) (#12246) 2025-12-02 15:01:45 -05:00
github-actions[bot]
fae47a6dce stop excluding the core team from changelogs (#12241) (#12242)
(cherry picked from commit 62a8ea05a6)

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-12-02 11:02:45 -05:00
FishtownBuildBot
58391c8506 [Automated] Merged prep-release/1.11.0rc2_19836440043 into target 1.11.latest during release process 2025-12-01 16:01:40 -05:00
Github Build Bot
53e9454c9b Bumping version to 1.11.0rc2 and generate changelog 2025-12-01 20:28:49 +00:00
github-actions[bot]
07ad7aeeb5 [Backport 1.11.latest] Add exception when using --state and referring to a removed test (#12206) 2025-12-01 14:58:55 -05:00
github-actions[bot]
7a792f5bc8 Support unit testing models that depend on source with the same name (#12220) (#12229) 2025-12-01 14:37:26 -05:00
github-actions[bot]
0fae291191 stop codecov CI checks (#12235) (#12237)
(cherry picked from commit 3de0160b00)

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-12-01 14:04:29 -05:00
github-actions[bot]
9deae6ab8b Fix --add-package when warn-unpinned: false present (#12233) (#12236)
* add tests

fix tests

* deal with bool

* fix bug

* changelog

(cherry picked from commit c559848044)

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-12-01 13:33:55 -05:00
github-actions[bot]
f30e2f65c9 Correctly reference foreign key references when deferring (#12199) (#12205) 2025-12-01 13:02:26 -05:00
github-actions[bot]
6bb8100a02 Avoid retrying successful run operation (#12227) (#12230) 2025-12-01 12:25:06 -05:00
github-actions[bot]
a318d9f3d7 Fix stack traces shown for incompatible package version errors (#12218) (#12225)
* add test, fix exception hierarchy

* changelog

(cherry picked from commit 94b69b1578)

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-11-28 12:45:28 -05:00
Emily Rockman
ce2cd04019 Fix: Data type size/precision/scale changes incorrectly flagged as breaking for versioned models (#12219) (#12226)
* add failing test

* deal with precision

partition

* changelog

* accoutn for case sensitivity

* better testing
# Conflicts:
#	tests/functional/defer_state/fixtures.py
2025-11-28 10:48:53 -05:00
github-actions[bot]
b85794a0dc Allow dbt deps to run when vars lack defaults in dbt_project.yml (#12171) (#12222) 2025-11-27 17:52:22 -06:00
Quigley Malcolm
f619002fa6 Fix generation of deprecations summary (#12202) (#12210)
Co-authored-by: Andrey Siunov <asiunov@users.noreply.github.com>
2025-11-26 09:46:45 -06:00
github-actions[bot]
4db02533d6 Stop emitting NoNodesForSelectionCriteria three times during build command (#12204) (#12207)
* Add test checking that `NoNodesForSelectionCriteria` is only fired once per invocation

* Stop emitting `NoNodesForSelectionCriteria` three times during `build` command

* update changelog

---------


(cherry picked from commit bca2211246)

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
Co-authored-by: Michelle Ark <MichelleArk@users.noreply.github.com>
2025-11-25 13:57:14 -06:00
github-actions[bot]
0723c5ecb3 Partial Parsing support for function nodes (#12074) (#12201)
* Explicitly support functions during partial parsing

* Emit a `Note` event when partial parsing is skipped due to there being no changes

* Begin testing partial parsing support of function nodes

* Add changie doc

* Move test_pp_functions to use `EventCatcher` from dbt-common

* Remove from `functions` instead of `nodes` during partial parsing function deletion

* Fix the partial parsing scheduling of function sql and yaml files

Previously we were treating the partial parsing scheduling of function
files as if they were only defined by YAML files. However functions consist
of a "raw code file" (typically a .sql file) and a YAML file. We needed
to update the the deletion handling + scheduling of functions during partial
parsing to act more similar to "mssat" files in order to achieve this.
This work was primarily done agentically, but then simplified by myself
afterwards.

* Test that changing the alias of a function doesn't require reparsing of the downstream nodes that reference it

(cherry picked from commit cb7c4a7dce)

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
2025-11-24 17:49:11 -06:00
github-actions[bot]
829b8b2161 Ensure schemas of function nodes are created when in DAG during build command (#12198) (#12200)
* Add test to check that functions with not default schemas get their schemas created

* Ensure schemas of function nodes are created when in DAG during `build` command

* Add changie doc for function schema bug fix

(cherry picked from commit 5555a3dd25)

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
2025-11-24 16:55:03 -06:00
github-actions[bot]
51c89d67b3 restore DuplicateResourceNameError exception within a package (#12183) (#12196) 2025-11-24 17:08:10 -05:00
github-actions[bot]
e6a608cd6c Fix bug function wasn't specifiable with --exlcude-resource-type flag (#12187) (#12197)
(cherry picked from commit b2ff6ab5a7)

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
2025-11-24 15:34:44 -06:00
github-actions[bot]
163674685f update jsonschemas (#12180) (#12186) 2025-11-19 14:09:58 -05:00
FishtownBuildBot
87d2d87737 [Automated] Merged prep-release/1.11.0rc1_19477457257 into target 1.11.latest during release process 2025-11-18 14:23:32 -05:00
Github Build Bot
ee6a69a7c3 Bumping version to 1.11.0rc1 and generate changelog 2025-11-18 18:49:22 +00:00
github-actions[bot]
0d59a3d5a4 Fix 10157: macro composition in unit tests (#12168) (#12182)
(cherry picked from commit f6e0793d00)

Co-authored-by: Michelle Ark <MichelleArk@users.noreply.github.com>
2025-11-18 13:45:13 -05:00
github-actions[bot]
b52eb6f8e7 Support default arguments for udfs (#12175) (#12181)
* Add tests to check parsing of function argument default values

* Begin allowing the specification of `default_value` on function arguments

* Validate that non-default function arguments don't come _after_ default function arguments

* Add changie doc

(cherry picked from commit 811e4ee955)

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
2025-11-18 12:33:53 -06:00
Emily Rockman
8666c83f26 move full workflow into core since no one else uses it 2025-11-18 09:55:58 -05:00
200 changed files with 7350 additions and 3328 deletions

View File

@@ -1,37 +0,0 @@
[bumpversion]
current_version = 1.11.0b4
parse = (?P<major>[\d]+) # major version number
\.(?P<minor>[\d]+) # minor version number
\.(?P<patch>[\d]+) # patch version number
(?P<prerelease> # optional pre-release - ex: a1, b2, rc25
(?P<prekind>a|b|rc) # pre-release type
(?P<num>[\d]+) # pre-release version number
)?
( # optional nightly release indicator
\.(?P<nightly>dev[0-9]+) # ex: .dev02142023
)? # expected matches: `1.15.0`, `1.5.0a11`, `1.5.0a1.dev123`, `1.5.0.dev123457`, expected failures: `1`, `1.5`, `1.5.2-a1`, `text1.5.0`
serialize =
{major}.{minor}.{patch}{prekind}{num}.{nightly}
{major}.{minor}.{patch}.{nightly}
{major}.{minor}.{patch}{prekind}{num}
{major}.{minor}.{patch}
commit = False
tag = False
[bumpversion:part:prekind]
first_value = a
optional_value = final
values =
a
b
rc
final
[bumpversion:part:num]
first_value = 1
[bumpversion:part:nightly]
[bumpversion:file:core/pyproject.toml]
search = version = "{current_version}"
replace = version = "{new_version}"

View File

@@ -1,89 +0,0 @@
## dbt-core 1.11.0-b1 - October 01, 2025
### Features
- Add file_format to catalog integration config ([#11695](https://github.com/dbt-labs/dbt-core/issues/11695))
- 11561 ([#deprecate](https://github.com/dbt-labs/dbt-core/issues/deprecate), [#--models,--model,](https://github.com/dbt-labs/dbt-core/issues/--models,--model,), [#and](https://github.com/dbt-labs/dbt-core/issues/and), [#-m](https://github.com/dbt-labs/dbt-core/issues/-m), [#flags](https://github.com/dbt-labs/dbt-core/issues/flags))
- Update jsonschemas with builtin data test properties and exposure configs in dbt_project.yml for more accurate deprecations ([#11335](https://github.com/dbt-labs/dbt-core/issues/11335))
- Support loaded_at_query and loaded_at_field on source and table configs ([#11659](https://github.com/dbt-labs/dbt-core/issues/11659))
- Begin validating configs from model sql files ([#11727](https://github.com/dbt-labs/dbt-core/issues/11727))
- Deprecate `overrides` property for sources ([#11566](https://github.com/dbt-labs/dbt-core/issues/11566))
- Create constrained namespace for dbt engine env vars ([#11340](https://github.com/dbt-labs/dbt-core/issues/11340))
- Gate jsonschema validations by adapter ([#11680](https://github.com/dbt-labs/dbt-core/issues/11680))
- Deprecate top-level argument properties in generic tests ([#11847](https://github.com/dbt-labs/dbt-core/issues/11847))
- Deprecate {{ modules.itertools }} usage ([#11725](https://github.com/dbt-labs/dbt-core/issues/11725))
- Default require_generic_test_arguments_property flag to True - The 'arguments' property will be parsed as keyword arguments to data tests, if provided ([#11911](https://github.com/dbt-labs/dbt-core/issues/11911))
- Support Nested Key Traversal in dbt ls json output ([#11919](https://github.com/dbt-labs/dbt-core/issues/11919))
- No-op when project-level `quoting.snowflake_ignore_case` is set. ([#11882](https://github.com/dbt-labs/dbt-core/issues/11882))
- Support UDFs by allowing user definition of `function` nodes ([#11923](https://github.com/dbt-labs/dbt-core/issues/11923))
- Support listing functions via `list` command ([#11967](https://github.com/dbt-labs/dbt-core/issues/11967))
- Support selecting funciton nodes via: name, file path, and resource type ([#11962](https://github.com/dbt-labs/dbt-core/issues/11962), [#11958](https://github.com/dbt-labs/dbt-core/issues/11958), [#11961](https://github.com/dbt-labs/dbt-core/issues/11961))
- Parse catalogs.yml during parse, seed, and test commands ([#12002](https://github.com/dbt-labs/dbt-core/issues/12002))
- Handle creation of function nodes during DAG execution ([#11965](https://github.com/dbt-labs/dbt-core/issues/11965))
- Support configuring model.config.freshness.build_after.updates_on without period or count ([#12019](https://github.com/dbt-labs/dbt-core/issues/12019))
- Add `function` macro to jinja context ([#11972](https://github.com/dbt-labs/dbt-core/issues/11972))
- Adding run_started_at to manifest.json metadata ([#12047](https://github.com/dbt-labs/dbt-core/issues/12047))
- Validate {{ config }} in SQL for models that don't statically parse ([#12046](https://github.com/dbt-labs/dbt-core/issues/12046))
- Add `type` property to `function` nodes ([#12042](https://github.com/dbt-labs/dbt-core/issues/12042), [#12037](https://github.com/dbt-labs/dbt-core/issues/12037))
### Fixes
- Don't warn for metricflow_time_spine with non-day grain ([#11690](https://github.com/dbt-labs/dbt-core/issues/11690))
- Fix source freshness set via config to handle explicit nulls ([#11685](https://github.com/dbt-labs/dbt-core/issues/11685))
- Ensure build_after is present in model freshness in parsing, otherwise skip freshness definition ([#11709](https://github.com/dbt-labs/dbt-core/issues/11709))
- Ensure source node `.freshness` is equal to node's `.config.freshness` ([#11717](https://github.com/dbt-labs/dbt-core/issues/11717))
- ignore invalid model freshness configs in inline model configs ([#11728](https://github.com/dbt-labs/dbt-core/issues/11728))
- Fix store_failures hierarachical config parsing ([#10165](https://github.com/dbt-labs/dbt-core/issues/10165))
- Remove model freshness property support in favor of config level support ([#11713](https://github.com/dbt-labs/dbt-core/issues/11713))
- Bump dbt-common to 1.25.0 to access WarnErrorOptionsV2 ([#11755](https://github.com/dbt-labs/dbt-core/issues/11755))
- ensure consistent casing in column names while processing user unit tests ([#11770](https://github.com/dbt-labs/dbt-core/issues/11770))
- Update jsonschema definitions with nested config defs, cloud info, and dropping source overrides ([#N/A](https://github.com/dbt-labs/dbt-core/issues/N/A))
- Make `GenericJSONSchemaValidationDeprecation` a "preview" deprecation ([#11814](https://github.com/dbt-labs/dbt-core/issues/11814))
- Correct JSONSchema Semantic Layer node issues ([#11818](https://github.com/dbt-labs/dbt-core/issues/11818))
- Improve SL JSONSchema definitions ([#N/A](https://github.com/dbt-labs/dbt-core/issues/N/A))
- raise MissingPlusPrefixDeprecation instead of GenericJSONSchemaValidationDeprecation when config missing plus prefix in dbt_project.yml ([#11826](https://github.com/dbt-labs/dbt-core/issues/11826))
- Propagate config.meta and config.tags to top-level on source nodes ([#11839](https://github.com/dbt-labs/dbt-core/issues/11839))
- Safe handling of malformed config.tags on sources/tables ([#11855](https://github.com/dbt-labs/dbt-core/issues/11855))
- Quoting the event_time field when the configuration says so ([#11858](https://github.com/dbt-labs/dbt-core/issues/11858))
- Raise PropertyMovedToConfigDeprecation instead of CustomTopLevelKeyDeprecation when additional attribute is a valid node config ([#11879](https://github.com/dbt-labs/dbt-core/issues/11879))
- Avoid redundant node patch removal during partial parsing ([#11886](https://github.com/dbt-labs/dbt-core/issues/11886))
- Comply with strict `str` type when `block.contents` is `None` ([#11492](https://github.com/dbt-labs/dbt-core/issues/11492))
- Remove duplicative PropertyMovedToConfigDeprecation for source freshness ([#11880](https://github.com/dbt-labs/dbt-core/issues/11880))
- Add path to MissingArgumentsPropertyInGenericTestDeprecation message ([#11940](https://github.com/dbt-labs/dbt-core/issues/11940))
- Unhide sample mode CLI flag ([#11959](https://github.com/dbt-labs/dbt-core/issues/11959))
- Implement checked_agg_time_dimension_for_simple_metric to satisfy dbt-semantic-interfaces>0.9.0 ([#11998](https://github.com/dbt-labs/dbt-core/issues/11998))
- Propagate column meta/tags from config to tests ([#11984](https://github.com/dbt-labs/dbt-core/issues/11984))
- Skip initial render of loaded_at_query when specified as source or table config ([#11973](https://github.com/dbt-labs/dbt-core/issues/11973))
- Guarantee instantiation result and thread_exception prior to access to avoid thread hangs ([#12013](https://github.com/dbt-labs/dbt-core/issues/12013))
- Fixes a bug in the logic for legacy time spine deprecation warnings. ([#11690](https://github.com/dbt-labs/dbt-core/issues/11690))
- Fix errors in partial parsing when working with versioned models ([#11869](https://github.com/dbt-labs/dbt-core/issues/11869))
### Under the Hood
- Prevent overcounting PropertyMovedToConfigDeprecation for source freshness ([#11660](https://github.com/dbt-labs/dbt-core/issues/11660))
- call adapter.add_catalog_integration during parse_manifest ([#11889](https://github.com/dbt-labs/dbt-core/issues/11889))
- Fix docker os dependency install issue ([#11934](https://github.com/dbt-labs/dbt-core/issues/11934))
- Ensure dbt-core modules aren't importing versioned artifact resources directly ([#11951](https://github.com/dbt-labs/dbt-core/issues/11951))
- Update jsonschemas used for schema-based deprecations ([#11987](https://github.com/dbt-labs/dbt-core/issues/11987))
- Introduce dbt_version-based manifest json upgrade framework to avoid state:modified false positives on minor evolutions ([#12006](https://github.com/dbt-labs/dbt-core/issues/12006))
### Dependencies
- Bump minimum jsonschema version to `4.19.1` ([#11740](https://github.com/dbt-labs/dbt-core/issues/11740))
- Allow for either pydantic v1 and v2 ([#11634](https://github.com/dbt-labs/dbt-core/issues/11634))
- Bump dbt-common minimum to 1.25.1 ([#11789](https://github.com/dbt-labs/dbt-core/issues/11789))
- Upgrade to dbt-semantic-interfaces==0.9.0 for more robust saved query support. ([#11809](https://github.com/dbt-labs/dbt-core/issues/11809))
- upgrade protobuf to 6.0 ([#11916](https://github.com/dbt-labs/dbt-core/issues/11916))
- Bump dbt-adapters minimum to 1.16.5 ([#11932](https://github.com/dbt-labs/dbt-core/issues/11932))
- Bump actions/setup-python from 5 to 6 ([#11993](https://github.com/dbt-labs/dbt-core/issues/11993))
- Loosen dbt-semantic-interfaces lower pin to >=0.9.0 ([#12005](https://github.com/dbt-labs/dbt-core/issues/12005))
### Contributors
- [@aksestok](https://github.com/aksestok) ([#11882](https://github.com/dbt-labs/dbt-core/issues/11882))
- [@aranke](https://github.com/aranke) ([#11660](https://github.com/dbt-labs/dbt-core/issues/11660))
- [@courtneyholcomb](https://github.com/courtneyholcomb) ([#11690](https://github.com/dbt-labs/dbt-core/issues/11690), [#11690](https://github.com/dbt-labs/dbt-core/issues/11690), [#11809](https://github.com/dbt-labs/dbt-core/issues/11809))
- [@michellark](https://github.com/michellark) ([#11987](https://github.com/dbt-labs/dbt-core/issues/11987))
- [@pablomc87](https://github.com/pablomc87) ([#11858](https://github.com/dbt-labs/dbt-core/issues/11858))
- [@peterallenwebb](https://github.com/peterallenwebb) ([#11566](https://github.com/dbt-labs/dbt-core/issues/11566))
- [@trouze](https://github.com/trouze) ([#11919](https://github.com/dbt-labs/dbt-core/issues/11919))
- [@wircho](https://github.com/wircho) ([#11886](https://github.com/dbt-labs/dbt-core/issues/11886), [#11492](https://github.com/dbt-labs/dbt-core/issues/11492))

View File

@@ -1,6 +0,0 @@
## dbt-core 1.11.0-b2 - October 02, 2025
### Fixes
- Fix property names of function nodes (arguments.data_type, returns, returns.data_type) ([#12064](https://github.com/dbt-labs/dbt-core/issues/12064))
- Exclude `functions` from being filtered by `empty` and `event_time` ([#12066](https://github.com/dbt-labs/dbt-core/issues/12066))

View File

@@ -1,10 +0,0 @@
## dbt-core 1.11.0-b3 - October 07, 2025
### Features
- Support function nodes for unit tested models ([#12024](https://github.com/dbt-labs/dbt-core/issues/12024))
### Fixes
- Fix case of successful function status in logs ([#12075](https://github.com/dbt-labs/dbt-core/issues/12075))
- Fix `ref` support in function nodes ([#12076](https://github.com/dbt-labs/dbt-core/issues/12076))

View File

@@ -1,23 +0,0 @@
## dbt-core 1.11.0-b4 - October 28, 2025
### Features
- Allow for the specification of function volatility ([#QMalcolm](https://github.com/dbt-labs/dbt-core/issues/QMalcolm))
- Add python UDF parsing support ([#12043](https://github.com/dbt-labs/dbt-core/issues/12043))
### Fixes
- Move function node `type` into it's config ([#12101](https://github.com/dbt-labs/dbt-core/issues/12101))
- Support setting function node configs from dbt_project.yml ([#12096](https://github.com/dbt-labs/dbt-core/issues/12096))
### Under the Hood
- Reorganize jsonschemas directory structure ([#12121](https://github.com/dbt-labs/dbt-core/issues/12121))
### Dependencies
- Upgrading dbt-semantic-interfaces to 0.10.x ([#None](https://github.com/dbt-labs/dbt-core/issues/None))
### Contributors
- [@12030](https://github.com/12030) ([#QMalcolm](https://github.com/dbt-labs/dbt-core/issues/QMalcolm))
- [@WilliamDee](https://github.com/WilliamDee) ([#None](https://github.com/dbt-labs/dbt-core/issues/None))

151
.changes/1.11.0.md Normal file
View File

@@ -0,0 +1,151 @@
## dbt-core 1.11.0 - December 19, 2025
### Features
- Add file_format to catalog integration config ([#11695](https://github.com/dbt-labs/dbt-core/issues/11695))
- 11561 ([#deprecate](https://github.com/dbt-labs/dbt-core/issues/deprecate), [#--models,--model,](https://github.com/dbt-labs/dbt-core/issues/--models,--model,), [#and](https://github.com/dbt-labs/dbt-core/issues/and), [#-m](https://github.com/dbt-labs/dbt-core/issues/-m), [#flags](https://github.com/dbt-labs/dbt-core/issues/flags))
- Update jsonschemas with builtin data test properties and exposure configs in dbt_project.yml for more accurate deprecations ([#11335](https://github.com/dbt-labs/dbt-core/issues/11335))
- Support loaded_at_query and loaded_at_field on source and table configs ([#11659](https://github.com/dbt-labs/dbt-core/issues/11659))
- Begin validating configs from model sql files ([#11727](https://github.com/dbt-labs/dbt-core/issues/11727))
- Deprecate `overrides` property for sources ([#11566](https://github.com/dbt-labs/dbt-core/issues/11566))
- Create constrained namespace for dbt engine env vars ([#11340](https://github.com/dbt-labs/dbt-core/issues/11340))
- Gate jsonschema validations by adapter ([#11680](https://github.com/dbt-labs/dbt-core/issues/11680))
- Deprecate top-level argument properties in generic tests ([#11847](https://github.com/dbt-labs/dbt-core/issues/11847))
- Deprecate {{ modules.itertools }} usage ([#11725](https://github.com/dbt-labs/dbt-core/issues/11725))
- Default require_generic_test_arguments_property flag to True - The 'arguments' property will be parsed as keyword arguments to data tests, if provided ([#11911](https://github.com/dbt-labs/dbt-core/issues/11911))
- Support Nested Key Traversal in dbt ls json output ([#11919](https://github.com/dbt-labs/dbt-core/issues/11919))
- No-op when project-level `quoting.snowflake_ignore_case` is set. ([#11882](https://github.com/dbt-labs/dbt-core/issues/11882))
- Support UDFs by allowing user definition of `function` nodes ([#11923](https://github.com/dbt-labs/dbt-core/issues/11923))
- Support listing functions via `list` command ([#11967](https://github.com/dbt-labs/dbt-core/issues/11967))
- Support selecting funciton nodes via: name, file path, and resource type ([#11962](https://github.com/dbt-labs/dbt-core/issues/11962), [#11958](https://github.com/dbt-labs/dbt-core/issues/11958), [#11961](https://github.com/dbt-labs/dbt-core/issues/11961))
- Parse catalogs.yml during parse, seed, and test commands ([#12002](https://github.com/dbt-labs/dbt-core/issues/12002))
- Handle creation of function nodes during DAG execution ([#11965](https://github.com/dbt-labs/dbt-core/issues/11965))
- Support configuring model.config.freshness.build_after.updates_on without period or count ([#12019](https://github.com/dbt-labs/dbt-core/issues/12019))
- Add `function` macro to jinja context ([#11972](https://github.com/dbt-labs/dbt-core/issues/11972))
- Adding run_started_at to manifest.json metadata ([#12047](https://github.com/dbt-labs/dbt-core/issues/12047))
- Validate {{ config }} in SQL for models that don't statically parse ([#12046](https://github.com/dbt-labs/dbt-core/issues/12046))
- Add `type` property to `function` nodes ([#12042](https://github.com/dbt-labs/dbt-core/issues/12042), [#12037](https://github.com/dbt-labs/dbt-core/issues/12037))
- Support function nodes for unit tested models ([#12024](https://github.com/dbt-labs/dbt-core/issues/12024))
- Support partial parsing for function nodes ([#12072](https://github.com/dbt-labs/dbt-core/issues/12072))
- Allow for the specification of function volatility ([#QMalcolm](https://github.com/dbt-labs/dbt-core/issues/QMalcolm))
- Add python UDF parsing support ([#12043](https://github.com/dbt-labs/dbt-core/issues/12043))
- Allow for defining funciton arguments with default values ([#12044](https://github.com/dbt-labs/dbt-core/issues/12044))
- Raise jsonschema-based deprecation warnings by default ([#12240](https://github.com/dbt-labs/dbt-core/issues/12240))
- :bug: :snowman: Disable unit tests whose model is disabled ([#10540](https://github.com/dbt-labs/dbt-core/issues/10540))
- Implement config.meta_get and config.meta_require ([#12012](https://github.com/dbt-labs/dbt-core/issues/12012))
### Fixes
- Don't warn for metricflow_time_spine with non-day grain ([#11690](https://github.com/dbt-labs/dbt-core/issues/11690))
- Fix source freshness set via config to handle explicit nulls ([#11685](https://github.com/dbt-labs/dbt-core/issues/11685))
- Ensure build_after is present in model freshness in parsing, otherwise skip freshness definition ([#11709](https://github.com/dbt-labs/dbt-core/issues/11709))
- Ensure source node `.freshness` is equal to node's `.config.freshness` ([#11717](https://github.com/dbt-labs/dbt-core/issues/11717))
- ignore invalid model freshness configs in inline model configs ([#11728](https://github.com/dbt-labs/dbt-core/issues/11728))
- Fix store_failures hierarachical config parsing ([#10165](https://github.com/dbt-labs/dbt-core/issues/10165))
- Remove model freshness property support in favor of config level support ([#11713](https://github.com/dbt-labs/dbt-core/issues/11713))
- Bump dbt-common to 1.25.0 to access WarnErrorOptionsV2 ([#11755](https://github.com/dbt-labs/dbt-core/issues/11755))
- ensure consistent casing in column names while processing user unit tests ([#11770](https://github.com/dbt-labs/dbt-core/issues/11770))
- Update jsonschema definitions with nested config defs, cloud info, and dropping source overrides ([#N/A](https://github.com/dbt-labs/dbt-core/issues/N/A))
- Make `GenericJSONSchemaValidationDeprecation` a "preview" deprecation ([#11814](https://github.com/dbt-labs/dbt-core/issues/11814))
- Correct JSONSchema Semantic Layer node issues ([#11818](https://github.com/dbt-labs/dbt-core/issues/11818))
- Improve SL JSONSchema definitions ([#N/A](https://github.com/dbt-labs/dbt-core/issues/N/A))
- raise MissingPlusPrefixDeprecation instead of GenericJSONSchemaValidationDeprecation when config missing plus prefix in dbt_project.yml ([#11826](https://github.com/dbt-labs/dbt-core/issues/11826))
- Propagate config.meta and config.tags to top-level on source nodes ([#11839](https://github.com/dbt-labs/dbt-core/issues/11839))
- Safe handling of malformed config.tags on sources/tables ([#11855](https://github.com/dbt-labs/dbt-core/issues/11855))
- Quoting the event_time field when the configuration says so ([#11858](https://github.com/dbt-labs/dbt-core/issues/11858))
- Raise PropertyMovedToConfigDeprecation instead of CustomTopLevelKeyDeprecation when additional attribute is a valid node config ([#11879](https://github.com/dbt-labs/dbt-core/issues/11879))
- Avoid redundant node patch removal during partial parsing ([#11886](https://github.com/dbt-labs/dbt-core/issues/11886))
- Comply with strict `str` type when `block.contents` is `None` ([#11492](https://github.com/dbt-labs/dbt-core/issues/11492))
- Remove duplicative PropertyMovedToConfigDeprecation for source freshness ([#11880](https://github.com/dbt-labs/dbt-core/issues/11880))
- Add path to MissingArgumentsPropertyInGenericTestDeprecation message ([#11940](https://github.com/dbt-labs/dbt-core/issues/11940))
- Unhide sample mode CLI flag ([#11959](https://github.com/dbt-labs/dbt-core/issues/11959))
- Implement checked_agg_time_dimension_for_simple_metric to satisfy dbt-semantic-interfaces>0.9.0 ([#11998](https://github.com/dbt-labs/dbt-core/issues/11998))
- Propagate column meta/tags from config to tests ([#11984](https://github.com/dbt-labs/dbt-core/issues/11984))
- Skip initial render of loaded_at_query when specified as source or table config ([#11973](https://github.com/dbt-labs/dbt-core/issues/11973))
- Guarantee instantiation result and thread_exception prior to access to avoid thread hangs ([#12013](https://github.com/dbt-labs/dbt-core/issues/12013))
- Fixes a bug in the logic for legacy time spine deprecation warnings. ([#11690](https://github.com/dbt-labs/dbt-core/issues/11690))
- Fix errors in partial parsing when working with versioned models ([#11869](https://github.com/dbt-labs/dbt-core/issues/11869))
- Fix property names of function nodes (arguments.data_type, returns, returns.data_type) ([#12064](https://github.com/dbt-labs/dbt-core/issues/12064))
- Exclude `functions` from being filtered by `empty` and `event_time` ([#12066](https://github.com/dbt-labs/dbt-core/issues/12066))
- Fix case of successful function status in logs ([#12075](https://github.com/dbt-labs/dbt-core/issues/12075))
- Fix `ref` support in function nodes ([#12076](https://github.com/dbt-labs/dbt-core/issues/12076))
- Move function node `type` into it's config ([#12101](https://github.com/dbt-labs/dbt-core/issues/12101))
- Support setting function node configs from dbt_project.yml ([#12096](https://github.com/dbt-labs/dbt-core/issues/12096))
- Fix parse error when build_after.count set to 0 ([#12136](https://github.com/dbt-labs/dbt-core/issues/12136))
- Stop compiling python udfs like python models ([#12153](https://github.com/dbt-labs/dbt-core/issues/12153))
- For metric names, fix bug allowing hyphens (not allowed in metricflow already), make validation throw ValidationErrors (not ParsingErrors), and add tests. ([#n/a](https://github.com/dbt-labs/dbt-core/issues/n/a))
- Allow dbt deps to run when vars lack defaults in dbt_project.yml ([#8913](https://github.com/dbt-labs/dbt-core/issues/8913))
- Include macros in unit test parsing ([#10157](https://github.com/dbt-labs/dbt-core/issues/10157))
- Restore DuplicateResourceNameError for intra-project node name duplication, behind behavior flag `require_unique_project_resource_names` ([#12152](https://github.com/dbt-labs/dbt-core/issues/12152))
- Allow the usage of `function` with `--exclude-resource-type` flag ([#12143](https://github.com/dbt-labs/dbt-core/issues/12143))
- Fix bug where schemas of functions weren't guaranteed to exist ([#12142](https://github.com/dbt-labs/dbt-core/issues/12142))
- :bug: :snowman: Correctly reference foreign key references when --defer and --state provided ([#11885](https://github.com/dbt-labs/dbt-core/issues/11885))
- Fix generation of deprecations summary ([#12146](https://github.com/dbt-labs/dbt-core/issues/12146))
- :bug: :snowman: Add exception when using --state and referring to a removed test ([#10630](https://github.com/dbt-labs/dbt-core/issues/10630))
- :bug: :snowman: Stop emitting `NoNodesForSelectionCriteria` three times during `build` command ([#11627](https://github.com/dbt-labs/dbt-core/issues/11627))
- :bug: :snowman: Fix long Python stack traces appearing when package dependencies have incompatible version requirements ([#12049](https://github.com/dbt-labs/dbt-core/issues/12049))
- :bug: :snowman: Fixed issue where changing data type size/precision/scale (e.g., varchar(3) to varchar(10)) incorrectly triggered a breaking change error fo ([#11186](https://github.com/dbt-labs/dbt-core/issues/11186))
- :bug: :snowman: Support unit testing models that depend on sources with the same name ([#11975](https://github.com/dbt-labs/dbt-core/issues/11975), [#10433](https://github.com/dbt-labs/dbt-core/issues/10433))
- Fix bug in partial parsing when updating a model with a schema file that is referenced by a singular test ([#12223](https://github.com/dbt-labs/dbt-core/issues/12223))
- :bug: :snowman: Avoid retrying successful run-operation commands ([#11850](https://github.com/dbt-labs/dbt-core/issues/11850))
- :bug: :snowman: Fix `dbt deps --add-package` crash when packages.yml contains `warn-unpinned: false` ([#9104](https://github.com/dbt-labs/dbt-core/issues/9104))
- :bug: :snowman: Improve `dbt deps --add-package` duplicate detection with better cross-source matching and word boundaries ([#12239](https://github.com/dbt-labs/dbt-core/issues/12239))
- :bug: :snowman: Fix false positive deprecation warning of pre/post-hook SQL configs ([#12244](https://github.com/dbt-labs/dbt-core/issues/12244))
- :bug: :snowman: Fix ref resolution within package when duplicate nodes exist, behind require_ref_searches_node_package_before_root behavior change flag ([#11351](https://github.com/dbt-labs/dbt-core/issues/11351))
- Improve error message clarity when detecting nodes with space in name ([#11835](https://github.com/dbt-labs/dbt-core/issues/11835))
- :bug: :snowman:Propagate exceptions for NodeFinished callbacks in dbtRunner ([#11612](https://github.com/dbt-labs/dbt-core/issues/11612))
- Adds omitted return statement to RuntimeConfigObject.meta_require method ([#12288](https://github.com/dbt-labs/dbt-core/issues/12288))
- Do not raise deprecation warning when encountering dataset or project configs for bigquery ([#12285](https://github.com/dbt-labs/dbt-core/issues/12285))
### Under the Hood
- Prevent overcounting PropertyMovedToConfigDeprecation for source freshness ([#11660](https://github.com/dbt-labs/dbt-core/issues/11660))
- call adapter.add_catalog_integration during parse_manifest ([#11889](https://github.com/dbt-labs/dbt-core/issues/11889))
- Fix docker os dependency install issue ([#11934](https://github.com/dbt-labs/dbt-core/issues/11934))
- Ensure dbt-core modules aren't importing versioned artifact resources directly ([#11951](https://github.com/dbt-labs/dbt-core/issues/11951))
- Update jsonschemas used for schema-based deprecations ([#11987](https://github.com/dbt-labs/dbt-core/issues/11987))
- Introduce dbt_version-based manifest json upgrade framework to avoid state:modified false positives on minor evolutions ([#12006](https://github.com/dbt-labs/dbt-core/issues/12006))
- Reorganize jsonschemas directory structure ([#12121](https://github.com/dbt-labs/dbt-core/issues/12121))
- add dbt/jsonschemas to manifest.in ([#12126](https://github.com/dbt-labs/dbt-core/issues/12126))
- Move from setup.py to pyproject.toml ([#5696](https://github.com/dbt-labs/dbt-core/issues/5696))
- Fixes issue where config isn't propagated to metric from measure when set as create_metric:True ([#None](https://github.com/dbt-labs/dbt-core/issues/None))
- Support DBT_ENGINE prefix for record-mode env vars ([#12149](https://github.com/dbt-labs/dbt-core/issues/12149))
- Update jsonschemas for schema.yml and dbt_project.yml deprecations ([#12180](https://github.com/dbt-labs/dbt-core/issues/12180))
- Replace setuptools and tox with hatch for build, test, and environment management. ([#12151](https://github.com/dbt-labs/dbt-core/issues/12151))
- Bump lower bound for dbt-common to 1.37.2 ([#12284](https://github.com/dbt-labs/dbt-core/issues/12284))
### Dependencies
- Bump minimum jsonschema version to `4.19.1` ([#11740](https://github.com/dbt-labs/dbt-core/issues/11740))
- Allow for either pydantic v1 and v2 ([#11634](https://github.com/dbt-labs/dbt-core/issues/11634))
- Bump dbt-common minimum to 1.25.1 ([#11789](https://github.com/dbt-labs/dbt-core/issues/11789))
- Upgrade to dbt-semantic-interfaces==0.9.0 for more robust saved query support. ([#11809](https://github.com/dbt-labs/dbt-core/issues/11809))
- upgrade protobuf to 6.0 ([#11916](https://github.com/dbt-labs/dbt-core/issues/11916))
- Bump dbt-adapters minimum to 1.16.5 ([#11932](https://github.com/dbt-labs/dbt-core/issues/11932))
- Bump actions/setup-python from 5 to 6 ([#11993](https://github.com/dbt-labs/dbt-core/issues/11993))
- Loosen dbt-semantic-interfaces lower pin to >=0.9.0 ([#12005](https://github.com/dbt-labs/dbt-core/issues/12005))
- Drop support for python 3.9 ([#12118](https://github.com/dbt-labs/dbt-core/issues/12118))
### Contributors
- [@12030](https://github.com/12030) ([#QMalcolm](https://github.com/dbt-labs/dbt-core/issues/QMalcolm))
- [@3loka](https://github.com/3loka) ([#8913](https://github.com/dbt-labs/dbt-core/issues/8913))
- [@MichelleArk](https://github.com/MichelleArk) ([#11818](https://github.com/dbt-labs/dbt-core/issues/11818))
- [@QMalcolm](https://github.com/QMalcolm) ([#11727](https://github.com/dbt-labs/dbt-core/issues/11727), [#11340](https://github.com/dbt-labs/dbt-core/issues/11340), [#11680](https://github.com/dbt-labs/dbt-core/issues/11680), [#11923](https://github.com/dbt-labs/dbt-core/issues/11923), [#11967](https://github.com/dbt-labs/dbt-core/issues/11967), [#11962](https://github.com/dbt-labs/dbt-core/issues/11962), [#11958](https://github.com/dbt-labs/dbt-core/issues/11958), [#11961](https://github.com/dbt-labs/dbt-core/issues/11961), [#11965](https://github.com/dbt-labs/dbt-core/issues/11965), [#11972](https://github.com/dbt-labs/dbt-core/issues/11972), [#12042](https://github.com/dbt-labs/dbt-core/issues/12042), [#12037](https://github.com/dbt-labs/dbt-core/issues/12037), [#12024](https://github.com/dbt-labs/dbt-core/issues/12024), [#12072](https://github.com/dbt-labs/dbt-core/issues/12072), [#12043](https://github.com/dbt-labs/dbt-core/issues/12043), [#12044](https://github.com/dbt-labs/dbt-core/issues/12044), [#11685](https://github.com/dbt-labs/dbt-core/issues/11685), [#11709](https://github.com/dbt-labs/dbt-core/issues/11709), [#11717](https://github.com/dbt-labs/dbt-core/issues/11717), [#11713](https://github.com/dbt-labs/dbt-core/issues/11713), [#N/A](https://github.com/dbt-labs/dbt-core/issues/N/A), [#11814](https://github.com/dbt-labs/dbt-core/issues/11814), [#N/A](https://github.com/dbt-labs/dbt-core/issues/N/A), [#11959](https://github.com/dbt-labs/dbt-core/issues/11959), [#12064](https://github.com/dbt-labs/dbt-core/issues/12064), [#12066](https://github.com/dbt-labs/dbt-core/issues/12066), [#12075](https://github.com/dbt-labs/dbt-core/issues/12075), [#12076](https://github.com/dbt-labs/dbt-core/issues/12076), [#12101](https://github.com/dbt-labs/dbt-core/issues/12101), [#12096](https://github.com/dbt-labs/dbt-core/issues/12096), [#12153](https://github.com/dbt-labs/dbt-core/issues/12153), [#12143](https://github.com/dbt-labs/dbt-core/issues/12143), [#12142](https://github.com/dbt-labs/dbt-core/issues/12142), [#11627](https://github.com/dbt-labs/dbt-core/issues/11627), [#11934](https://github.com/dbt-labs/dbt-core/issues/11934), [#11951](https://github.com/dbt-labs/dbt-core/issues/11951), [#11740](https://github.com/dbt-labs/dbt-core/issues/11740), [#11634](https://github.com/dbt-labs/dbt-core/issues/11634), [#11789](https://github.com/dbt-labs/dbt-core/issues/11789), [#11932](https://github.com/dbt-labs/dbt-core/issues/11932), [#12118](https://github.com/dbt-labs/dbt-core/issues/12118))
- [@WilliamDee](https://github.com/WilliamDee) ([#None](https://github.com/dbt-labs/dbt-core/issues/None))
- [@aksestok](https://github.com/aksestok) ([#11882](https://github.com/dbt-labs/dbt-core/issues/11882))
- [@aranke](https://github.com/aranke) ([#11660](https://github.com/dbt-labs/dbt-core/issues/11660))
- [@asiunov](https://github.com/asiunov) ([#12146](https://github.com/dbt-labs/dbt-core/issues/12146))
- [@colin-rogers-dbt](https://github.com/colin-rogers-dbt) ([#11695](https://github.com/dbt-labs/dbt-core/issues/11695), [#11728](https://github.com/dbt-labs/dbt-core/issues/11728), [#11770](https://github.com/dbt-labs/dbt-core/issues/11770), [#11889](https://github.com/dbt-labs/dbt-core/issues/11889), [#11916](https://github.com/dbt-labs/dbt-core/issues/11916))
- [@courtneyholcomb](https://github.com/courtneyholcomb) ([#11690](https://github.com/dbt-labs/dbt-core/issues/11690), [#11690](https://github.com/dbt-labs/dbt-core/issues/11690), [#11809](https://github.com/dbt-labs/dbt-core/issues/11809))
- [@emmyoop](https://github.com/emmyoop) ([#10630](https://github.com/dbt-labs/dbt-core/issues/10630), [#12049](https://github.com/dbt-labs/dbt-core/issues/12049), [#11186](https://github.com/dbt-labs/dbt-core/issues/11186), [#9104](https://github.com/dbt-labs/dbt-core/issues/9104), [#12239](https://github.com/dbt-labs/dbt-core/issues/12239), [#5696](https://github.com/dbt-labs/dbt-core/issues/5696), [#12151](https://github.com/dbt-labs/dbt-core/issues/12151))
- [@gshank](https://github.com/gshank) ([#12012](https://github.com/dbt-labs/dbt-core/issues/12012), [#11869](https://github.com/dbt-labs/dbt-core/issues/11869))
- [@mattogburke](https://github.com/mattogburke) ([#12223](https://github.com/dbt-labs/dbt-core/issues/12223))
- [@michellark](https://github.com/michellark) ([#11885](https://github.com/dbt-labs/dbt-core/issues/11885), [#11987](https://github.com/dbt-labs/dbt-core/issues/11987))
- [@michelleark](https://github.com/michelleark) ([#deprecate](https://github.com/dbt-labs/dbt-core/issues/deprecate), [#--models,--model,](https://github.com/dbt-labs/dbt-core/issues/--models,--model,), [#and](https://github.com/dbt-labs/dbt-core/issues/and), [#-m](https://github.com/dbt-labs/dbt-core/issues/-m), [#flags](https://github.com/dbt-labs/dbt-core/issues/flags), [#11335](https://github.com/dbt-labs/dbt-core/issues/11335), [#11659](https://github.com/dbt-labs/dbt-core/issues/11659), [#11847](https://github.com/dbt-labs/dbt-core/issues/11847), [#11725](https://github.com/dbt-labs/dbt-core/issues/11725), [#11911](https://github.com/dbt-labs/dbt-core/issues/11911), [#12002](https://github.com/dbt-labs/dbt-core/issues/12002), [#12019](https://github.com/dbt-labs/dbt-core/issues/12019), [#12047](https://github.com/dbt-labs/dbt-core/issues/12047), [#12046](https://github.com/dbt-labs/dbt-core/issues/12046), [#12240](https://github.com/dbt-labs/dbt-core/issues/12240), [#10540](https://github.com/dbt-labs/dbt-core/issues/10540), [#10165](https://github.com/dbt-labs/dbt-core/issues/10165), [#11755](https://github.com/dbt-labs/dbt-core/issues/11755), [#11826](https://github.com/dbt-labs/dbt-core/issues/11826), [#11839](https://github.com/dbt-labs/dbt-core/issues/11839), [#11855](https://github.com/dbt-labs/dbt-core/issues/11855), [#11879](https://github.com/dbt-labs/dbt-core/issues/11879), [#11880](https://github.com/dbt-labs/dbt-core/issues/11880), [#11940](https://github.com/dbt-labs/dbt-core/issues/11940), [#11998](https://github.com/dbt-labs/dbt-core/issues/11998), [#11984](https://github.com/dbt-labs/dbt-core/issues/11984), [#11973](https://github.com/dbt-labs/dbt-core/issues/11973), [#12013](https://github.com/dbt-labs/dbt-core/issues/12013), [#12136](https://github.com/dbt-labs/dbt-core/issues/12136), [#10157](https://github.com/dbt-labs/dbt-core/issues/10157), [#12152](https://github.com/dbt-labs/dbt-core/issues/12152), [#11975](https://github.com/dbt-labs/dbt-core/issues/11975), [#10433](https://github.com/dbt-labs/dbt-core/issues/10433), [#11850](https://github.com/dbt-labs/dbt-core/issues/11850), [#12244](https://github.com/dbt-labs/dbt-core/issues/12244), [#11351](https://github.com/dbt-labs/dbt-core/issues/11351), [#11835](https://github.com/dbt-labs/dbt-core/issues/11835), [#11612](https://github.com/dbt-labs/dbt-core/issues/11612), [#12285](https://github.com/dbt-labs/dbt-core/issues/12285), [#12006](https://github.com/dbt-labs/dbt-core/issues/12006), [#12121](https://github.com/dbt-labs/dbt-core/issues/12121), [#12126](https://github.com/dbt-labs/dbt-core/issues/12126), [#12149](https://github.com/dbt-labs/dbt-core/issues/12149), [#12180](https://github.com/dbt-labs/dbt-core/issues/12180), [#12284](https://github.com/dbt-labs/dbt-core/issues/12284), [#12005](https://github.com/dbt-labs/dbt-core/issues/12005))
- [@mjsqu](https://github.com/mjsqu) ([#12288](https://github.com/dbt-labs/dbt-core/issues/12288))
- [@nathanskone](https://github.com/nathanskone) ([#10157](https://github.com/dbt-labs/dbt-core/issues/10157))
- [@pablomc87](https://github.com/pablomc87) ([#11858](https://github.com/dbt-labs/dbt-core/issues/11858))
- [@peterallenwebb](https://github.com/peterallenwebb) ([#11566](https://github.com/dbt-labs/dbt-core/issues/11566))
- [@theyostalservice](https://github.com/theyostalservice) ([#n/a](https://github.com/dbt-labs/dbt-core/issues/n/a))
- [@trouze](https://github.com/trouze) ([#11919](https://github.com/dbt-labs/dbt-core/issues/11919))
- [@wircho](https://github.com/wircho) ([#11886](https://github.com/dbt-labs/dbt-core/issues/11886), [#11492](https://github.com/dbt-labs/dbt-core/issues/11492))

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Bump minimum jsonschema version to `4.19.1`
time: 2025-06-16T14:44:08.512306-05:00
custom:
Author: QMalcolm
Issue: "11740"

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Allow for either pydantic v1 and v2
time: 2025-06-20T12:36:00.196384-05:00
custom:
Author: QMalcolm
Issue: "11634"

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Bump dbt-common minimum to 1.25.1
time: 2025-07-02T14:47:20.772002-05:00
custom:
Author: QMalcolm
Issue: "11789"

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Upgrade to dbt-semantic-interfaces==0.9.0 for more robust saved query support.
time: 2025-07-09T13:22:13.688162-07:00
custom:
Author: courtneyholcomb
Issue: "11809"

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: upgrade protobuf to 6.0
time: 2025-08-13T14:48:32.380929-07:00
custom:
Author: colin-rogers-dbt
Issue: "11916"

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Bump dbt-adapters minimum to 1.16.5
time: 2025-08-19T08:57:14.396843-05:00
custom:
Author: QMalcolm
Issue: "11932"

View File

@@ -1,6 +0,0 @@
kind: "Dependencies"
body: "Bump actions/setup-python from 5 to 6"
time: 2025-09-08T00:06:55.00000Z
custom:
Author: dependabot[bot]
Issue: 11993

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Loosen dbt-semantic-interfaces lower pin to >=0.9.0
time: 2025-09-11T09:57:31.09927-04:00
custom:
Author: michelleark
Issue: "12005"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add file_format to catalog integration config
time: 2025-05-29T08:53:11.64904-07:00
custom:
Author: colin-rogers-dbt
Issue: "11695"

View File

@@ -1,6 +0,0 @@
kind: Features
body: "11561"
time: 2025-06-11T16:02:17.334525-04:00
custom:
Author: michelleark
Issue: deprecate --models,--model, and -m flags

View File

@@ -1,7 +0,0 @@
kind: Features
body: Update jsonschemas with builtin data test properties and exposure configs in
dbt_project.yml for more accurate deprecations
time: 2025-06-17T14:25:16.976867-04:00
custom:
Author: michelleark
Issue: "11335"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support loaded_at_query and loaded_at_field on source and table configs
time: 2025-06-23T11:31:30.897805-04:00
custom:
Author: michelleark
Issue: "11659"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Begin validating configs from model sql files
time: 2025-06-25T15:18:18.164-05:00
custom:
Author: QMalcolm
Issue: "11727"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Deprecate `overrides` property for sources
time: 2025-07-01T16:49:57.979871-05:00
custom:
Author: peterallenwebb
Issue: "11566"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Create constrained namespace for dbt engine env vars
time: 2025-07-03T17:53:41.406701-05:00
custom:
Author: QMalcolm
Issue: "11340"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Gate jsonschema validations by adapter
time: 2025-07-14T23:25:24.475471-05:00
custom:
Author: QMalcolm
Issue: "11680"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Deprecate top-level argument properties in generic tests
time: 2025-07-21T17:31:00.960402-04:00
custom:
Author: michelleark
Issue: "11847"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Deprecate {{ modules.itertools }} usage
time: 2025-07-28T11:54:43.28275-04:00
custom:
Author: michelleark
Issue: "11725"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Default require_generic_test_arguments_property flag to True - The 'arguments' property will be parsed as keyword arguments to data tests, if provided
time: 2025-08-11T15:03:47.369377+02:00
custom:
Author: michelleark
Issue: "11911"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support Nested Key Traversal in dbt ls json output
time: 2025-08-15T13:14:58.162067-05:00
custom:
Author: trouze
Issue: "11919"

View File

@@ -1,6 +0,0 @@
kind: Features
body: No-op when project-level `quoting.snowflake_ignore_case` is set.
time: 2025-08-21T09:25:32.049328307+02:00
custom:
Author: aksestok
Issue: "11882"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support UDFs by allowing user definition of `function` nodes
time: 2025-08-26T13:27:00.607953-05:00
custom:
Author: QMalcolm
Issue: "11923"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support listing functions via `list` command
time: 2025-08-27T16:34:00.216146-05:00
custom:
Author: QMalcolm
Issue: "11967"

View File

@@ -1,6 +0,0 @@
kind: Features
body: 'Support selecting funciton nodes via: name, file path, and resource type'
time: 2025-08-27T17:31:03.518839-05:00
custom:
Author: QMalcolm
Issue: 11962 11958 11961

View File

@@ -1,6 +0,0 @@
kind: Features
body: Parse catalogs.yml during parse, seed, and test commands
time: 2025-09-10T14:45:54.065327-04:00
custom:
Author: michelleark
Issue: "12002"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Handle creation of function nodes during DAG execution
time: 2025-09-11T11:38:47.780819-07:00
custom:
Author: QMalcolm
Issue: "11965"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support configuring model.config.freshness.build_after.updates_on without period or count
time: 2025-09-17T16:49:41.528385-04:00
custom:
Author: michelleark
Issue: "12019"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add `function` macro to jinja context
time: 2025-09-18T16:58:21.799588-05:00
custom:
Author: QMalcolm
Issue: "11972"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Adding run_started_at to manifest.json metadata
time: 2025-09-24T13:09:23.50087-04:00
custom:
Author: michelleark
Issue: "12047"

View File

@@ -1,6 +0,0 @@
kind: Features
body: 'Validate {{ config }} in SQL for models that don''t statically parse '
time: 2025-09-25T17:16:52.76822-04:00
custom:
Author: michelleark
Issue: "12046"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add `type` property to `function` nodes
time: 2025-09-26T14:03:15.728495-05:00
custom:
Author: QMalcolm
Issue: 12042 12037

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support function nodes for unit tested models
time: 2025-10-02T18:29:11.316884-05:00
custom:
Author: QMalcolm
Issue: "12024"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Allow for the specification of function volatility
time: 2025-10-21T13:57:35.169466-05:00
custom:
Author: "12030"
Issue: QMalcolm

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add python UDF parsing support
time: 2025-10-23T16:58:17.430824-05:00
custom:
Author: QMalcolm
Issue: "12043"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Don't warn for metricflow_time_spine with non-day grain
time: 2025-05-28T09:20:55.866514-07:00
custom:
Author: courtneyholcomb
Issue: "11690"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix source freshness set via config to handle explicit nulls
time: 2025-05-30T00:58:04.94133-05:00
custom:
Author: QMalcolm
Issue: "11685"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: Ensure build_after is present in model freshness in parsing, otherwise skip
freshness definition
time: 2025-06-05T11:06:45.329942-07:00
custom:
Author: QMalcolm
Issue: "11709"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Ensure source node `.freshness` is equal to node's `.config.freshness`
time: 2025-06-09T17:52:39.978403-05:00
custom:
Author: QMalcolm
Issue: "11717"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: ignore invalid model freshness configs in inline model configs
time: 2025-06-10T21:12:41.972614-07:00
custom:
Author: colin-rogers-dbt
Issue: "11728"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix store_failures hierarachical config parsing
time: 2025-06-12T14:51:59.358498-04:00
custom:
Author: michelleark
Issue: "10165"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: "Remove model freshness property support in favor of config level support"
time: 2025-06-16T08:56:00.641553-05:00
custom:
Author: QMalcolm
Issue: "11713"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Bump dbt-common to 1.25.0 to access WarnErrorOptionsV2
time: 2025-06-24T09:12:58.904713-04:00
custom:
Author: michelleark
Issue: "11755"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: ensure consistent casing in column names while processing user unit tests
time: 2025-06-24T15:20:47.589212-07:00
custom:
Author: colin-rogers-dbt
Issue: "11770"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: Update jsonschema definitions with nested config defs, cloud info, and dropping
source overrides
time: 2025-07-07T10:34:18.982725-05:00
custom:
Author: QMalcolm
Issue: N/A

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Make `GenericJSONSchemaValidationDeprecation` a "preview" deprecation
time: 2025-07-10T17:01:48.903582-05:00
custom:
Author: QMalcolm
Issue: "11814"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Correct JSONSchema Semantic Layer node issues
time: 2025-07-11T09:54:39.86192-05:00
custom:
Author: MichelleArk
Issue: "11818"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Improve SL JSONSchema definitions
time: 2025-07-14T12:50:00.3541-05:00
custom:
Author: QMalcolm
Issue: N/A

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: raise MissingPlusPrefixDeprecation instead of GenericJSONSchemaValidationDeprecation when config missing plus prefix in dbt_project.yml
time: 2025-07-14T18:41:31.322137-04:00
custom:
Author: michelleark
Issue: "11826"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Propagate config.meta and config.tags to top-level on source nodes
time: 2025-07-16T16:45:35.683199-04:00
custom:
Author: michelleark
Issue: "11839"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Safe handling of malformed config.tags on sources/tables
time: 2025-07-24T10:44:10.828775-04:00
custom:
Author: michelleark
Issue: "11855"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Quoting the event_time field when the configuration says so
time: 2025-07-25T11:29:03.342884+02:00
custom:
Author: pablomc87
Issue: "11858"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Raise PropertyMovedToConfigDeprecation instead of CustomTopLevelKeyDeprecation when additional attribute is a valid node config
time: 2025-07-31T16:21:42.938703-04:00
custom:
Author: michelleark
Issue: "11879"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Avoid redundant node patch removal during partial parsing
time: 2025-08-04T07:40:06.993913-06:00
custom:
Author: wircho
Issue: "11886"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Comply with strict `str` type when `block.contents` is `None`
time: 2025-08-04T07:42:54.612616-06:00
custom:
Author: wircho
Issue: "11492"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Remove duplicative PropertyMovedToConfigDeprecation for source freshness
time: 2025-08-05T10:43:09.502585-04:00
custom:
Author: michelleark
Issue: "11880"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Add path to MissingArgumentsPropertyInGenericTestDeprecation message
time: 2025-08-20T19:53:39.282829+02:00
custom:
Author: michelleark
Issue: "11940"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Unhide sample mode CLI flag
time: 2025-08-26T14:48:59.685423-05:00
custom:
Author: QMalcolm
Issue: "11959"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Implement checked_agg_time_dimension_for_simple_metric to satisfy dbt-semantic-interfaces>0.9.0
time: 2025-09-09T17:11:32.936696-04:00
custom:
Author: michelleark
Issue: "11998"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Propagate column meta/tags from config to tests
time: 2025-09-10T16:39:05.129379-04:00
custom:
Author: michelleark
Issue: "11984"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Skip initial render of loaded_at_query when specified as source or table config
time: 2025-09-11T17:16:48.843045-04:00
custom:
Author: michelleark
Issue: '11973'

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Guarantee instantiation result and thread_exception prior to access to avoid thread hangs
time: 2025-09-12T14:51:13.355232-04:00
custom:
Author: michelleark
Issue: "12013"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fixes a bug in the logic for legacy time spine deprecation warnings.
time: 2025-09-15T15:22:27.791819-07:00
custom:
Author: courtneyholcomb
Issue: "11690"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix errors in partial parsing when working with versioned models
time: 2025-09-25T21:27:28.591187-04:00
custom:
Author: gshank
Issue: "11869"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix property names of function nodes (arguments.data_type, returns, returns.data_type)
time: 2025-10-02T12:14:27.305546-05:00
custom:
Author: QMalcolm
Issue: "12064"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Exclude `functions` from being filtered by `empty` and `event_time`
time: 2025-10-02T16:06:55.689911-05:00
custom:
Author: QMalcolm
Issue: "12066"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix case of successful function status in logs
time: 2025-10-06T17:35:03.327207-05:00
custom:
Author: QMalcolm
Issue: "12075"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix `ref` support in function nodes
time: 2025-10-06T17:58:13.853195-05:00
custom:
Author: QMalcolm
Issue: "12076"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Move function node `type` into it's config
time: 2025-10-21T14:30:01.07439-05:00
custom:
Author: QMalcolm
Issue: "12101"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Support setting function node configs from dbt_project.yml
time: 2025-10-22T13:25:07.824387-05:00
custom:
Author: QMalcolm
Issue: "12096"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Prevent overcounting PropertyMovedToConfigDeprecation for source freshness
time: 2025-05-27T16:21:36.551426+01:00
custom:
Author: aranke
Issue: "11660"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: call adapter.add_catalog_integration during parse_manifest
time: 2025-08-04T21:13:46.077488-07:00
custom:
Author: colin-rogers-dbt
Issue: "11889"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Fix docker os dependency install issue
time: 2025-08-19T12:34:48.402158-05:00
custom:
Author: QMalcolm
Issue: "11934"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Ensure dbt-core modules aren't importing versioned artifact resources directly
time: 2025-08-22T16:27:52.403177-05:00
custom:
Author: QMalcolm
Issue: "11951"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Update jsonschemas used for schema-based deprecations
time: 2025-09-03T16:18:33.931722-04:00
custom:
Author: michellark
Issue: "11987"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Introduce dbt_version-based manifest json upgrade framework to avoid state:modified false positives on minor evolutions
time: 2025-09-11T11:01:54.180698-04:00
custom:
Author: michelleark
Issue: "12006"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Reorganize jsonschemas directory structure
time: 2025-10-27T17:44:15.440358-04:00
custom:
Author: michelleark
Issue: "12121"

8
.changes/1.11.1.md Normal file
View File

@@ -0,0 +1,8 @@
## dbt-core 1.11.1 - December 19, 2025
### Dependencies
- Bump minimum click to 8.2.0 ([#12305](https://github.com/dbt-labs/dbt-core/issues/12305))
### Contributors
- [@QMalcolm](https://github.com/QMalcolm) ([#12305](https://github.com/dbt-labs/dbt-core/issues/12305))

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Drop support for python 3.9
time: 2025-10-27T16:25:02.435562-05:00
custom:
Author: QMalcolm
Issue: "12118"

View File

@@ -0,0 +1,6 @@
kind: Fixes
body: Address Click 8.2+ deprecation warning
time: 2025-09-22T15:17:26.983151-06:00
custom:
Author: edgarrmondragon
Issue: "12038"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix parse error when build_after.count set to 0
time: 2025-11-03T13:40:34.653439-05:00
custom:
Author: michelleark
Issue: "12136"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Stop compiling python udfs like python models
time: 2025-11-06T16:35:14.735442-06:00
custom:
Author: QMalcolm
Issue: "12153"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: For metric names, fix bug allowing hyphens (not allowed in metricflow already), make validation throw ValidationErrors (not ParsingErrors), and add tests.
time: 2025-11-07T16:05:15.946331-08:00
custom:
Author: theyostalservice
Issue: n/a

View File

@@ -0,0 +1,6 @@
kind: Fixes
body: Pin sqlparse <0.5.5 to avoid max tokens issue
time: 2025-12-19T18:44:05.216329-05:00
custom:
Author: michelleark
Issue: "12303"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: add dbt/jsonschemas to manifest.in
time: 2025-10-28T16:34:13.943289-04:00
custom:
Author: michelleark
Issue: "12126"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Move from setup.py to pyproject.toml
time: 2025-10-29T13:34:50.106244-04:00
custom:
Author: emmyoop
Issue: "5696"

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Fixes issue where config isn't propagated to metric from measure when set as create_metric:True
time: 2025-11-03T00:53:11.354097-05:00
custom:
Author: WilliamDee
Issue: None

View File

@@ -1,6 +0,0 @@
kind: Under the Hood
body: Support DBT_ENGINE prefix for record-mode env vars
time: 2025-11-05T16:50:14.992799-05:00
custom:
Author: michelleark
Issue: "12149"

View File

@@ -41,32 +41,26 @@ newlines:
endOfVersion: 1 endOfVersion: 1
custom: custom:
- key: Author - key: Author
label: GitHub Username(s) (separated by a single space if multiple) label: GitHub Username(s) (separated by a single space if multiple)
type: string type: string
minLength: 3 minLength: 3
- key: Issue - key: Issue
label: GitHub Issue Number (separated by a single space if multiple) label: GitHub Issue Number (separated by a single space if multiple)
type: string type: string
minLength: 1 minLength: 1
footerFormat: | footerFormat: |
{{- $contributorDict := dict }} {{- $contributorDict := dict }}
{{- /* ensure all names in this list are all lowercase for later matching purposes */}} {{- /* ensure we always skip snyk and dependabot */}}
{{- $core_team := splitList " " .Env.CORE_TEAM }} {{- $bots := list "dependabot[bot]" "snyk-bot"}}
{{- /* ensure we always skip snyk and dependabot in addition to the core team */}}
{{- $maintainers := list "dependabot[bot]" "snyk-bot"}}
{{- range $team_member := $core_team }}
{{- $team_member_lower := lower $team_member }}
{{- $maintainers = append $maintainers $team_member_lower }}
{{- end }}
{{- range $change := .Changes }} {{- range $change := .Changes }}
{{- $authorList := splitList " " $change.Custom.Author }} {{- $authorList := splitList " " $change.Custom.Author }}
{{- /* loop through all authors for a single changelog */}} {{- /* loop through all authors for a single changelog */}}
{{- range $author := $authorList }} {{- range $author := $authorList }}
{{- $authorLower := lower $author }} {{- $authorLower := lower $author }}
{{- /* we only want to include non-core team contributors */}} {{- /* we only want to include non-bot contributors */}}
{{- if not (has $authorLower $maintainers)}} {{- if not (has $authorLower $bots)}}
{{- $changeList := splitList " " $change.Custom.Author }} {{- $changeList := splitList " " $change.Custom.Author }}
{{- $IssueList := list }} {{- $IssueList := list }}
{{- $changeLink := $change.Kind }} {{- $changeLink := $change.Kind }}

View File

@@ -10,6 +10,5 @@ ignore =
E704 # makes Flake8 work like black E704 # makes Flake8 work like black
E741 E741
E501 # long line checking is done in black E501 # long line checking is done in black
exclude = test/
per-file-ignores = per-file-ignores =
*/__init__.py: F401 */__init__.py: F401

View File

@@ -1 +1 @@
../../../test/setup_db.sh ../../../scripts/setup_db.sh

View File

@@ -1,25 +1,44 @@
# **what?** # **what?**
# Cuts a new `*.latest` branch # Cuts the `*.latest` branch, bumps dependencies on it, cleans up all files in `.changes/unreleased`
# Also cleans up all files in `.changes/unreleased` and `.changes/previous verion on # and `.changes/previous verion on main and bumps main to the input version.
# `main` and bumps `main` to the input version.
# **why?** # **why?**
# Generally reduces the workload of engineers and reduces error. Allow automation. # Clean up the main branch after a release branch is cut and automate cutting the release branch.
# Generally reduces the workload of engineers and reducing error.
# **when?** # **when?**
# This will run when called manually. # This will run when called manually or when triggered in another workflow.
# Example Usage including required permissions: TODO: update once finalized
# permissions:
# contents: read
# pull-requests: write
#
# name: Cut Release Branch
# jobs:
# changelog:
# uses: dbt-labs/actions/.github/workflows/cut-release-branch.yml@main
# with:
# new_branch_name: 1.7.latest
# PR_title: "Cleanup main after cutting new 1.7.latest branch"
# PR_body: "All adapter PRs will fail CI until the dbt-core PR has been merged due to release version conflicts."
# secrets:
# FISHTOWN_BOT_PAT: ${{ secrets.FISHTOWN_BOT_PAT }}
# TODOs
# add note to eventually commit changes directly and bypass checks - same as release - when we move to this model run test action after merge
name: Cut new release branch name: Cut new release branch
run-name: "Cutting New Branch: ${{ inputs.new_branch_name }}"
on: on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
version_to_bump_main:
description: 'The alpha version main should bump to (ex. 1.6.0a1)'
required: true
new_branch_name: new_branch_name:
description: 'The full name of the new branch (ex. 1.5.latest)' description: "The full name of the new branch (ex. 1.5.latest)"
required: true required: true
type: string
defaults: defaults:
run: run:
@@ -27,15 +46,346 @@ defaults:
permissions: permissions:
contents: write contents: write
pull-requests: write
env:
PYTHON_TARGET_VERSION: "3.10"
PR_TITLE: "Cleanup main after cutting new ${{ inputs.new_branch_name }} branch"
PR_BODY: "All adapter PRs will fail CI until the dbt-core PR has been merged due to release version conflicts."
jobs: jobs:
cut_branch: prep_work:
name: "Cut branch and clean up main for dbt-core" name: "Prep Work"
uses: dbt-labs/actions/.github/workflows/cut-release-branch.yml@main runs-on: ubuntu-latest
with: steps:
version_to_bump_main: ${{ inputs.version_to_bump_main }} - name: "[DEBUG] Print Inputs"
new_branch_name: ${{ inputs.new_branch_name }} run: |
PR_title: "Cleanup main after cutting new ${{ inputs.new_branch_name }} branch" echo "new_branch_name: ${{ inputs.new_branch_name }}"
PR_body: "All adapter PRs will fail CI until the dbt-core PR has been merged due to release version conflicts." echo "PR_title: ${{ env.PR_TITLE }}"
secrets: echo "PR_body: ${{ env.PR_BODY }}"
FISHTOWN_BOT_PAT: ${{ secrets.FISHTOWN_BOT_PAT }}
create_temp_branch:
name: "Create Temp branch off main"
runs-on: ubuntu-latest
outputs:
temp_branch_name: ${{ steps.variables.outputs.BRANCH_NAME }}
steps:
- name: "Set Branch Value"
id: variables
run: |
echo "BRANCH_NAME=cutting_release_branch/main_cleanup_$GITHUB_RUN_ID" >> $GITHUB_OUTPUT
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with:
ref: "main"
token: ${{ secrets.FISHTOWN_BOT_PAT }}
- name: "Create PR Branch"
run: |
user="Github Build Bot"
email="buildbot@fishtownanalytics.com"
git config user.name "$user"
git config user.email "$email"
git checkout -b ${{ steps.variables.outputs.BRANCH_NAME }}
git push --set-upstream origin ${{ steps.variables.outputs.BRANCH_NAME }}
- name: "[Notification] Temp branch created"
run: |
message="Temp branch ${{ steps.variables.outputs.BRANCH_NAME }} created"
echo "::notice title="Temporary branch created": $title::$message"
cleanup_changelog:
name: "Clean Up Changelog"
needs: ["create_temp_branch"]
runs-on: ubuntu-latest
outputs:
next-version: ${{ steps.semver-current.outputs.next-minor-alpha-version }}
steps:
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with:
ref: ${{ needs.create_temp_branch.outputs.temp_branch_name }}
token: ${{ secrets.FISHTOWN_BOT_PAT }}
- name: "Add Homebrew To PATH"
run: |
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
- name: "Install Homebrew Packages"
run: |
brew install pre-commit
brew tap miniscruff/changie https://github.com/miniscruff/changie
brew install changie
- name: "Check Current Version In Code"
id: determine_version
run: |
current_version=$(grep '^version = ' core/pyproject.toml | sed 's/version = "\(.*\)"/\1/')
echo "current_version=$current_version" >> $GITHUB_OUTPUT
- name: "[Notification] Check Current Version In Code"
run: |
message="The current version is ${{ steps.determine_version.outputs.current_version }}"
echo "::notice title="Version Bump Check": $title::$message"
- name: "Parse Current Version Into Parts for Changelog Directories"
id: semver-current
uses: dbt-labs/actions/parse-semver@main
with:
version: ${{ steps.determine_version.outputs.current_version }}
- name: "[Notification] Next Alpha Version"
run: |
message="The next alpha version is ${{ steps.semver-current.outputs.next-minor-alpha-version }}"
echo "::notice title="Version Bump Check": $title::$message"
- name: "Delete Unreleased Changelog YAMLs"
# removal fails if no files exist. OK to continue since we're just cleaning up the files.
continue-on-error: true
run: |
rm .changes/unreleased/*.yaml || true
- name: "Delete Pre Release Changelogs and YAMLs"
# removal fails if no files exist. OK to continue since we're just cleaning up the files.
continue-on-error: true
run: |
rm .changes/${{ steps.semver-current.outputs.base-version }}/*.yaml || true
rm .changes/${{ steps.semver-current.outputs.major }}.${{ steps.semver-current.outputs.minor }}.*.md || true
- name: "Cleanup CHANGELOG.md"
run: |
changie merge
- name: "Commit Changelog Cleanup to Branch"
run: |
user="Github Build Bot"
email="buildbot@fishtownanalytics.com"
git config user.name "$user"
git config user.email "$email"
git status
git add .
git commit -m "Clean up changelog on main"
git push
- name: "[Notification] Changelog cleaned up"
run: |
message="Changelog on ${{ needs.create_temp_branch.outputs.temp_branch_name }} cleaned up"
echo "::notice title="Changelog cleaned up": $title::$message"
bump_version:
name: "Bump to next minor version"
needs: ["cleanup_changelog", "create_temp_branch"]
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with:
ref: ${{ needs.create_temp_branch.outputs.temp_branch_name }}
token: ${{ secrets.FISHTOWN_BOT_PAT }}
- name: "Set up Python - ${{ env.PYTHON_TARGET_VERSION }}"
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # actions/setup-python@v5
with:
python-version: "${{ env.PYTHON_TARGET_VERSION }}"
- name: "Install Spark Dependencies"
if: ${{ contains(github.repository, 'dbt-labs/dbt-spark') }}
run: |
sudo apt-get update
sudo apt-get install libsasl2-dev
- name: "Install Python Dependencies"
run: |
python -m pip install --upgrade pip
python -m pip install hatch
- name: "Bump Version To ${{ needs.cleanup_changelog.outputs.next-version }}"
run: |
cd core
hatch version ${{ needs.cleanup_changelog.outputs.next-version }}
hatch run dev-req
dbt --version
- name: "Commit Version Bump to Branch"
run: |
user="Github Build Bot"
email="buildbot@fishtownanalytics.com"
git config user.name "$user"
git config user.email "$email"
git status
git add .
git commit -m "Bumping version to ${{ needs.cleanup_changelog.outputs.next-version }}"
git push
- name: "[Notification] Version Bump completed"
run: |
message="Version on ${{ needs.create_temp_branch.outputs.temp_branch_name }} bumped to ${{ needs.cleanup_changelog.outputs.next-version }}"
echo "::notice title="Version Bump Completed": $title::$message"
cleanup:
name: "Cleanup Code Quality"
needs: ["create_temp_branch", "bump_version"]
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with:
ref: ${{ needs.create_temp_branch.outputs.temp_branch_name }}
token: ${{ secrets.FISHTOWN_BOT_PAT }}
- name: "Add Homebrew To PATH"
run: |
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
- name: "brew install pre-commit"
run: |
brew install pre-commit
# this step will fail on whitespace errors but also correct them
- name: "Cleanup - Remove Trailing Whitespace Via Pre-commit"
continue-on-error: true
run: |
pre-commit run trailing-whitespace --files CHANGELOG.md .changes/* || true
# this step will fail on newline errors but also correct them
- name: "Cleanup - Remove Extra Newlines Via Pre-commit"
continue-on-error: true
run: |
pre-commit run end-of-file-fixer --files CHANGELOG.md .changes/* || true
- name: "Commit Version Bump to Branch"
run: |
user="Github Build Bot"
email="buildbot@fishtownanalytics.com"
git config user.name "$user"
git config user.email "$email"
git status
git add .
git commit -m "Code quality cleanup"
git push
open_pr:
name: "Open PR Against main"
needs: ["cleanup_changelog", "create_temp_branch", "cleanup"]
runs-on: ubuntu-latest
outputs:
pr_number: ${{ steps.create_pr.outputs.pull-request-number }}
steps:
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with:
ref: ${{ needs.create_temp_branch.outputs.temp_branch_name }}
token: ${{ secrets.FISHTOWN_BOT_PAT }}
- name: "Determine PR Title"
id: pr_title
run: |
echo "pr_title=${{ env.PR_TITLE }}" >> $GITHUB_OUTPUT
if [${{ env.PR_TITLE }} == ""]; then
echo "pr_title='Clean up changelogs and bump to version ${{ needs.cleanup_changelog.outputs.next-version }}'" >> $GITHUB_OUTPUT
fi
- name: "Determine PR Body"
id: pr_body
run: |
echo "pr_body=${{ env.PR_BODY }}" >> $GITHUB_OUTPUT
if [${{ env.PR_BODY }} == ""]; then
echo "pr_body='Clean up changelogs and bump to version ${{ needs.cleanup_changelog.outputs.next-version }}'" >> $GITHUB_OUTPUT
fi
- name: "Add Branch Details"
id: pr_body_branch
run: |
branch_details="The workflow that generated this PR also created a new branch: ${{ inputs.new_branch_name }}"
full_body="${{ steps.pr_body.outputs.pr_body }} $branch_details"
echo "pr_full_body=$full_body" >> $GITHUB_OUTPUT
- name: "Open Pull Request"
id: create_pr
run: |
pr_url=$(gh pr create -B main -H ${{ needs.create_temp_branch.outputs.temp_branch_name }} -l "Skip Changelog" -t "${{ steps.pr_title.outputs.pr_title }}" -b "${{ steps.pr_body_branch.outputs.pr_full_body }}")
echo "pr_url=$pr_url" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ secrets.FISHTOWN_BOT_PAT }}
- name: "[Notification] Pull Request Opened"
run: |
message="PR opened at ${{ steps.create_pr.outputs.pr_url }}"
echo "::notice title="Pull Request Opened": $title::$message"
cut_new_branch:
# don't cut the new branch until we're done opening the PR against main
name: "Cut New Branch ${{ inputs.new_branch_name }}"
needs: [open_pr]
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with:
token: ${{ secrets.FISHTOWN_BOT_PAT }}
fetch-depth: 0
- name: "Ensure New Branch Does Not Exist"
id: check_new_branch
run: |
title="Check New Branch Existence"
if git show-ref --quiet ${{ inputs.new_branch_name }}; then
message="Branch ${{ inputs.new_branch_name }} already exists. Exiting."
echo "::error $title::$message"
exit 1
fi
- name: "Create New Release Branch"
run: |
git checkout -b ${{ inputs.new_branch_name }}
- name: "Push up New Branch"
run: |
#Data for commit
user="Github Build Bot"
email="buildbot@fishtownanalytics.com"
git config user.name "$user"
git config user.email "$email"
git push --set-upstream origin ${{ inputs.new_branch_name }}
- name: "[Notification] New branch created"
run: |
message="New branch ${{ inputs.new_branch_name }} created"
echo "::notice title="New branch created": $title::$message"
- name: "Bump dependencies via script"
# This bumps the dependency on dbt-core in the adapters
if: ${{ !contains(github.repository, 'dbt-core') }}
run: |
echo ${{ github.repository }}
echo "running update_dependencies script"
bash ${GITHUB_WORKSPACE}/.github/scripts/update_dependencies.sh ${{ inputs.new_branch_name }}
commit_message="bumping .latest branch variable in update_dependencies.sh to ${{ inputs.new_branch_name }}"
git status
git add .
git commit -m "$commit_message"
git push
- name: "Bump env variable via script"
# bumps the RELEASE_BRANCH variable in nightly-release.yml in adapters
if: ${{ !contains(github.repository, 'dbt-core') }}
run: |
file="./.github/scripts/update_release_branch.sh"
if test -f "$file"; then
echo ${{ github.repository }}
echo "running some script yet to be written now"
bash $file ${{ inputs.new_branch_name }}
commit_message="updating env variable to ${{ inputs.new_branch_name }} in nightly-release.yml"
git status
git add .
git commit -m "$commit_message"
git push
else
echo "no $file seen skipping step"
fi

View File

@@ -54,22 +54,28 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # actions/setup-python@v6 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # actions/setup-python@v6
with: with:
python-version: '3.10' python-version: "3.10"
- name: Install python dependencies - name: Install python dependencies
run: | run: |
python -m pip install --user --upgrade pip python -m pip install --user --upgrade pip
python -m pip --version python -m pip --version
make dev python -m pip install hatch
make dev_req cd core
mypy --version hatch -v run setup
dbt --version
- name: Verify dbt installation
run: |
cd core
hatch run dbt --version
- name: Run pre-commit hooks - name: Run pre-commit hooks
run: pre-commit run --all-files --show-diff-on-failure run: |
cd core
hatch run code-quality
unit: unit:
name: unit test / python ${{ matrix.python-version }} name: "unit test / python ${{ matrix.python-version }}"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 10 timeout-minutes: 10
@@ -77,10 +83,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
python-version: ["3.10", "3.11", "3.12", "3.13" ] python-version: ["3.10", "3.11", "3.12", "3.13"]
env:
TOXENV: "unit"
steps: steps:
- name: Check out the repository - name: Check out the repository
@@ -95,15 +98,15 @@ jobs:
run: | run: |
python -m pip install --user --upgrade pip python -m pip install --user --upgrade pip
python -m pip --version python -m pip --version
python -m pip install tox python -m pip install hatch
tox --version hatch --version
- name: Run unit tests - name: Run unit tests
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # nick-fields/retry@v3 uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # nick-fields/retry@v3
with: with:
timeout_minutes: 10 timeout_minutes: 10
max_attempts: 3 max_attempts: 3
command: tox -e unit command: cd core && hatch -v run ci:unit-tests
- name: Get current date - name: Get current date
if: always() if: always()
@@ -118,6 +121,7 @@ jobs:
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
flags: unit flags: unit
fail_ci_if_error: false
integration-metadata: integration-metadata:
name: integration test metadata generation name: integration test metadata generation
@@ -155,7 +159,7 @@ jobs:
echo "include=${INCLUDE_GROUPS}" >> $GITHUB_OUTPUT echo "include=${INCLUDE_GROUPS}" >> $GITHUB_OUTPUT
integration-postgres: integration-postgres:
name: (${{ matrix.split-group }}) integration test / python ${{ matrix.python-version }} / ${{ matrix.os }} name: "(${{ matrix.split-group }}) integration test / python ${{ matrix.python-version }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
timeout-minutes: 30 timeout-minutes: 30
@@ -164,11 +168,10 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
python-version: [ "3.10", "3.11", "3.12", "3.13" ] python-version: ["3.10", "3.11", "3.12", "3.13"]
os: ["ubuntu-latest"] os: ["ubuntu-latest"]
split-group: ${{ fromJson(needs.integration-metadata.outputs.split-groups) }} split-group: ${{ fromJson(needs.integration-metadata.outputs.split-groups) }}
env: env:
TOXENV: integration
DBT_INVOCATION_ENV: github-actions DBT_INVOCATION_ENV: github-actions
DBT_TEST_USER_1: dbt_test_user_1 DBT_TEST_USER_1: dbt_test_user_1
DBT_TEST_USER_2: dbt_test_user_2 DBT_TEST_USER_2: dbt_test_user_2
@@ -208,7 +211,7 @@ jobs:
- name: Run postgres setup script - name: Run postgres setup script
run: | run: |
./test/setup_db.sh ./scripts/setup_db.sh
env: env:
PGHOST: localhost PGHOST: localhost
PGPORT: 5432 PGPORT: 5432
@@ -218,17 +221,16 @@ jobs:
run: | run: |
python -m pip install --user --upgrade pip python -m pip install --user --upgrade pip
python -m pip --version python -m pip --version
python -m pip install tox python -m pip install hatch
tox --version hatch --version
- name: Run integration tests - name: Run integration tests
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # nick-fields/retry@v3 uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # nick-fields/retry@v3
with: with:
timeout_minutes: 30 timeout_minutes: 30
max_attempts: 3 max_attempts: 3
command: tox -- --ddtrace shell: bash
env: command: cd core && hatch -v run ci:integration-tests -- --ddtrace --splits ${{ env.PYTHON_INTEGRATION_TEST_WORKERS }} --group ${{ matrix.split-group }}
PYTEST_ADDOPTS: ${{ format('--splits {0} --group {1}', env.PYTHON_INTEGRATION_TEST_WORKERS, matrix.split-group) }}
- name: Get current date - name: Get current date
if: always() if: always()
@@ -249,6 +251,7 @@ jobs:
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
flags: integration flags: integration
fail_ci_if_error: false
integration-mac-windows: integration-mac-windows:
name: (${{ matrix.split-group }}) integration test / python ${{ matrix.python-version }} / ${{ matrix.os }} name: (${{ matrix.split-group }}) integration test / python ${{ matrix.python-version }} / ${{ matrix.os }}
@@ -263,7 +266,6 @@ jobs:
# already includes split group and runs mac + windows # already includes split group and runs mac + windows
include: ${{ fromJson(needs.integration-metadata.outputs.include) }} include: ${{ fromJson(needs.integration-metadata.outputs.include) }}
env: env:
TOXENV: integration
DBT_INVOCATION_ENV: github-actions DBT_INVOCATION_ENV: github-actions
DBT_TEST_USER_1: dbt_test_user_1 DBT_TEST_USER_1: dbt_test_user_1
DBT_TEST_USER_2: dbt_test_user_2 DBT_TEST_USER_2: dbt_test_user_2
@@ -290,7 +292,7 @@ jobs:
with: with:
timeout_minutes: 10 timeout_minutes: 10
max_attempts: 3 max_attempts: 3
command: ./test/setup_db.sh command: ./scripts/setup_db.sh
- name: Set up postgres (windows) - name: Set up postgres (windows)
if: runner.os == 'Windows' if: runner.os == 'Windows'
@@ -300,17 +302,16 @@ jobs:
run: | run: |
python -m pip install --user --upgrade pip python -m pip install --user --upgrade pip
python -m pip --version python -m pip --version
python -m pip install tox python -m pip install hatch
tox --version hatch --version
- name: Run integration tests - name: Run integration tests
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # nick-fields/retry@v3 uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # nick-fields/retry@v3
with: with:
timeout_minutes: 30 timeout_minutes: 30
max_attempts: 3 max_attempts: 3
command: tox -- --ddtrace shell: bash
env: command: cd core && hatch -v run ci:integration-tests -- --ddtrace --splits ${{ env.PYTHON_INTEGRATION_TEST_WORKERS }} --group ${{ matrix.split-group }}
PYTEST_ADDOPTS: ${{ format('--splits {0} --group {1}', env.PYTHON_INTEGRATION_TEST_WORKERS, matrix.split-group) }}
- name: Get current date - name: Get current date
if: always() if: always()
@@ -325,12 +326,13 @@ jobs:
name: logs_${{ matrix.python-version }}_${{ matrix.os }}_${{ matrix.split-group }}_${{ steps.date.outputs.date }} name: logs_${{ matrix.python-version }}_${{ matrix.os }}_${{ matrix.split-group }}_${{ steps.date.outputs.date }}
path: ./logs path: ./logs
- name: Upload Integration Test Coverage to Codecov - name: Upload Integration Test Coverage
if: ${{ matrix.python-version == '3.11' }} if: ${{ matrix.python-version == '3.11' }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # codecov/codecov-action@v5 uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # codecov/codecov-action@v5
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
flags: integration flags: integration
fail_ci_if_error: false
integration-report: integration-report:
if: ${{ always() }} if: ${{ always() }}
@@ -361,12 +363,12 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # actions/setup-python@v6 uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # actions/setup-python@v6
with: with:
python-version: '3.10' python-version: "3.10"
- name: Install python dependencies - name: Install python dependencies
run: | run: |
python -m pip install --user --upgrade pip python -m pip install --user --upgrade pip
python -m pip install --upgrade setuptools wheel twine check-wheel-contents python -m pip install --upgrade hatch twine check-wheel-contents
python -m pip --version python -m pip --version
- name: Build distributions - name: Build distributions
@@ -377,25 +379,5 @@ jobs:
- name: Check distribution descriptions - name: Check distribution descriptions
run: | run: |
twine check dist/* cd core
hatch -v run build:check-all
- name: Check wheel contents
run: |
check-wheel-contents dist/*.whl --ignore W007,W008
- name: Install wheel distributions
run: |
find ./dist/*.whl -maxdepth 1 -type f | xargs python -m pip install --force-reinstall --find-links=dist/
- name: Check wheel distributions
run: |
dbt --version
- name: Install source distributions
# ignore dbt-1.0.0, which intentionally raises an error when installed from source
run: |
find ./dist/*.gz -maxdepth 1 -type f | xargs python -m pip install --force-reinstall --find-links=dist/
- name: Check source distributions
run: |
dbt --version

View File

@@ -46,7 +46,7 @@ jobs:
- name: "Get Current Version Number" - name: "Get Current Version Number"
id: version-number-sources id: version-number-sources
run: | run: |
current_version=`awk -F"current_version = " '{print $2}' .bumpversion.cfg | tr '\n' ' '` current_version=$(grep '^version = ' core/dbt/__version__.py | sed 's/version = "\(.*\)"/\1/')
echo "current_version=$current_version" >> $GITHUB_OUTPUT echo "current_version=$current_version" >> $GITHUB_OUTPUT
- name: "Audit Version And Parse Into Parts" - name: "Audit Version And Parse Into Parts"

View File

@@ -22,7 +22,7 @@ on:
target_branch: target_branch:
description: "The branch to check against" description: "The branch to check against"
type: string type: string
default: 'main' default: "main"
required: true required: true
# no special access is needed # no special access is needed
@@ -48,8 +48,8 @@ jobs:
- name: Checkout dbt repo - name: Checkout dbt repo
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4 uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with: with:
path: ${{ env.DBT_REPO_DIRECTORY }} path: ${{ env.DBT_REPO_DIRECTORY }}
ref: ${{ inputs.target_branch }} ref: ${{ inputs.target_branch }}
- name: Check for changes in core/dbt/artifacts - name: Check for changes in core/dbt/artifacts
# https://github.com/marketplace/actions/paths-changes-filter # https://github.com/marketplace/actions/paths-changes-filter
@@ -72,18 +72,16 @@ jobs:
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4 uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
with: with:
repository: dbt-labs/schemas.getdbt.com repository: dbt-labs/schemas.getdbt.com
ref: 'main' ref: "main"
path: ${{ env.SCHEMA_REPO_DIRECTORY }} path: ${{ env.SCHEMA_REPO_DIRECTORY }}
- name: Generate current schema - name: Generate current schema
if: steps.check_artifact_changes.outputs.artifacts_changed == 'true' if: steps.check_artifact_changes.outputs.artifacts_changed == 'true'
run: | run: |
cd ${{ env.DBT_REPO_DIRECTORY }} cd ${{ env.DBT_REPO_DIRECTORY }}/core
python3 -m venv env pip install --upgrade pip hatch
source env/bin/activate hatch run setup
pip install --upgrade pip hatch run json-schema -- --path ${{ env.LATEST_SCHEMA_PATH }}
pip install -r dev-requirements.txt -r editable-requirements.txt
python scripts/collect-artifact-schema.py --path ${{ env.LATEST_SCHEMA_PATH }}
# Copy generated schema files into the schemas.getdbt.com repo # Copy generated schema files into the schemas.getdbt.com repo
# Do a git diff to find any changes # Do a git diff to find any changes
@@ -99,5 +97,5 @@ jobs:
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # actions/upload-artifact@v4 uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # actions/upload-artifact@v4
if: ${{ failure() && steps.check_artifact_changes.outputs.artifacts_changed == 'true' }} if: ${{ failure() && steps.check_artifact_changes.outputs.artifacts_changed == 'true' }}
with: with:
name: 'schema_changes.txt' name: "schema_changes.txt"
path: '${{ env.SCHEMA_DIFF_ARTIFACT }}' path: "${{ env.SCHEMA_DIFF_ARTIFACT }}"

Some files were not shown because too many files have changed in this diff Show More