From 506da58310306d9c9da1eafdd93e80262adea892 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 29 Nov 2023 11:35:38 -0800 Subject: [PATCH 1/8] Repo caching feature --- .../02-Nov-2023/repo-caching-rn.md | 14 ++++++++++++++ website/snippets/_cloud-environments-info.md | 10 ++++++++++ .../img/docs/deploy/example-repo-caching.png | Bin 0 -> 47561 bytes 3 files changed, 24 insertions(+) create mode 100644 website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md create mode 100644 website/static/img/docs/deploy/example-repo-caching.png diff --git a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md new file mode 100644 index 00000000000..e02fa3fe7b2 --- /dev/null +++ b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md @@ -0,0 +1,14 @@ +--- +title: "New: Support for Git repository caching" +description: "November 2023: New option in dbt Cloud to enable Git repository caching for your job runs." +sidebar_label: "New: Support for Git repository caching" +sidebar_position: 07 +tags: [Nov-2023] +date: 2023-11-29 +--- + +Now available in dbt Cloud is a new option to enable Git repository caching for your job runs. When enabled, it tells dbt Cloud to cache your dbt project's Git repository and to use the cached copy instead if there's an outage with the Git provider. This feature helps improve the reliability and stability of your job runs. + +To learn more, refer to [Repo caching](/docs/deploy/deploy-environments#repo-caching). + + \ No newline at end of file diff --git a/website/snippets/_cloud-environments-info.md b/website/snippets/_cloud-environments-info.md index 0f45c09f2e6..0eaabfd126f 100644 --- a/website/snippets/_cloud-environments-info.md +++ b/website/snippets/_cloud-environments-info.md @@ -34,6 +34,16 @@ Both development and deployment environments have a section called **General Set - If you select a current version with `(latest)` in the name, your environment will automatically install the latest stable version of the minor version selected. ::: +### Repo caching + +At the start of every job run, dbt Cloud clones the project's Git repository so it has the latest versions of the project code and package code. + +For improved reliability and performance on your job runs, you can enable dbt Cloud to keep a cache of the project's Git repository. So, if there's a third-party outage (for example, a GitHub outage) that causes the cloning operation to fail, dbt Cloud will instead use the cached copy of the repository so your jobs can continue running as scheduled. + +To enable Git repository caching, select **Account settings** from the gear menu and enable the **Repository caching** option. + + + ### Custom branch behavior By default, all environments will use the default branch in your repository (usually the `main` branch) when accessing your dbt code. This is overridable within each dbt Cloud Environment using the **Default to a custom branch** option. This setting have will have slightly different behavior depending on the environment type: diff --git a/website/static/img/docs/deploy/example-repo-caching.png b/website/static/img/docs/deploy/example-repo-caching.png new file mode 100644 index 0000000000000000000000000000000000000000..805d845dccb2f9d979a12cbbd43cb79858090685 GIT binary patch literal 47561 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 literal 0 HcmV?d00001 From 31811a560e02d59e9521c962adcc35144b9b825b Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Wed, 29 Nov 2023 12:05:22 -0800 Subject: [PATCH 2/8] Update website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md Co-authored-by: Joel Labes --- .../dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md index e02fa3fe7b2..372bcf8372d 100644 --- a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md +++ b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md @@ -1,6 +1,6 @@ --- title: "New: Support for Git repository caching" -description: "November 2023: New option in dbt Cloud to enable Git repository caching for your job runs." +description: "November 2023: dbt Cloud can cache your project's code (as well as other dbt packages) to ensure runs can begin despite an upstream Git provider's outage." sidebar_label: "New: Support for Git repository caching" sidebar_position: 07 tags: [Nov-2023] From 66b76fe52c19b2f31082af0a1ba6381e45a4d708 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Wed, 29 Nov 2023 12:06:31 -0800 Subject: [PATCH 3/8] Update website/snippets/_cloud-environments-info.md Co-authored-by: Joel Labes --- website/snippets/_cloud-environments-info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_cloud-environments-info.md b/website/snippets/_cloud-environments-info.md index 0eaabfd126f..04989d03f71 100644 --- a/website/snippets/_cloud-environments-info.md +++ b/website/snippets/_cloud-environments-info.md @@ -36,7 +36,7 @@ Both development and deployment environments have a section called **General Set ### Repo caching -At the start of every job run, dbt Cloud clones the project's Git repository so it has the latest versions of the project code and package code. +At the start of every job run, dbt Cloud clones the project's Git repository so it has the latest versions of your project's code and runs `dbt deps` to install your dependencies. For improved reliability and performance on your job runs, you can enable dbt Cloud to keep a cache of the project's Git repository. So, if there's a third-party outage (for example, a GitHub outage) that causes the cloning operation to fail, dbt Cloud will instead use the cached copy of the repository so your jobs can continue running as scheduled. From 4ed31bf59802de68e94791cb04de0003cacb31c1 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 29 Nov 2023 12:17:42 -0800 Subject: [PATCH 4/8] Fold in feedback --- .../02-Nov-2023/{repo-caching-rn.md => repo-caching.md} | 2 +- website/snippets/_cloud-environments-info.md | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) rename website/docs/docs/dbt-versions/release-notes/02-Nov-2023/{repo-caching-rn.md => repo-caching.md} (58%) diff --git a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md similarity index 58% rename from website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md rename to website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md index e02fa3fe7b2..eb2313df59e 100644 --- a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching-rn.md +++ b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md @@ -7,7 +7,7 @@ tags: [Nov-2023] date: 2023-11-29 --- -Now available in dbt Cloud is a new option to enable Git repository caching for your job runs. When enabled, it tells dbt Cloud to cache your dbt project's Git repository and to use the cached copy instead if there's an outage with the Git provider. This feature helps improve the reliability and stability of your job runs. +Now available for dbt Cloud Enterprise plans is a new option to enable Git repository caching for your job runs. When enabled, it tells dbt Cloud to cache your dbt project's Git repository and to use the cached copy instead if there's an outage with the Git provider. This feature helps improve the reliability and stability of your job runs. To learn more, refer to [Repo caching](/docs/deploy/deploy-environments#repo-caching). diff --git a/website/snippets/_cloud-environments-info.md b/website/snippets/_cloud-environments-info.md index 0eaabfd126f..acaeed6b84d 100644 --- a/website/snippets/_cloud-environments-info.md +++ b/website/snippets/_cloud-environments-info.md @@ -34,7 +34,7 @@ Both development and deployment environments have a section called **General Set - If you select a current version with `(latest)` in the name, your environment will automatically install the latest stable version of the minor version selected. ::: -### Repo caching +### Repo caching At the start of every job run, dbt Cloud clones the project's Git repository so it has the latest versions of the project code and package code. @@ -44,6 +44,12 @@ To enable Git repository caching, select **Account settings** from the gear menu +:::note + +This feature is only available on dbt Cloud Enterprise plans. + +::: + ### Custom branch behavior By default, all environments will use the default branch in your repository (usually the `main` branch) when accessing your dbt code. This is overridable within each dbt Cloud Environment using the **Default to a custom branch** option. This setting have will have slightly different behavior depending on the environment type: From ab9738c07dd5ca9f0ee18d2ac14d75e57e7ab9ec Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 29 Nov 2023 12:18:33 -0800 Subject: [PATCH 5/8] Feedback --- website/snippets/_cloud-environments-info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_cloud-environments-info.md b/website/snippets/_cloud-environments-info.md index 84847a36209..5c5c22103c8 100644 --- a/website/snippets/_cloud-environments-info.md +++ b/website/snippets/_cloud-environments-info.md @@ -38,7 +38,7 @@ Both development and deployment environments have a section called **General Set At the start of every job run, dbt Cloud clones the project's Git repository so it has the latest versions of your project's code and runs `dbt deps` to install your dependencies. -For improved reliability and performance on your job runs, you can enable dbt Cloud to keep a cache of the project's Git repository. So, if there's a third-party outage (for example, a GitHub outage) that causes the cloning operation to fail, dbt Cloud will instead use the cached copy of the repository so your jobs can continue running as scheduled. +For improved reliability and performance on your job runs, you can enable dbt Cloud to keep a cache of the project's Git repository. So, if there's a third-party outage that causes the cloning operation to fail, dbt Cloud will instead use the cached copy of the repository so your jobs can continue running as scheduled. To enable Git repository caching, select **Account settings** from the gear menu and enable the **Repository caching** option. From 48467398cb32bd4b03277a6625d6afaee03b7f47 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 29 Nov 2023 12:42:14 -0800 Subject: [PATCH 6/8] DX feedback --- .../dbt-versions/release-notes/02-Nov-2023/repo-caching.md | 2 +- website/snippets/_cloud-environments-info.md | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md index 3ed537ee9b1..09889f84d62 100644 --- a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md +++ b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md @@ -9,6 +9,6 @@ date: 2023-11-29 Now available for dbt Cloud Enterprise plans is a new option to enable Git repository caching for your job runs. When enabled, it tells dbt Cloud to cache your dbt project's Git repository and to use the cached copy instead if there's an outage with the Git provider. This feature helps improve the reliability and stability of your job runs. -To learn more, refer to [Repo caching](/docs/deploy/deploy-environments#repo-caching). +To learn more, refer to [Repo caching](/docs/deploy/deploy-environments#git-repository-caching). \ No newline at end of file diff --git a/website/snippets/_cloud-environments-info.md b/website/snippets/_cloud-environments-info.md index 5c5c22103c8..9384bf9d2de 100644 --- a/website/snippets/_cloud-environments-info.md +++ b/website/snippets/_cloud-environments-info.md @@ -34,11 +34,13 @@ Both development and deployment environments have a section called **General Set - If you select a current version with `(latest)` in the name, your environment will automatically install the latest stable version of the minor version selected. ::: -### Repo caching +### Git repository caching At the start of every job run, dbt Cloud clones the project's Git repository so it has the latest versions of your project's code and runs `dbt deps` to install your dependencies. -For improved reliability and performance on your job runs, you can enable dbt Cloud to keep a cache of the project's Git repository. So, if there's a third-party outage that causes the cloning operation to fail, dbt Cloud will instead use the cached copy of the repository so your jobs can continue running as scheduled. +For improved reliability and performance on your job runs, you can enable dbt Cloud to keep a cache of the project's Git repository. So, if there's a third-party outage that causes the cloning operation to fail, dbt Cloud will instead use the cached copy of the repo so your jobs can continue running as scheduled. + +dbt Cloud caches your project's Git repo after each successful run and retains it for 8 days if there are no repo updates. It caches all packages regardless of installation method and does not fetch code outside of the job runs. To enable Git repository caching, select **Account settings** from the gear menu and enable the **Repository caching** option. From 4ae4cf424e023b001d9f2d3f5fbbe947174fcead Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Wed, 29 Nov 2023 12:46:12 -0800 Subject: [PATCH 7/8] Update website/snippets/_cloud-environments-info.md --- website/snippets/_cloud-environments-info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_cloud-environments-info.md b/website/snippets/_cloud-environments-info.md index 9384bf9d2de..4e1cba64e00 100644 --- a/website/snippets/_cloud-environments-info.md +++ b/website/snippets/_cloud-environments-info.md @@ -48,7 +48,7 @@ To enable Git repository caching, select **Account settings** from the gear menu :::note -This feature is only available on dbt Cloud Enterprise plans. +This feature is only available on the dbt Cloud Enterprise plan. ::: From f5a1c9651d6a83919c1bdbca42426c03f4286ff6 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Wed, 29 Nov 2023 14:28:44 -0800 Subject: [PATCH 8/8] Update website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- .../docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md index 09889f84d62..7c35991e961 100644 --- a/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md +++ b/website/docs/docs/dbt-versions/release-notes/02-Nov-2023/repo-caching.md @@ -7,7 +7,7 @@ tags: [Nov-2023] date: 2023-11-29 --- -Now available for dbt Cloud Enterprise plans is a new option to enable Git repository caching for your job runs. When enabled, it tells dbt Cloud to cache your dbt project's Git repository and to use the cached copy instead if there's an outage with the Git provider. This feature helps improve the reliability and stability of your job runs. +Now available for dbt Cloud Enterprise plans is a new option to enable Git repository caching for your job runs. When enabled, dbt Cloud caches your dbt project's Git repository and uses the cached copy instead if there's an outage with the Git provider. This feature improves the reliability and stability of your job runs. To learn more, refer to [Repo caching](/docs/deploy/deploy-environments#git-repository-caching).