Skip to content

Comments

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

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

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

Conversation

@Mossaka
Copy link
Collaborator

@Mossaka Mossaka commented Feb 20, 2026

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

Ecosystem Domains Impact
clojure repo.clojars.org, clojars.org Unblocks 3 repos
elixir hex.pm, repo.hex.pm, builds.hex.pm, cdn.hex.pm, fastly.hex.pm Unblocks 5 repos
kotlin ge.jetbrains.com, packages.jetbrains.team, kotlin.bintray.com Helps 5 repos
scala repo.scala-sbt.org, jitpack.io, and related Unblocks 5 repos
zig ziglang.org, pkg.machengine.org Helps 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>
Copilot AI review requested due to automatic review settings February 20, 2026 02:10
Copy link
Contributor

Copilot AI left a comment

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.

File Description
pkg/workflow/data/ecosystem_domains.json Adds domain lists for 5 new ecosystems (clojure, elixir, kotlin, scala, zig) and updates dart and java ecosystems
pkg/workflow/domains.go Adds runtimeToEcosystem mappings for 8 languages, updates documentation and ecosystemPriority list to include new ecosystems
pkg/workflow/domains_test.go Updates test case for elixir runtime mapping from expecting empty to expecting hex.pm domains
pkg/workflow/testdata/wasm_golden/TestWasmGolden_CompileFixtures/smoke-test-tools.golden Updates 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"},
},
Copy link

Copilot AI Feb 20, 2026

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",
Copy link

Copilot AI Feb 20, 2026

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 main Feb 20, 2026
101 checks passed
@pelikhan pelikhan deleted the add-ecosystem-domains-v4 branch February 20, 2026 03:54
github-actions bot 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>
@Mossaka Mossaka added smoke-test-pr Trigger smoke tests on PR smoke labels Feb 21, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 21, 2026

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

@github-actions
Copy link
Contributor

🧪 Smoke Project is now testing project operations...

@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

github-actions bot commented Feb 21, 2026

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

@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

Smoke Project completed successfully. All project operations validated.

@github-actions
Copy link
Contributor

Smoke test run §22247251461 results for @Mossaka:

Test Status
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

Copy link
Contributor

@github-actions github-actions bot left a comment

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
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
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
Contributor

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

@github-actions
Copy link
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
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

Copy link
Contributor

@github-actions github-actions bot left a comment

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 free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants