<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Behavior of the Databricks Asset Bundle using Github Actions in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/behavior-of-the-databricks-asset-bundle-using-github-actions/m-p/151048#M53566</link>
    <description>&lt;P&gt;You’re right that everything is ephemeral on the GitHub runner, but that does not mean “full redeploy from scratch” every time in the workspace. The .databricks directory is local state + cache, and the real, durable state lives in the Databricks workspace (in the bundle’s state_path).&lt;/P&gt;&lt;P&gt;What the .databricks directory actually is&lt;BR /&gt;On each databricks bundle deploy the CLI creates a .databricks/ folder next to your databricks.yml that holds things like:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Rendered bundle config (all variables, target overrides, includes resolved).&lt;/LI&gt;&lt;LI&gt;Local representation of what was last deployed (resource IDs, mapping between logical names and workspace objects).&lt;/LI&gt;&lt;LI&gt;Some caches for faster subsequent commands on the same machine.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;That directory is only for the CLI process on that machine. It is not the authoritative “truth” of your deployment.&lt;/P&gt;&lt;P&gt;Where the real state lives&lt;BR /&gt;In your databricks.yml, under workspace, you have a state_path (or it defaults under workspace.root_path). For example:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;workspace:
  root_path: /Shared/bundles/my_project
  state_path: /Shared/bundles/my_project/.state&lt;/LI-CODE&gt;&lt;P class=""&gt;Databricks stores bundle state in the workspace under that path (jobs, pipelines, IDs, checksums etc.).&lt;BR /&gt;When you run&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;databricks bundle deploy&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;again&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(even from a fresh VM), the CLI:&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;P class=""&gt;Reads your local bundle definition (databricks.yml&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;+ included files).&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P class=""&gt;Reads the previous state from the workspace&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;state_path.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P class=""&gt;Computes a diff and applies only what changed (create/update/delete resources incrementally).&lt;SPAN class=""&gt;​&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;So the incremental behavior depends on the workspace state, not on the GitHub runner’s&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;.databricks&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;directory.&lt;/P&gt;</description>
    <pubDate>Mon, 16 Mar 2026 12:40:31 GMT</pubDate>
    <dc:creator>Pat</dc:creator>
    <dc:date>2026-03-16T12:40:31Z</dc:date>
    <item>
      <title>Behavior of the Databricks Asset Bundle using Github Actions</title>
      <link>https://community.databricks.com/t5/data-engineering/behavior-of-the-databricks-asset-bundle-using-github-actions/m-p/151006#M53560</link>
      <description>&lt;P&gt;Hi everyone, I am new in the Databricks Asset Bundles world, so I need to understand how the&amp;nbsp;&lt;STRONG&gt;.databricks&lt;/STRONG&gt; directory&amp;nbsp;works&lt;/P&gt;&lt;P&gt;1. I know that it is created when the &lt;STRONG&gt;databricks bundle deploy&lt;/STRONG&gt; command is executed, and which is a place where metadata and the current state of a project is saved.&lt;/P&gt;&lt;P&gt;2.When I deploy using GitHub Actions, a GitHub virtual machine is enabled. This virtual machine clones the repository and executes the databricks command, &lt;STRONG&gt;which creates the .databricks directory locally&lt;/STRONG&gt;, which now contains the current state of the deployed project. However, when the GitHub workflow finishes, &lt;STRONG&gt;everything is removed from the virtual machine&lt;/STRONG&gt;, including the &lt;STRONG&gt;.databricks directory&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;3. So, when I commit some updates to the repository and then deploy them with GitHub Actions, since the &lt;STRONG&gt;.databricks directory doesn't exist&lt;/STRONG&gt; because the state of the VM is new, &lt;STRONG&gt;are the bundles deployed again&lt;/STRONG&gt;? Is that how it works?, how I can update only the bundles instead re-deploy all?&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2026 04:18:04 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/behavior-of-the-databricks-asset-bundle-using-github-actions/m-p/151006#M53560</guid>
      <dc:creator>Nmtc9to5</dc:creator>
      <dc:date>2026-03-16T04:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: Behavior of the Databricks Asset Bundle using Github Actions</title>
      <link>https://community.databricks.com/t5/data-engineering/behavior-of-the-databricks-asset-bundle-using-github-actions/m-p/151048#M53566</link>
      <description>&lt;P&gt;You’re right that everything is ephemeral on the GitHub runner, but that does not mean “full redeploy from scratch” every time in the workspace. The .databricks directory is local state + cache, and the real, durable state lives in the Databricks workspace (in the bundle’s state_path).&lt;/P&gt;&lt;P&gt;What the .databricks directory actually is&lt;BR /&gt;On each databricks bundle deploy the CLI creates a .databricks/ folder next to your databricks.yml that holds things like:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Rendered bundle config (all variables, target overrides, includes resolved).&lt;/LI&gt;&lt;LI&gt;Local representation of what was last deployed (resource IDs, mapping between logical names and workspace objects).&lt;/LI&gt;&lt;LI&gt;Some caches for faster subsequent commands on the same machine.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;That directory is only for the CLI process on that machine. It is not the authoritative “truth” of your deployment.&lt;/P&gt;&lt;P&gt;Where the real state lives&lt;BR /&gt;In your databricks.yml, under workspace, you have a state_path (or it defaults under workspace.root_path). For example:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;workspace:
  root_path: /Shared/bundles/my_project
  state_path: /Shared/bundles/my_project/.state&lt;/LI-CODE&gt;&lt;P class=""&gt;Databricks stores bundle state in the workspace under that path (jobs, pipelines, IDs, checksums etc.).&lt;BR /&gt;When you run&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;databricks bundle deploy&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;again&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(even from a fresh VM), the CLI:&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;P class=""&gt;Reads your local bundle definition (databricks.yml&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;+ included files).&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P class=""&gt;Reads the previous state from the workspace&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;state_path.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P class=""&gt;Computes a diff and applies only what changed (create/update/delete resources incrementally).&lt;SPAN class=""&gt;​&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;So the incremental behavior depends on the workspace state, not on the GitHub runner’s&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;.databricks&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;directory.&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2026 12:40:31 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/behavior-of-the-databricks-asset-bundle-using-github-actions/m-p/151048#M53566</guid>
      <dc:creator>Pat</dc:creator>
      <dc:date>2026-03-16T12:40:31Z</dc:date>
    </item>
  </channel>
</rss>

