fix(server): add missing env for ci (#11101)

This commit is contained in:
darkskygit
2025-03-23 14:12:08 +00:00
parent 331dd67e69
commit 9c1123be8b
3 changed files with 14 additions and 6 deletions

View File

@@ -84,6 +84,7 @@ jobs:
CARGO_TARGET_DIR: '${{ github.workspace }}/target' CARGO_TARGET_DIR: '${{ github.workspace }}/target'
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }} COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }} COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }} COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
- name: Upload server test coverage results - name: Upload server test coverage results

View File

@@ -98,6 +98,7 @@ jobs:
CAPTCHA_TURNSTILE_SECRET: ${{ secrets.CAPTCHA_TURNSTILE_SECRET }} CAPTCHA_TURNSTILE_SECRET: ${{ secrets.CAPTCHA_TURNSTILE_SECRET }}
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }} COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }} COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }} COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
COPILOT_UNSPLASH_API_KEY: ${{ secrets.COPILOT_UNSPLASH_API_KEY }} COPILOT_UNSPLASH_API_KEY: ${{ secrets.COPILOT_UNSPLASH_API_KEY }}
METRICS_CUSTOMER_IO_TOKEN: ${{ secrets.METRICS_CUSTOMER_IO_TOKEN }} METRICS_CUSTOMER_IO_TOKEN: ${{ secrets.METRICS_CUSTOMER_IO_TOKEN }}

View File

@@ -120,11 +120,16 @@ export class CopilotProviderService {
return providerFactory(this.config, this.logger); return providerFactory(this.config, this.logger);
} }
getProvider(provider: CopilotProviderType): CopilotProvider { getProvider(provider: CopilotProviderType): CopilotProvider | null {
if (!this.cachedProviders.has(provider)) { try {
this.cachedProviders.set(provider, this.create(provider)); if (!this.cachedProviders.has(provider)) {
this.cachedProviders.set(provider, this.create(provider));
}
return this.cachedProviders.get(provider) as CopilotProvider;
} catch {
// skip if the provider is not available
return null;
} }
return this.cachedProviders.get(provider) as CopilotProvider;
} }
async getProviderByCapability<C extends CopilotCapability>( async getProviderByCapability<C extends CopilotCapability>(
@@ -146,7 +151,8 @@ export class CopilotProviderService {
// find first provider that supports the capability and model // find first provider that supports the capability and model
if (providers.includes(selectedProvider)) { if (providers.includes(selectedProvider)) {
const provider = this.getProvider(selectedProvider); const provider = this.getProvider(selectedProvider);
if (provider.getCapabilities().includes(capability)) {
if (provider && provider.getCapabilities().includes(capability)) {
if (model) { if (model) {
if (await provider.isModelAvailable(model)) { if (await provider.isModelAvailable(model)) {
return provider as CapabilityToCopilotProvider[C]; return provider as CapabilityToCopilotProvider[C];
@@ -180,7 +186,7 @@ export class CopilotProviderService {
while (selectedProvider) { while (selectedProvider) {
const provider = this.getProvider(selectedProvider); const provider = this.getProvider(selectedProvider);
if (await provider.isModelAvailable(model)) { if (provider && (await provider.isModelAvailable(model))) {
return provider as CapabilityToCopilotProvider[C]; return provider as CapabilityToCopilotProvider[C];
} }