Skip to content

Commit d91794c

Browse files
mivertowskiclaude
andcommitted
Fix publish order: codegen must precede cuda-codegen and wgpu-codegen
After Phase 4 DSL consolidation, both cuda-codegen and wgpu-codegen depend on ringkernel-codegen for shared marker functions. The previous publish script had them in Tier 1 (no internal deps) but they now belong in Tier 3 (after codegen). Updated tier ordering and header comments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 6d3aaf8 commit d91794c

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

scripts/publish.sh

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
# ./scripts/publish.sh --status # Check which crates are published
1616
#
1717
# The publishing order respects the dependency graph:
18-
# Tier 1 (no deps): core, cuda-codegen, wgpu-codegen, ir
19-
# Tier 2 (core deps): derive, cpu, cuda, wgpu, metal, codegen, ecosystem, audio-fft, graph, montecarlo, cli
20-
# Tier 3 (main crate): ringkernel
21-
# Tier 4 (apps): wavesim, txmon, accnet, procint, wavesim3d
18+
# Tier 1 (no deps): core, ir
19+
# Tier 2 (core deps): codegen, cpu, cuda, wgpu, metal, ecosystem, audio-fft, graph, montecarlo
20+
# Tier 3 (codegen deps): cuda-codegen, wgpu-codegen, derive, cli
21+
# Tier 4 (main crate): ringkernel
22+
# Tier 5 (apps): wavesim, txmon, accnet, procint, wavesim3d
2223
#
2324

2425
set -e
@@ -94,39 +95,39 @@ done
9495
CRATES=(
9596
# Tier 1: No internal dependencies
9697
"ringkernel-core"
97-
"ringkernel-cuda-codegen"
98-
"ringkernel-wgpu-codegen"
9998
"ringkernel-ir"
10099

101-
# Tier 2: Depends only on Tier 1
102-
"ringkernel-derive" # depends on: core, cuda-codegen (optional)
100+
# Tier 2: Depends only on core
101+
"ringkernel-codegen" # depends on: core
103102
"ringkernel-cpu" # depends on: core
104103
"ringkernel-cuda" # depends on: core
105104
"ringkernel-wgpu" # depends on: core
106105
"ringkernel-metal" # depends on: core
107-
"ringkernel-codegen" # depends on: core
108106
"ringkernel-ecosystem" # depends on: core
109107
"ringkernel-audio-fft" # depends on: core
110108
"ringkernel-graph" # depends on: core
111109
"ringkernel-montecarlo" # depends on: core
112-
"ringkernel-cli" # depends on: ir, cuda-codegen (optional), wgpu-codegen (optional)
113110

114-
# Tier 3: Main crate (depends on most others)
111+
# Tier 3: Depends on codegen or other Tier 2 crates
112+
"ringkernel-cuda-codegen" # depends on: codegen
113+
"ringkernel-wgpu-codegen" # depends on: codegen
114+
"ringkernel-derive" # depends on: core, cuda-codegen (optional)
115+
"ringkernel-cli" # depends on: ir, cuda-codegen (optional), wgpu-codegen (optional)
116+
117+
# Tier 4: Main crate (depends on most others)
115118
"ringkernel" # depends on: core, derive, cpu, cuda, wgpu, metal, codegen
116119

117-
# Tier 4: Application crates (depend on main crate)
120+
# Tier 5: Application crates (depend on main crate)
118121
"ringkernel-wavesim" # depends on: ringkernel, core, derive, cuda, cuda-codegen
119122
"ringkernel-txmon" # depends on: ringkernel, core, cuda, cuda-codegen
120-
"ringkernel-accnet" # depends on: ringkernel, core, cuda, cuda-codegen
121-
"ringkernel-procint" # depends on: ringkernel, core, cuda, cuda-codegen
123+
"ringkernel-accnet" # depends on: core, derive, cpu, cuda-codegen
124+
"ringkernel-procint" # depends on: core, derive, cpu, cuda-codegen
122125
"ringkernel-wavesim3d" # depends on: ringkernel, core, derive, cuda, cuda-codegen
123126
)
124127

125-
# Tier 1 crates can be verified independently
128+
# Tier 1 crates can be verified independently (no internal deps)
126129
TIER1_CRATES=(
127130
"ringkernel-core"
128-
"ringkernel-cuda-codegen"
129-
"ringkernel-wgpu-codegen"
130131
"ringkernel-ir"
131132
)
132133

0 commit comments

Comments
 (0)