Skip to main content
Glama
codegen.sh3.32 kB
#!/usr/bin/env bash set -euo pipefail if [ -z ${ENABLE_GIT_PUSH+x} ]; then ENABLE_GIT_PUSH=false fi echo "codegen running ENABLE_GIT_PUSH: ${ENABLE_GIT_PUSH}" bandwidth() { GENERATED_FILE="pkg/providers/instancetype/zz_generated.bandwidth.go" go run hack/code/bandwidth_gen/main.go -- "${GENERATED_FILE}" checkForUpdates "${GENERATED_FILE}" } pricing() { declare -a PARTITIONS=( "aws" "aws-us-gov" # "aws-cn" ) for partition in "${PARTITIONS[@]}"; do GENERATED_FILE="pkg/providers/pricing/zz_generated.pricing_${partition//-/_}.go" go run hack/code/prices_gen/main.go --partition "$partition" --output "$GENERATED_FILE" IGNORE_PATTERN="// generated at" checkForUpdates "${GENERATED_FILE}" "${IGNORE_PATTERN}" done } vpcLimits() { GENERATED_FILE="pkg/providers/instancetype/zz_generated.vpclimits.go" go run hack/code/vpc_limits_gen/main.go -- \ --url=https://raw.githubusercontent.com/aws/amazon-vpc-resource-controller-k8s/master/pkg/aws/vpc/limits.go \ --output="${GENERATED_FILE}" checkForUpdates "${GENERATED_FILE}" } instanceTypeTestData() { GENERATED_FILE="pkg/fake/zz_generated.describe_instance_types.go" go run hack/code/instancetype_testdata_gen/main.go --out-file ${GENERATED_FILE} \ --instance-types t3.large,m5.large,m5.xlarge,p3.8xlarge,g4dn.8xlarge,c6g.large,inf2.xlarge,inf2.24xlarge,trn1.2xlarge,m5.metal,dl1.24xlarge,m6idn.32xlarge,t4g.small,t4g.xlarge,t4g.medium,g4ad.16xlarge,m7i-flex.large checkForUpdates "${GENERATED_FILE}" } # checkForUpdates is a helper function that takes in a file and an optional ignore pattern # to determine if there is a diff between the previous iteration of the file and the newly generated data # If it fines a difference between the new and the old file and the ENABLE_GIT_PUSH environment variable is set, # it will push the updated file with an automatic commit to the "codegen" branch # USAGE: # checkForUpdates "pkg/providers/pricing/zz_generated.pricing_aws.go" "// generated at" checkForUpdates() { GENERATED_FILE=$1 IGNORE_PATTERN=${2:-""} if [[ -z "$IGNORE_PATTERN" ]]; then GIT_DIFF=$(git diff --stat --ignore-blank-lines "${GENERATED_FILE}") else GIT_DIFF=$(git diff --stat --ignore-blank-lines --ignore-matching-lines="${IGNORE_PATTERN}" "${GENERATED_FILE}") fi echo "Checking git diff for updates..." if [[ -n "${GIT_DIFF}" ]]; then echo "$GIT_DIFF" if [[ $ENABLE_GIT_PUSH == true ]]; then gitCommitAndPush "${GENERATED_FILE}" fi else noUpdates "${GENERATED_FILE}" git checkout "${GENERATED_FILE}" fi } gitOpenAndPullBranch() { git fetch origin git checkout -b codegen } gitCommitAndPush() { GENERATED_FILE=$1 git add "${GENERATED_FILE}" git commit -m "CodeGen updates from AWS API for ${GENERATED_FILE}" # Force push the branch since we might have left the branch around from the last codegen git push --set-upstream origin codegen --force } noUpdates() { GENERATED_FILE=$1 echo "No updates from AWS API for ${GENERATED_FILE}" } if [[ $ENABLE_GIT_PUSH == true ]]; then gitOpenAndPullBranch fi echo "Updating bandwidth..." bandwidth echo "Updating pricing..." pricing echo "Updating VPC limits..." vpcLimits echo "Updating instance type data..." instanceTypeTestData echo "Finished codegen"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mengfwan/test-mcp-glama'

If you have feedback or need assistance with the MCP directory API, please join our Discord server