Skip to content

Commit d85d062

Browse files
Merge pull request #45 from cbusillo/fix/publish-selector-source-token
Prefer source token for artifact selector resolution
2 parents 680e300 + 81ecdf4 commit d85d062

2 files changed

Lines changed: 23 additions & 1 deletion

File tree

odoo_devkit/local_runtime.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2087,7 +2087,9 @@ def resolve_artifact_runtime_source_repository_refs(
20872087
runtime_values: dict[str, str],
20882088
) -> tuple[dict[str, str], tuple[dict[str, str], ...]]:
20892089
resolved_values = dict(runtime_values)
2090-
github_token = resolve_github_token_for_build(runtime_values)
2090+
github_token = clean_optional_value(runtime_values.get("GITHUB_TOKEN")) or first_clean_optional_value(
2091+
(os.environ.get("GITHUB_TOKEN"), os.environ.get("GH_TOKEN"))
2092+
)
20912093
selector_metadata: list[dict[str, str]] = []
20922094
for env_key in ARTIFACT_SOURCE_ENV_KEYS:
20932095
raw_value = runtime_values.get(env_key, "")

tests/test_runtime.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1645,6 +1645,26 @@ def test_resolve_artifact_runtime_source_refs_uses_environment_token_fallback(se
16451645
),
16461646
)
16471647

1648+
def test_resolve_artifact_runtime_source_refs_prefers_runtime_github_token(self) -> None:
1649+
runtime_values = {
1650+
"GITHUB_TOKEN": "source-token",
1651+
"ODOO_ADDON_REPOSITORIES": "cbusillo/disable_odoo_online@main",
1652+
}
1653+
with mock.patch.dict(os.environ, {"GHCR_TOKEN": "package-token", "GITHUB_TOKEN": "env-token"}):
1654+
with mock.patch(
1655+
"odoo_devkit.local_runtime.resolve_source_repository_ref_to_git_sha",
1656+
return_value="411f6b8e85cac72dc7aa2e2dc5540001043c327d",
1657+
) as resolve_ref_mock:
1658+
local_runtime.resolve_artifact_runtime_source_repository_refs(
1659+
runtime_values=runtime_values
1660+
)
1661+
1662+
resolve_ref_mock.assert_called_once_with(
1663+
repository="cbusillo/disable_odoo_online",
1664+
ref="main",
1665+
github_token="source-token",
1666+
)
1667+
16481668
def test_resolve_source_repository_ref_to_git_sha_rejects_ambiguous_matches(self) -> None:
16491669
ambiguous_stdout = (
16501670
"1111111111111111111111111111111111111111\trefs/heads/main\n2222222222222222222222222222222222222222\trefs/tags/main\n"

0 commit comments

Comments
 (0)