Some checks failed
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
37 lines
742 B
JavaScript
37 lines
742 B
JavaScript
#!/usr/bin/env zx
|
|
/**
|
|
* Provisions the cloud benchmark environment
|
|
*
|
|
* NOTE: Must be run in the root of the package.
|
|
*/
|
|
// @ts-check
|
|
import { which, minimist } from 'zx';
|
|
import { TerraformClient } from './clients/terraform-client.mjs';
|
|
|
|
const args = minimist(process.argv.slice(3), {
|
|
boolean: ['debug'],
|
|
});
|
|
|
|
const isVerbose = !!args.debug;
|
|
|
|
export async function provision() {
|
|
await ensureDependencies();
|
|
|
|
const terraformClient = new TerraformClient({
|
|
isVerbose,
|
|
});
|
|
|
|
await terraformClient.provisionEnvironment();
|
|
}
|
|
|
|
async function ensureDependencies() {
|
|
await which('terraform');
|
|
}
|
|
|
|
provision().catch((error) => {
|
|
console.error('An error occurred while provisioning cloud env:');
|
|
console.error(error);
|
|
|
|
process.exit(1);
|
|
});
|