Implement split fetch/update phases with separate containers and proxies - #1740
Draft
v-robaiken wants to merge 3 commits into
Draft
Implement split fetch/update phases with separate containers and proxies#1740v-robaiken wants to merge 3 commits into
v-robaiken wants to merge 3 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an experimental two-container Dependabot workflow separating fetch and update phases with isolated proxies and credentials.
Changes:
- Adds split-phase orchestration and file handoff.
- Namespaces proxy networks and adjusts container environments per phase.
- Adds unit/integration coverage, though end-to-end split execution remains skipped.
Show a summary per file
| File | Description |
|---|---|
src/updater.ts |
Orchestrates split phases and credential filtering. |
src/updater-builder.ts |
Configures phase-specific container environments. |
src/proxy.ts |
Namespaces proxies and networks by phase. |
src/container-service.ts |
Runs phase-specific updater commands and reads artifacts. |
dist/main/index.js |
Updates the bundled action. |
__tests__/updater.test.ts |
Tests split orchestration and handoff. |
__tests__/updater-integration.test.ts |
Adds skipped split-phase integration coverage. |
__tests__/updater-builder.test.ts |
Tests phase-specific environment variables. |
__tests__/proxy-integration.test.ts |
Tests proxy/network isolation. |
__tests__/container-service.test.ts |
Tests phase command selection. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 9/11 changed files
- Comments generated: 1
- Review effort level: Balanced
| const commands = [`mkdir -p ${OUTPUT_PATH}`] | ||
|
|
||
| if (phase === 'all' || phase === 'fetch') { | ||
| commands.push('$DEPENDABOT_HOME/dependabot-updater/bin/run fetch_files') |
Contributor
There was a problem hiding this comment.
Review details
Suppressed comments (1)
src/updater.ts:192
- This classifies every host-scoped
git_sourcecredential (one withoutrepo) as a target-repository credential, even when itshostis GitLab, Bitbucket, or another GitHub server. Such credentials may be required for private git dependencies, but they are removed from the update proxy, causing those updates to fail. Match the credential host against the target repository’s GitHub server host before applying the repository-scope check.
// A git_source credential scoped to a different repository does not resolve
// to the target repo, so it is kept for git-sourced dependencies.
if (credential.repo && targetRepo && credential.repo !== targetRepo) {
return false
- Files reviewed: 9/11 changed files
- Comments generated: 0 new
- Review effort level: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.