From 3448ca14fa23de3a8cfeb0f53af1fe2afc5308e2 Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Thu, 8 Jan 2026 15:16:23 -0700 Subject: [PATCH 1/9] run dependabot daily --- .github/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a28691d9e..15b991360 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,8 +3,8 @@ updates: - package-ecosystem: "bundler" directory: "/" schedule: - interval: "weekly" + interval: "daily" - package-ecosystem: "bundler" directory: "/docs" schedule: - interval: "weekly" + interval: "daily" From 3894236d128e6944ec2215475c74fbf6e43bb3dd Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Thu, 8 Jan 2026 15:19:37 -0700 Subject: [PATCH 2/9] do not require changelog for dependabot PRs --- .github/workflows/lint.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d86bb2bf8..15ed79190 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -62,7 +62,12 @@ jobs: steps: - name: echo changed files run: | - if [[ ! "${{needs.changedfiles.outputs.markdown}}" == *"CHANGELOG.md"* ]]; then + # Filter out Gemfile.lock files from changed files + ALL_FILES="${{needs.changedfiles.outputs.all}}" + FILTERED_FILES=$(echo "$ALL_FILES" | tr ' ' '\n' | grep -v '^Gemfile\.lock$' | grep -v '^docs/Gemfile\.lock$' | tr '\n' ' ') + + # Only require changelog if there are other files changed + if [[ -n "$FILTERED_FILES" ]] && [[ ! "${{needs.changedfiles.outputs.markdown}}" == *"CHANGELOG.md"* ]]; then echo "::error file=CHANGELOG.md,line=1,col=1::Please make sure that you add a docs/CHANGELOG.md entry to describe the changes in this pull request." exit 1 fi From d0ecc9cec8252f732c01ea1af7767d1e1ed07087 Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Thu, 8 Jan 2026 15:33:36 -0700 Subject: [PATCH 3/9] add action to auto-approve and merge dependabot PRs --- .github/workflows/dependabot-auto-merge.yml | 28 +++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/dependabot-auto-merge.yml diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml new file mode 100644 index 000000000..9379a9c18 --- /dev/null +++ b/.github/workflows/dependabot-auto-merge.yml @@ -0,0 +1,28 @@ +name: Dependabot auto-merge + +on: pull_request + +permissions: + contents: write + pull-requests: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: github.actor == 'dependabot[bot]' + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v2 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Approve Dependabot PR + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GH_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Enable auto-merge for Dependabot PRs + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GH_TOKEN: ${{secrets.GITHUB_TOKEN}} From 0a603fc2f06dd1eff12aabeac635b1e670ca4719 Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Thu, 8 Jan 2026 15:37:47 -0700 Subject: [PATCH 4/9] add changelog --- docs/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index e9639eb01..5a2693d48 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -10,6 +10,10 @@ nav_order: 6 ## main +* Automatically merge dependabot PRs. + + *Joel Hawksley* + * Fix translation scope resolution in deeply nested component blocks (3+ levels). Translations called inside deeply nested slot blocks using `renders_many`/`renders_one` were incorrectly resolving to an intermediate component's scope instead of the partial's scope where the block was defined. The fix captures the virtual path at block definition time and restores it during block execution, ensuring translations always resolve relative to where the block was created regardless of nesting depth. *Nathaniel Watts* From 0c62c185c3115da692993bdfdaa2b7c94a11074d Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Thu, 8 Jan 2026 15:46:38 -0700 Subject: [PATCH 5/9] fix potential empty whitespace --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 15ed79190..18f238a88 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -64,7 +64,7 @@ jobs: run: | # Filter out Gemfile.lock files from changed files ALL_FILES="${{needs.changedfiles.outputs.all}}" - FILTERED_FILES=$(echo "$ALL_FILES" | tr ' ' '\n' | grep -v '^Gemfile\.lock$' | grep -v '^docs/Gemfile\.lock$' | tr '\n' ' ') + FILTERED_FILES=$(echo "$ALL_FILES" | tr ' ' '\n' | grep -v '^Gemfile\.lock$' | grep -v '^docs/Gemfile\.lock$' | tr '\n' ' ' | xargs) # Only require changelog if there are other files changed if [[ -n "$FILTERED_FILES" ]] && [[ ! "${{needs.changedfiles.outputs.markdown}}" == *"CHANGELOG.md"* ]]; then From f910e08c6b3473e5720d85f392eeb406560293f9 Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Thu, 8 Jan 2026 15:47:06 -0700 Subject: [PATCH 6/9] Update .github/workflows/dependabot-auto-merge.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/dependabot-auto-merge.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index 9379a9c18..a660f0f55 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -1,6 +1,8 @@ name: Dependabot auto-merge -on: pull_request +on: + pull_request: + types: [opened] permissions: contents: write From 686dc2b6879487e7b583482e43d4e399177ca2ac Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Thu, 8 Jan 2026 15:48:59 -0700 Subject: [PATCH 7/9] remove unused metadata step --- .github/workflows/dependabot-auto-merge.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index a660f0f55..c626064f9 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -13,11 +13,6 @@ jobs: runs-on: ubuntu-latest if: github.actor == 'dependabot[bot]' steps: - - name: Dependabot metadata - id: metadata - uses: dependabot/fetch-metadata@v2 - with: - github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Approve Dependabot PR run: gh pr review --approve "$PR_URL" env: From df24e561df2b6c61f87d8c7f2414dd0a2ce62fa1 Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Fri, 9 Jan 2026 15:37:07 -0700 Subject: [PATCH 8/9] allocations --- test/sandbox/test/rendering_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/sandbox/test/rendering_test.rb b/test/sandbox/test/rendering_test.rb index d8ec2a436..7fa01ac6c 100644 --- a/test/sandbox/test/rendering_test.rb +++ b/test/sandbox/test/rendering_test.rb @@ -20,7 +20,7 @@ def test_render_inline_allocations MyComponent.__vc_ensure_compiled with_instrumentation_enabled_option(false) do - assert_allocations({"4.1" => 67, "4.0" => 67, "3.4" => 72..74, "3.3" => 75, "3.2" => 78..79}) do + assert_allocations({"4.1" => 68, "4.0" => 67, "3.4" => 72..74, "3.3" => 75, "3.2" => 78..79}) do render_inline(MyComponent.new) end end From 9a3e00eff7ed2debb45821a4e857a477693ae8fb Mon Sep 17 00:00:00 2001 From: Joel Hawksley Date: Fri, 9 Jan 2026 15:55:54 -0700 Subject: [PATCH 9/9] allocations again --- test/sandbox/test/rendering_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/sandbox/test/rendering_test.rb b/test/sandbox/test/rendering_test.rb index 7fa01ac6c..44265ee77 100644 --- a/test/sandbox/test/rendering_test.rb +++ b/test/sandbox/test/rendering_test.rb @@ -20,7 +20,7 @@ def test_render_inline_allocations MyComponent.__vc_ensure_compiled with_instrumentation_enabled_option(false) do - assert_allocations({"4.1" => 68, "4.0" => 67, "3.4" => 72..74, "3.3" => 75, "3.2" => 78..79}) do + assert_allocations({"4.1" => 67..68, "4.0" => 67, "3.4" => 72..74, "3.3" => 75, "3.2" => 78..79}) do render_inline(MyComponent.new) end end