Skip to content

Add ecosystem domains for clojure, elixir, kotlin, scala, zig - #17072

Merged
pelikhan merged 1 commit into
mainfrom
add-ecosystem-domains-v4
Feb 20, 2026
Merged

Add ecosystem domains for clojure, elixir, kotlin, scala, zig#17072
pelikhan merged 1 commit into
mainfrom
add-ecosystem-domains-v4

Conversation

@Mossaka

@MossakaMossaka commented Feb 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add new ecosystem domain lists for 5 languages identified as blocked in AWF build/test experiment v4
  • Update dart and java ecosystems with missing domains
  • Add runtimeToEcosystem mappings for new language runtimes

New Ecosystems

EcosystemDomainsImpact
clojurerepo.clojars.org, clojars.orgUnblocks 3 repos
elixirhex.pm, repo.hex.pm, builds.hex.pm, cdn.hex.pm, fastly.hex.pmUnblocks 5 repos
kotlinge.jetbrains.com, packages.jetbrains.team, kotlin.bintray.comHelps 5 repos
scalarepo.scala-sbt.org, jitpack.io, and relatedUnblocks 5 repos
zigziglang.org, pkg.machengine.orgHelps 4 repos

Updated Ecosystems

  • dart: +storage.googleapis.com (Flutter/Dart package downloads)
  • java: +downloads.gradle-dn.com (Gradle wrapper downloads)

New Runtime Mappings

Added runtimeToEcosystem entries for: clojure, dart, elixir, kotlin, php, scala, swift, zig

Context

From the AWF build/test experiment v4 (173 repos, 19 languages), these 9 new languages had 0% build success primarily due to missing firewall domain allowlists. Adding these ecosystem domains is the highest-impact fix.

Test plan

  • make test-unit passes
  • No duplicate domains across ecosystems
  • JSON is valid
  • Golden test files updated

🤖 Generated with Claude Code


Changeset

  • Type: patch
  • Description: Add missing ecosystem domain allowlists for clojure, elixir, kotlin, scala, and zig, update the dart and java domains, and wire the new runtimes into the runtimeToEcosystem mapping so AWF builds can reach their package hosts.

Generated by Changeset Generator

Add new ecosystem domain lists for 5 programming languages that were
identified as blocked in the AWF build/test experiment v4:
- clojure: repo.clojars.org, clojars.org
- elixir: hex.pm, repo.hex.pm, builds.hex.pm, cdn.hex.pm, fastly.hex.pm
- kotlin: ge.jetbrains.com, packages.jetbrains.team, kotlin.bintray.com
- scala: repo.scala-sbt.org, jitpack.io, and related
- zig: ziglang.org, pkg.machengine.org
Also update existing ecosystems:
- dart: add storage.googleapis.com
- java: add downloads.gradle-dn.com
And add runtimeToEcosystem mappings for clojure, dart, elixir, kotlin,
php, scala, swift, zig.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings February 20, 2026 02:10

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds ecosystem domain allowlists for five programming languages (Clojure, Elixir, Kotlin, Scala, and Zig) that were identified as having 0% build success in the AWF build/test experiment v4 due to missing firewall domain allowlists. The PR also updates existing ecosystems (dart, java) with missing domains and adds runtime-to-ecosystem mappings for eight languages.

Changes:

  • Added new ecosystem domains for clojure, elixir, kotlin, scala, and zig
  • Updated dart ecosystem with storage.googleapis.com for Flutter/Dart package downloads
  • Updated java ecosystem with downloads.gradle-dn.com for Gradle wrapper downloads
  • Added runtimeToEcosystem mappings for clojure, dart, elixir, kotlin, php, scala, swift, and zig

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
pkg/workflow/data/ecosystem_domains.jsonAdds domain lists for 5 new ecosystems (clojure, elixir, kotlin, scala, zig) and updates dart and java ecosystems
pkg/workflow/domains.goAdds runtimeToEcosystem mappings for 8 languages, updates documentation and ecosystemPriority list to include new ecosystems
pkg/workflow/domains_test.goUpdates test case for elixir runtime mapping from expecting empty to expecting hex.pm domains
pkg/workflow/testdata/wasm_golden/TestWasmGolden_CompileFixtures/smoke-test-tools.goldenUpdates golden test output to include downloads.gradle-dn.com from java ecosystem update

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

},
expectEmpty: true,
expectContains: []string{"hex.pm", "repo.hex.pm"},
},

CopilotAIFeb 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The TestGetDomainsFromRuntimes test suite includes a test case for the elixir runtime mapping, but is missing test cases for the other newly added runtime mappings: clojure, kotlin, scala, zig, dart, php, and swift. Consider adding test cases for these runtimes to ensure their ecosystem mappings work correctly.

Suggested change
},
},
{
name: "clojure runtime adds clojure ecosystem domains",
runtimes: map[string]any{
"clojure": map[string]any{"version": "1.11"},
},
expectContains: []string{"clojars.org", "repo.clojars.org"},
},
{
name: "kotlin runtime adds kotlin ecosystem domains",
runtimes: map[string]any{
"kotlin": map[string]any{"version": "1.9"},
},
expectContains: []string{"repo.maven.apache.org", "gradle.org"},
},
{
name: "scala runtime adds scala ecosystem domains",
runtimes: map[string]any{
"scala": map[string]any{"version": "3.3"},
},
expectContains: []string{"repo.maven.apache.org", "scala-lang.org"},
},
{
name: "zig runtime adds zig ecosystem domains",
runtimes: map[string]any{
"zig": map[string]any{"version": "0.12"},
},
expectContains: []string{"ziglang.org", "pkg.machengine.org"},
},
{
name: "dart runtime adds dart ecosystem domains",
runtimes: map[string]any{
"dart": map[string]any{"version": "3.3"},
},
expectContains: []string{"pub.dev", "pub.dartlang.org"},
},
{
name: "php runtime adds php ecosystem domains",
runtimes: map[string]any{
"php": map[string]any{"version": "8.3"},
},
expectContains: []string{"packagist.org", "repo.packagist.org"},
},
{
name: "swift runtime adds swift ecosystem domains",
runtimes: map[string]any{
"swift": map[string]any{"version": "5.9"},
},
expectContains: []string{"swift.org", "swiftpackageindex.com"},
},

Copilot uses AI. Check for mistakes.
"rust", // before "python" — crates.io/index.crates.io/static.crates.io are native Rust domains
"clojure",
"containers",
"dart",

CopilotAIFeb 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dart ecosystem shares the domain storage.googleapis.com with the go ecosystem. Since dart is positioned before go in the ecosystemPriority list, GetDomainEcosystem will resolve storage.googleapis.com to dart rather than go. Consider adding an inline comment similar to the existing rust/python comment (line 310) to document this intentional ordering decision and help future maintainers understand why dart must be positioned before go.

Suggested change
"dart",
"dart",// before "go" — both share storage.googleapis.com; prefer Dart resolution

Copilot uses AI. Check for mistakes.
@pelikhan
pelikhan merged commit cb28501 into mainFeb 20, 2026
101 checks passed
@pelikhan
pelikhan deleted the add-ecosystem-domains-v4 branch February 20, 2026 03:54
github-actionsBot pushed a commit that referenced this pull request Feb 20, 2026
- Add Google Gemini as a supported AI engine in engines.md, including
setup steps for GEMINI_API_KEY and a note about MCP configuration
via .gemini/settings.json (from #16938 and #16983)
- Expand the ecosystem identifiers table in network.md from a compact
multi-value row to individual rows with domain examples for each
identifier, and add new entries: clojure, elixir, kotlin, scala, zig
(from #17072)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@MossakaMossaka added smoke-test-pr Trigger smoke tests on PR smoke labels Feb 21, 2026
@github-actions

github-actionsBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions

Copy link
Copy Markdown
Contributor

🧪 Smoke Project is now testing project operations...

@github-actions

Copy link
Copy Markdown
Contributor

🧪 Smoke Temporary ID is now testing temporary ID functionality...

@github-actions

Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke macOS ARM64 is now investigating this pull request. Sources say the story is developing...

@github-actions

github-actionsBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

🎬 THE ENDSmoke ClaudeMISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions

Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions

Copy link
Copy Markdown
Contributor

📰 DEVELOPING STORY: Smoke macOS ARM64 reports failed. Our correspondents are investigating the incident...

@github-actions

Copy link
Copy Markdown
Contributor

Smoke Project completed successfully. All project operations validated.

@github-actions

Copy link
Copy Markdown
Contributor

Smoke test run §22247251461 results for @Mossaka:

TestStatus
GitHub MCP
Safe Inputs GH CLI
Serena MCP
Playwright
File Writing + Bash
Discussion
Build gh-aw
Discussion Creation
Haiku Dispatch
PR Review

Overall: ⚠️ PARTIAL PASS (Serena MCP tools unavailable)

📰 BREAKING: Report filed by Smoke Copilot for issue #17072

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR adds new ecosystem domains (clojure, elixir, kotlin, scala, zig) and corresponding runtime mappings. Changes look well-organized. One minor question: the php runtime mapping is added in domains.go but a PHP entry in ecosystem_domains.json doesn't appear in this diff — please verify it exists already.

📰 BREAKING: Report filed by Smoke Copilot for issue #17072

"dart": "dart",
"elixir": "elixir",
"kotlin": "kotlin",
"php": "php",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice addition of new runtime-to-ecosystem mappings. The php entry is added here but I don't see a corresponding "php" key added in ecosystem_domains.json in this diff — worth verifying the PHP ecosystem domains are already present.

"oneocsp.microsoft.com"
],
"dart": ["pub.dev", "pub.dartlang.org"],
"clojure": ["repo.clojars.org", "clojars.org"],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New clojure ecosystem entry looks good! Consider also adding clojars.org mirrors or CDN domains if Clojure projects commonly fetch from them.

@github-actions

Copy link
Copy Markdown
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions

Copy link
Copy Markdown
Contributor

PR titles: feat: add Copilot ARM64 smoke test on ubuntu-24.04-arm; Copilot/update smoke labels
GitHub MCP: ✅
Serena MCP: ✅
Playwright: ✅
File write: ✅
Bash cat: ✅
Build: ✅
Overall: PASS

🔮 The oracle has spoken through Smoke Codex for issue #17072

@github-actions

Copy link
Copy Markdown
Contributor

Smoke Test Results — Run §22247251475

Core (#1–10): ✅✅✅✅✅✅✅✅✅✅
PR Review (#11–17) on #17353: ✅✅✅⚠️✅✅⚠️

Overall: PARTIAL (tests 14 & 17 skipped — no threads/no safe PR to close)

💥 [THE END] — Illustrated by Smoke Claude for issue #17072

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💥 Automated smoke test review - all systems nominal!

💥 [THE END] — Illustrated by Smoke Claude for issue #17072

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Mossaka@pelikhan