Skip to content

ci: route cross-repo clones through Git Retriever - #7930

Open
cataphract wants to merge 1 commit into
mainfrom
glopes/gitretriever
Open

cataphract wants to merge 1 commit into
mainfrom
glopes/gitretriever

Conversation

@cataphract

Copy link
Copy Markdown
Contributor

Use canonical GitHub URLs so the runner-installed insteadOf rules can redirect DataDog repositories through Git Retriever.

Enable that rewrite explicitly for generated SSI child pipelines.

Motivation

Causing flakiness on dd-trace-php pipelines, since github is down every day.

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes
  3. Mark it as ready for review
    • Tests, manifest, weblog are modified -> you'll need a review from system-tests-reviewers: ask to one of youre co-worker familiar with the tested feature.
    • Framework is modified, or non obvious usage of it -> get a review from system-tests-core (slack)

🚀 Once your PR is reviewed and the CI green, you can merge it!

🛟 #apm-shared-testing 🛟

Use canonical GitHub URLs so the runner-installed insteadOf rules can
redirect DataDog repositories through Git Retriever.

Enable that rewrite explicitly for generated SSI child pipelines.
@cataphract
cataphract requested a review from a team as a code owner October 4, 2026 01:22
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-04T01:25:14.809147Z 7a84bd4 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

.gitlab/ssi_gitlab-ci.yml                                               @DataDog/system-tests-core
utils/scripts/ci_orchestrators/gitlab_exporter.py                       @DataDog/system-tests-core
utils/scripts/update_protobuf.sh                                        @DataDog/system-tests-core

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

✨ Unblock PR with BitsAI

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 13 Pipeline jobs failed

Testing the test | System Tests (ruby, dev) / End-to-end #1 / rails52 1 — ❌ 15 tests failed · 🔧 Needs a code fix, caused by this PR

View more details · View in GitHub Actions

❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag.test_ai_guard_event[rails52] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag object at 0x7f97140cd5b0>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag object at 0x7f97140cd5b0>

    def test_ai_guard_event(self):
        """Test AI Guard sets ai_guard.event:true tag in the local root span of the trace."""
>       assert self.r.status_code == 200
E       assert 500 == 200
...
❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone.test_standalone_keeps_ai_guard_trace[rails52] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone object at 0x7f49495725a0>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone object at 0x7f49495725a0>

    def test_standalone_keeps_ai_guard_trace(self):
>       assert self.r.status_code == 200
E       assert 500 == 200
E        +  where 500 = HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
...
❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker.test_all_spans_have_apm_disabled_marker[rails52] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker object at 0x7f4949571d00>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker object at 0x7f4949571d00>

    def test_all_spans_have_apm_disabled_marker(self) -> None:
>       assert self.r.status_code == 200
E       assert 500 == 200
E        +  where 500 = HttpResponse(status_code:500, headers:{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Conten...'Transfer-Encoding': 'chunked'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
...
↳ and 12 more — View all
Testing the test | System Tests (ruby, dev) / End-to-end #1 / rails72 1 — ❌ 15 tests failed · 🔧 Needs a code fix, caused by this PR

View more details · View in GitHub Actions

❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag.test_ai_guard_event[rails72] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01641', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01641', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag object at 0x7fd03159bad0>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag object at 0x7fd03159bad0>

    def test_ai_guard_event(self):
        """Test AI Guard sets ai_guard.event:true tag in the local root span of the trace."""
>       assert self.r.status_code == 200
E       assert 500 == 200
...
❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone.test_standalone_keeps_ai_guard_trace[rails72] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01994', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01994', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone object at 0x7f06a8035e50>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone object at 0x7f06a8035e50>

    def test_standalone_keeps_ai_guard_trace(self):
>       assert self.r.status_code == 200
E       assert 500 == 200
E        +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01994', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
...
❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker.test_all_spans_have_apm_disabled_marker[rails72] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...00783', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...00783', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker object at 0x7f06a8036330>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker object at 0x7f06a8036330>

    def test_all_spans_have_apm_disabled_marker(self) -> None:
>       assert self.r.status_code == 200
E       assert 500 == 200
E        +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...00783', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
...
↳ and 12 more — View all
Testing the test | System Tests (ruby, dev) / End-to-end #1 / rails80 1 — ❌ 15 tests failed · 🔧 Needs a code fix, caused by this PR

View more details · View in GitHub Actions

❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag.test_ai_guard_event[rails80] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01264', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01264', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag object at 0x7fb780781c70>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardEvent_Tag object at 0x7fb780781c70>

    def test_ai_guard_event(self):
        """Test AI Guard sets ai_guard.event:true tag in the local root span of the trace."""
>       assert self.r.status_code == 200
E       assert 500 == 200
...
❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone.test_standalone_keeps_ai_guard_trace[rails80] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...02518', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...02518', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone object at 0x7f88683f1b50>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone object at 0x7f88683f1b50>

    def test_standalone_keeps_ai_guard_trace(self):
>       assert self.r.status_code == 200
E       assert 500 == 200
E        +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...02518', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
...
❌ tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker.test_all_spans_have_apm_disabled_marker[rails80] from system_tests_suite
assert 500 == 200
 +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01632', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
 +    where HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01632', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}) = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker object at 0x7f88683f1b20>.r

self = <tests.ai_guard.test_ai_guard_sdk.Test_AIGuardStandalone_APMDisabledMarker object at 0x7f88683f1b20>

    def test_all_spans_have_apm_disabled_marker(self) -> None:
>       assert self.r.status_code == 200
E       assert 500 == 200
E        +  where 500 = HttpResponse(status_code:500, headers:{'x-frame-options': 'SAMEORIGIN', 'x-xss-protection': '0', 'x-content-type-optio...01632', 'Content-Length': '80'}, text:{"error":"unknown keywords: :id, :tool_name, :arguments","type":"ArgumentError"}).status_code
...
↳ and 12 more — View all

View all 13 failed jobs.

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 7a84bd4 | Docs | View more details | Give us feedback!

This branch has not been deployed

No deployments
Sign up for free to 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.

1 participant