From cd2d8bff248857cb88068b4a22c160bc2cd081e6 Mon Sep 17 00:00:00 2001 From: Jamie Rodriguez <65564846+fivetran-jamie@users.noreply.github.com> Date: Wed, 18 Jun 2025 14:02:33 -0400 Subject: [PATCH 1/4] copy tiktok --- .../maintainer_pull_request_template.md | 52 +++++++++++-------- CHANGELOG.md | 26 ++++++++++ dbt_project.yml | 2 +- integration_tests/dbt_project.yml | 2 +- models/src_linkedin.yml | 8 +-- 5 files changed, 61 insertions(+), 29 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/maintainer_pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/maintainer_pull_request_template.md index 3220674..99c450c 100644 --- a/.github/PULL_REQUEST_TEMPLATE/maintainer_pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/maintainer_pull_request_template.md @@ -1,29 +1,35 @@ -## PR Overview -**This PR will address the following Issue/Feature:** + +- `dbt run --full-refresh && dbt test` +- `dbt run` && `dbt test` (if incremental models are present) +- The related issue is linked, tagged, and appropriately assigned +- Documentation and version updates are included, if applicable +- `docs` have been regenerated (unless there are no code or YAML changes) +- BuildKite integration tests are passing +--> -**Please provide the finalized CHANGELOG entry which details the relevant changes included in this PR:** - +## PR Overview +**Package version introduced in this PR:** + +**This PR addresses the following Issue/Feature(s):** + -## PR Checklist -### Basic Validation -Please acknowledge that you have successfully performed the following commands locally: -- [ ] dbt run –full-refresh && dbt test -- [ ] dbt run (if incremental models are present) && dbt test +**Summary of changes:** + -Before marking this PR as "ready for review" the following have been applied: -- [ ] The appropriate issue has been linked, tagged, and properly assigned -- [ ] All necessary documentation and version upgrades have been applied -- [ ] docs were regenerated (unless this PR does not include any code or yml updates) -- [ ] BuildKite integration tests are passing -- [ ] Detailed validation steps have been provided below -### Detailed Validation -Please share any and all of your validation steps: - +### Submission Checklist +- [ ] Alignment meeting with the reviewer (if needed) + - [ ] Timeline and validation requirements discussed +- [ ] Provide validation details: + - [ ] **Validation Steps:** Check for unintentional effects (e.g., add/run consistency & integrity tests) + - [ ] **Testing Instructions:** Confirm the change addresses the issue(s) + - [ ] **Focus Areas:** Complex logic or queries that need extra attention -### If you had to summarize this PR in an emoji, which would it be? - -:dancer: \ No newline at end of file +### Changelog + +- [ ] Draft changelog for PR +- [ ] Final changelog for release review \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e21487..eb691ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,31 @@ # dbt_linkedin_source v0.11.0 +[PR #75](https://github.com/fivetran/dbt_linkedin_source/pull/75) includes the following updates: + +## Breaking Change for dbt Core < 1.9.5 +> *Note: This is not relevant to Fivetran Quickstart users.* + +Migrated `freshness` from a top-level source property to a source `config` in alignment with [recent updates](https://github.com/dbt-labs/dbt-core/issues/11506) from dbt Core. This will resolve the following deprecation warning that users running dbt >= 1.9.5 may have received: + +``` +[WARNING]: Deprecated functionality +Found `freshness` as a top-level property of `linkedin_ads` in file +`models/src_linkedin.yml`. The `freshness` top-level property should be moved +into the `config` of `linkedin_ads`. +``` + +**IMPORTANT:** Users running dbt Core < 1.9.5 will not be able to utilize freshness tests in this release or any subsequent releases, as older versions of dbt will not recognize freshness as a source `config` and therefore not run the tests. + +If you are using dbt Core < 1.9.5 and want to continue running Linkedin Ads freshness tests, please elect **one** of the following options: + 1. (Recommended) Upgrade to dbt Core >= 1.9.5 + 2. Do not upgrade your installed version of the `linkedin_source` package. Pin your dependency on v0.11.0 in your `packages.yml` file. + 3. Utilize a dbt [override](https://docs.getdbt.com/reference/resource-properties/overrides) to overwrite the package's `linkedin_ads` source and apply freshness via the [old](https://github.com/fivetran/dbt_linkedin_source/blob/v0.11.0/models/src_linkedin.yml#L10-L12) top-level property route. This will require you to copy and paste the entirety of the `src_linkedin.yml` [file](https://github.com/fivetran/dbt_linkedin_source/blob/v0.11.0/models/src_linkedin.yml#L5-L377) and add an `overrides: linkedin_source` property. + +## Under the Hood +- Updated the package maintainer PR template. + +# dbt_linkedin_source v0.11.0 + [PR #74](https://github.com/fivetran/dbt_linkedin_source/pull/74) includes the following updates: ## Schema Changes diff --git a/dbt_project.yml b/dbt_project.yml index 61ec7b2..7321d35 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,5 +1,5 @@ name: 'linkedin_source' -version: '0.11.0' +version: '0.12.0' config-version: 2 require-dbt-version: [">=1.3.0", "<2.0.0"] models: diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 93b5ac3..8b28964 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -1,5 +1,5 @@ name: 'linkedin_source_integration_tests' -version: '0.11.0' +version: '0.12.0' profile: 'integration_tests' config-version: 2 diff --git a/models/src_linkedin.yml b/models/src_linkedin.yml index b243bdf..a54c925 100644 --- a/models/src_linkedin.yml +++ b/models/src_linkedin.yml @@ -7,12 +7,12 @@ sources: loader: fivetran loaded_at_field: _fivetran_synced - freshness: - warn_after: {count: 48, period: hour} - error_after: {count: 168, period: hour} - + config: enabled: "{{ var('ad_reporting__linkedin_ads_enabled', true) }}" + freshness: + warn_after: {count: 48, period: hour} + error_after: {count: 168, period: hour} tables: - name: ad_analytics_by_creative From bf2d4da3198a97449be65059e00e2e0cce893f3c Mon Sep 17 00:00:00 2001 From: Jamie Rodriguez <65564846+fivetran-jamie@users.noreply.github.com> Date: Wed, 18 Jun 2025 14:21:14 -0400 Subject: [PATCH 2/4] docs --- CHANGELOG.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb691ac..8a1f146 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# dbt_linkedin_source v0.11.0 +# dbt_linkedin_source v0.12.0 [PR #75](https://github.com/fivetran/dbt_linkedin_source/pull/75) includes the following updates: diff --git a/README.md b/README.md index 287e98e..0239ad9 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ If you are **not** using the [Linkedin transformation package](https://github.c # packages.yml packages: - package: fivetran/linkedin_source - version: [">=0.11.0", "<0.12.0"] + version: [">=0.12.0", "<0.13.0"] ``` ### Step 3: Define database and schema variables From 60431ee2a93c24348ce5885cbaf6166d61b0156f Mon Sep 17 00:00:00 2001 From: Jamie Rodriguez <65564846+fivetran-jamie@users.noreply.github.com> Date: Wed, 18 Jun 2025 14:33:06 -0400 Subject: [PATCH 3/4] readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0239ad9..eac3f4e 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ - Materializes [Linkedin Ads Analytics staging tables](https://fivetran.github.io/dbt_linkedin_source/#!/overview/linkedin_source/models/?g_v=1&g_e=seeds) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/linkedin-ads#schemainformation). These staging tables clean, test, and prepare your Linkedin Ads Analytics data from [Fivetran's connector](https://fivetran.com/docs/applications/linkedin-ads) for analysis by doing the following: - Name columns for consistency across all packages and for easier analysis - Adds freshness tests to source data + > dbt Core >= 1.9.5 is required to run freshness tests out of the box. See other options [here](https://github.com/fivetran/dbt_linkedin_source/blob/main/CHANGELOG.md#breaking-change-for-dbt-core--195). - Adds column-level testing where applicable. For example, all primary keys are tested for uniqueness and non-null values. - Generates a comprehensive data dictionary of your Linkedin Ad Analytics data through the [dbt docs site](https://fivetran.github.io/dbt_linkedin_source/). - These tables are designed to work simultaneously with our [Linkedin Ads transformation package](https://github.com/fivetran/dbt_linkedin). From 7cdbd70be97865d41d5e72762b0da8550b54d809 Mon Sep 17 00:00:00 2001 From: Jamie Rodriguez <65564846+fivetran-jamie@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:49:41 -0400 Subject: [PATCH 4/4] replace dbt 1.9.5 with 1.9.6 --- CHANGELOG.md | 10 +++++----- README.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a1f146..ae4fa4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,10 @@ [PR #75](https://github.com/fivetran/dbt_linkedin_source/pull/75) includes the following updates: -## Breaking Change for dbt Core < 1.9.5 +## Breaking Change for dbt Core < 1.9.6 > *Note: This is not relevant to Fivetran Quickstart users.* -Migrated `freshness` from a top-level source property to a source `config` in alignment with [recent updates](https://github.com/dbt-labs/dbt-core/issues/11506) from dbt Core. This will resolve the following deprecation warning that users running dbt >= 1.9.5 may have received: +Migrated `freshness` from a top-level source property to a source `config` in alignment with [recent updates](https://github.com/dbt-labs/dbt-core/issues/11506) from dbt Core. This will resolve the following deprecation warning that users running dbt >= 1.9.6 may have received: ``` [WARNING]: Deprecated functionality @@ -14,10 +14,10 @@ Found `freshness` as a top-level property of `linkedin_ads` in file into the `config` of `linkedin_ads`. ``` -**IMPORTANT:** Users running dbt Core < 1.9.5 will not be able to utilize freshness tests in this release or any subsequent releases, as older versions of dbt will not recognize freshness as a source `config` and therefore not run the tests. +**IMPORTANT:** Users running dbt Core < 1.9.6 will not be able to utilize freshness tests in this release or any subsequent releases, as older versions of dbt will not recognize freshness as a source `config` and therefore not run the tests. -If you are using dbt Core < 1.9.5 and want to continue running Linkedin Ads freshness tests, please elect **one** of the following options: - 1. (Recommended) Upgrade to dbt Core >= 1.9.5 +If you are using dbt Core < 1.9.6 and want to continue running Linkedin Ads freshness tests, please elect **one** of the following options: + 1. (Recommended) Upgrade to dbt Core >= 1.9.6 2. Do not upgrade your installed version of the `linkedin_source` package. Pin your dependency on v0.11.0 in your `packages.yml` file. 3. Utilize a dbt [override](https://docs.getdbt.com/reference/resource-properties/overrides) to overwrite the package's `linkedin_ads` source and apply freshness via the [old](https://github.com/fivetran/dbt_linkedin_source/blob/v0.11.0/models/src_linkedin.yml#L10-L12) top-level property route. This will require you to copy and paste the entirety of the `src_linkedin.yml` [file](https://github.com/fivetran/dbt_linkedin_source/blob/v0.11.0/models/src_linkedin.yml#L5-L377) and add an `overrides: linkedin_source` property. diff --git a/README.md b/README.md index eac3f4e..cf5c7fc 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ - Materializes [Linkedin Ads Analytics staging tables](https://fivetran.github.io/dbt_linkedin_source/#!/overview/linkedin_source/models/?g_v=1&g_e=seeds) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/linkedin-ads#schemainformation). These staging tables clean, test, and prepare your Linkedin Ads Analytics data from [Fivetran's connector](https://fivetran.com/docs/applications/linkedin-ads) for analysis by doing the following: - Name columns for consistency across all packages and for easier analysis - Adds freshness tests to source data - > dbt Core >= 1.9.5 is required to run freshness tests out of the box. See other options [here](https://github.com/fivetran/dbt_linkedin_source/blob/main/CHANGELOG.md#breaking-change-for-dbt-core--195). + > dbt Core >= 1.9.6 is required to run freshness tests out of the box. See other options [here](https://github.com/fivetran/dbt_linkedin_source/blob/main/CHANGELOG.md#breaking-change-for-dbt-core--196). - Adds column-level testing where applicable. For example, all primary keys are tested for uniqueness and non-null values. - Generates a comprehensive data dictionary of your Linkedin Ad Analytics data through the [dbt docs site](https://fivetran.github.io/dbt_linkedin_source/). - These tables are designed to work simultaneously with our [Linkedin Ads transformation package](https://github.com/fivetran/dbt_linkedin).