diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2cd8a39..a08d93e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,25 @@ jobs: - name: Run Go tests run: go test ./... + scripts-regression: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-go@v5 + with: + go-version: "1.22" + cache: true + + - name: Run targeted importer tests + run: bash scripts/test_importers.sh + + - name: Run importer smoke gate + run: bash scripts/importer_smoke_gate_test.sh + + - name: Run pipeline runtime alignment gate + run: bash scripts/pipeline_runtime_alignment_test.sh + frontend-build: runs-on: ubuntu-latest steps: diff --git a/scripts/test_importers.sh b/scripts/test_importers.sh new file mode 100755 index 0000000..d92f938 --- /dev/null +++ b/scripts/test_importers.sh @@ -0,0 +1,123 @@ +#!/usr/bin/env bash + +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +cd "$ROOT_DIR" + +run_case() { + local name="$1" + shift + echo "[RUN] importer_test=${name}" + go test -count=1 -tags llm_script "$@" + echo "[PASS] importer_test=${name}" +} + +run_case "subscription-common" \ + ./scripts/subscription_import_common.go \ + ./scripts/subscription_import_common_test.go + +run_case "official-pricing-common" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/official_pricing_import_common_test.go + +run_case "plan-catalog" \ + ./scripts/subscription_import_common.go \ + ./scripts/import_plan_catalog.go \ + ./scripts/import_plan_catalog_test.go + +run_case "coreshub-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/coreshub_pricing_lib.go \ + ./scripts/import_coreshub_pricing.go \ + ./scripts/import_coreshub_pricing_test.go + +run_case "ctyun-subscription" \ + ./scripts/subscription_import_common.go \ + ./scripts/ctyun_subscription_lib.go \ + ./scripts/import_ctyun_subscription.go \ + ./scripts/import_ctyun_subscription_test.go + +run_case "tencent-subscription" \ + ./scripts/subscription_import_common.go \ + ./scripts/tencent_catalog_lib.go \ + ./scripts/import_tencent_subscription.go \ + ./scripts/import_tencent_subscription_test.go + +run_case "qwen-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_qwen_pricing.go \ + ./scripts/import_qwen_pricing_test.go + +run_case "hunyuan-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_hunyuan_pricing.go \ + ./scripts/import_hunyuan_pricing_test.go + +run_case "mobile-cloud-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_mobile_cloud_pricing.go \ + ./scripts/import_mobile_cloud_pricing_test.go + +run_case "youdao-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/youdao_pricing_lib.go \ + ./scripts/import_youdao_pricing.go \ + ./scripts/import_youdao_pricing_test.go + +run_case "platform360-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/platform360_pricing_lib.go \ + ./scripts/import_360_pricing.go \ + ./scripts/import_360_pricing_test.go + +run_case "cucloud-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_cucloud_pricing.go \ + ./scripts/import_cucloud_pricing_test.go + +run_case "huawei-maas-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_huawei_maas_pricing.go \ + ./scripts/import_huawei_maas_pricing_test.go + +run_case "baichuan-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_baichuan_pricing.go \ + ./scripts/import_baichuan_pricing_test.go + +run_case "lingyiwanwu-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_lingyiwanwu_pricing.go \ + ./scripts/import_lingyiwanwu_pricing_test.go + +run_case "sensenova-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_sensenova_pricing.go \ + ./scripts/import_sensenova_pricing_test.go + +run_case "xfyun-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_xfyun_pricing.go \ + ./scripts/import_xfyun_pricing_test.go + +run_case "bytedance-pricing" \ + ./scripts/subscription_import_common.go \ + ./scripts/official_pricing_import_common.go \ + ./scripts/import_bytedance_pricing.go \ + ./scripts/import_bytedance_pricing_test.go + +echo "IMPORTER_TARGETED_TEST_RESULT: PASS"