@@ -102,8 +102,49 @@ jobs:
102102 cd packages/schemas && bunx buf generate
103103 fi
104104
105- - name : Build package exports required by LifeOps
106- run : bun run --cwd plugins/plugin-telegram build
105+ - name : Build benchmark runtime packages
106+ # The benchmark executes TypeScript sources directly, but several
107+ # workspace packages intentionally export dist/* entry points. Because
108+ # dependency installation ignores postinstall scripts, build only the
109+ # packages that the live scenario runtime imports through those exports.
110+ env :
111+ OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
112+ OPENROUTER_API_KEY : ${{ secrets.OPENROUTER_API_KEY }}
113+ ANTHROPIC_API_KEY : ${{ secrets.ANTHROPIC_API_KEY }}
114+ GOOGLE_GENERATIVE_AI_API_KEY : ${{ secrets.GOOGLE_GENERATIVE_AI_API_KEY }}
115+ GOOGLE_API_KEY : ${{ secrets.GOOGLE_API_KEY }}
116+ GROQ_API_KEY : ${{ secrets.GROQ_API_KEY }}
117+ run : |
118+ provider_package=""
119+ if [ -n "${GROQ_API_KEY:-}" ]; then
120+ provider_package="plugins/plugin-groq"
121+ elif [ -n "${OPENAI_API_KEY:-}" ]; then
122+ provider_package="plugins/plugin-openai"
123+ elif [ -n "${ANTHROPIC_API_KEY:-}" ]; then
124+ provider_package="plugins/plugin-anthropic"
125+ elif [ -n "${GOOGLE_GENERATIVE_AI_API_KEY:-}" ] || [ -n "${GOOGLE_API_KEY:-}" ]; then
126+ provider_package="plugins/plugin-google-genai"
127+ elif [ -n "${OPENROUTER_API_KEY:-}" ]; then
128+ provider_package="plugins/plugin-openrouter"
129+ fi
130+
131+ package_dirs=(
132+ plugins/plugin-sql
133+ plugins/plugin-agent-skills
134+ plugins/plugin-telegram
135+ plugins/plugin-whatsapp
136+ plugins/plugin-signal
137+ plugins/plugin-imessage
138+ )
139+ if [ -n "$provider_package" ]; then
140+ package_dirs+=("$provider_package")
141+ fi
142+
143+ for package_dir in "${package_dirs[@]}"; do
144+ echo "::group::Build ${package_dir}"
145+ bun run --cwd "$package_dir" build
146+ echo "::endgroup::"
147+ done
107148
108149 - name : Run benchmark harness
109150 id : run
0 commit comments