fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(serve): support aliased hub content names in private hub deploys - #6039

Merged
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name
Jul 17, 2026
Merged

fix(serve): support aliased hub content names in private hub deploys#6039
zhaoqizqwang merged 2 commits into
aws:masterfrom
e-davidson:fix/private-hub-aliased-content-name

Conversation

@e-davidson

Copy link
Copy Markdown
Contributor

Issue

Deploying a JumpStart model from a private hub via ModelBuilder.from_jumpstart_config(hub_name=...) fails with ResourceNotFound when the hub's ModelReference was created with a custom HubContentName. The CreateHubContentReference API accepts an aliased name, but the SDK always looks up hub content by model_id, so aliased references are unreachable.

This is the remaining defect after #5985 (hub_arn derivation) and #6036 (model_reference_arn propagation / HubAccessConfig).

Fix

Optional hub_content_name on JumpStartConfig, threaded through from_jumpstart_config; when set, _build_for_jumpstart resolves hub content by the reference's actual name (3 files, +17 lines).

Test coverage

This PR also adds the regression coverage that would have caught the HubAccessConfig regression that shipped in v3.15.1-v3.16.0:

Unit (tests/unit/test_private_hub_artifact_resolution.py, extends the #5985 file):

  • model_reference_arn propagation regression test guarding the Fix private hub #6036 fix (supersedes the subset assertions added there)
  • CreateModel payload chain test: drives the real unmocked path _build_for_jumpstart -> _prepare_container_def_base and asserts the container definition carries S3DataSource.HubAccessConfig.HubContentArn for hub builds and omits it for public builds
  • hub_content_name lookup + config threading tests
  • Shared setup hoisted to a module-level _build_jumpstart_builder() helper per package convention

Integration (tests/integ/test_private_hub_artifact_resolution.py, slow_test, self-provisioning with full teardown):

  • test_deploy_with_no_s3_execution_role: creates an execution role with zero S3 permissions, deploys from a private hub, asserts the created Model carries HubAccessConfig (the service-side brokered-access contract unit tests cannot reach)
  • test_deploy_with_aliased_hub_content_name: deploys a reference named differently from the model_id

Verification (red -> green at every layer)

LayerBaseline v3.16.0With fix
Unit (17 tests)4 discriminating tests FAIL17/17 pass
Integ, live us-east-12 FAIL2 pass (38s), both with the zero-S3 role

Live runs used a real private hub + ModelReference and an IAM role with no S3 permissions; all resources (hub, references, role, endpoints) cleaned up.

Replaces #6035, which predated #6036 and carried a now-redundant duplicate of the propagation fix.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Eli Davidson added 2 commits July 17, 2026 00:08
CreateHubContentReference accepts a custom HubContentName, but the SDK
always looks up hub content by model_id, so a reference named
differently from the public model id fails with ResourceNotFound.
Add optional hub_content_name to JumpStartConfig and thread it through
from_jumpstart_config; when set, _build_for_jumpstart resolves hub
content by the reference's actual name.
Verified E2E against a live private hub with an execution role that has
zero S3 permissions: an aliased ModelReference now deploys successfully
with SageMaker brokering artifact access through the hub content
reference.
…aliased names
Unit tests (extends the aws#5985 file, shared setup hoisted to a
module-level _build_jumpstart_builder helper per package convention):
- model_reference_arn propagation regression test guarding the aws#6036
fix (supersedes the subset assertions added there)
- CreateModel payload chain test: drives the real unmocked path
_build_for_jumpstart -> _prepare_container_def_base and asserts the
container definition carries S3DataSource.HubAccessConfig.HubContentArn
for hub builds and omits it for public builds -- the assertion that
would have caught the v3.15.1-v3.16.0 regression
- hub_content_name lookup and config threading tests
Integration tests (slow_test, self-provisioning with full teardown):
- test_deploy_with_no_s3_execution_role: zero-S3 execution role deploy,
asserts HubAccessConfig on the created Model (service-side contract)
- test_deploy_with_aliased_hub_content_name: aliased reference deploy
Verified red->green at every layer: 4 unit tests and both integ tests
fail on v3.16.0 baseline; all pass with the fixes (integ verified live
in us-east-1 with a real hub, zero-S3 role, 2 passed in 38s).
@zhaoqizqwang

Copy link
Copy Markdown
Collaborator

All the added unit tests and integ tests have passed, merging the PR

@zhaoqizqwang
zhaoqizqwang merged commit fe4b745 into aws:masterJul 17, 2026
18 of 24 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Jul 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@e-davidson@zhaoqizqwang