Skip to content

Commit 405fb82

Browse files
committed
Update CI workflow to include calculator codegen patching steps
1 parent d066e0b commit 405fb82

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

.github/workflows/e2e.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,23 @@ jobs:
9191
run: |
9292
./guix generate -p examples/calculator
9393
cd examples/calculator
94+
95+
# Patch generated files to workaround codegen issues
96+
echo "Patching generated code..."
97+
# Add build tags to generated files
98+
sed -i '1i//go:build js && wasm\n// +build js,wasm\n' calculator_gen.go
99+
sed -i '1i//go:build js && wasm\n// +build js,wasm\n' app_gen.go
100+
sed -i '1i//go:build js && wasm\n// +build js,wasm\n' guix_helpers_gen.go
101+
102+
# Fix stateChannel references in calculator_gen.go
103+
sed -i 's/handleNumber(stateChannel,/handleNumber(c.StateChannel,/g' calculator_gen.go
104+
sed -i 's/handleOperator(stateChannel,/handleOperator(c.StateChannel,/g' calculator_gen.go
105+
sed -i 's/handleClear(stateChannel)/handleClear(c.StateChannel)/g' calculator_gen.go
106+
sed -i 's/handleEquals(stateChannel,/handleEquals(c.StateChannel,/g' calculator_gen.go
107+
108+
# Initialize the state channel with initial value in app_gen.go
109+
sed -i '/c.stateChannel = make(chan CalculatorState, 10)/a\ c.stateChannel <- CalculatorState{Display: "0", PreviousValue: 0, Operator: "", WaitingForOperand: false}' app_gen.go
110+
94111
# Copy wasm_exec.js from Go installation
95112
GOROOT="$(go env GOROOT)"
96113
if [ -f "$GOROOT/lib/wasm/wasm_exec.js" ]; then

0 commit comments

Comments
 (0)