Skip to main content
Glama
e2e-upgrade.yaml7.53 kB
name: E2EUpgrade on: workflow_dispatch: inputs: from_git_ref: type: string required: true region: type: choice options: - "us-east-2" - "us-west-2" default: "us-east-2" to_git_ref: type: string k8s_version: type: choice options: - "1.28" - "1.29" - "1.30" - "1.31" - "1.32" - "1.33" - "1.34" default: "1.34" cleanup: required: true default: true type: boolean source: type: string default: "aws" workflow_call: inputs: from_git_ref: type: string required: true to_git_ref: type: string region: type: string default: "us-east-2" k8s_version: type: string default: "1.34" cleanup: required: true type: boolean workflow_trigger: type: string source: type: string default: "aws" secrets: SLACK_WEBHOOK_URL: required: true jobs: run-suite: permissions: id-token: write # aws-actions/configure-aws-credentials@v4.0.1 statuses: write # ./.github/actions/commit-status/start name: suite-upgrade runs-on: ubuntu-latest steps: # This additional checkout can be removed when the commit status action is added to the from_git_ref version of Karpenter - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: ref: ${{ inputs.to_git_ref }} - if: always() && github.event_name == 'workflow_run' uses: ./.github/actions/commit-status/start with: name: ${{ github.workflow }} (${{ inputs.k8s_version }}) / e2e (Upgrade) git_ref: ${{ inputs.to_git_ref }} - uses: ./.github/actions/install-deps - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: ref: ${{ inputs.from_git_ref }} - name: configure aws credentials uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v5.0.0 with: role-to-assume: arn:aws:iam::${{ vars.CI_ACCOUNT_ID }}:role/${{ vars.CI_ROLE_NAME }} aws-region: ${{ inputs.region }} role-duration-seconds: 21600 - id: generate-cluster-name name: generate cluster name run: | CLUSTER_NAME="upgrade-$RANDOM$RANDOM" echo "Using cluster name \"$CLUSTER_NAME\"" echo CLUSTER_NAME="$CLUSTER_NAME" >> "$GITHUB_OUTPUT" - name: setup eks cluster '${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }}' uses: ./.github/actions/e2e/setup-cluster with: account_id: ${{ vars.CI_ACCOUNT_ID }} role: ${{ vars.CI_ROLE_NAME }} region: ${{ inputs.region }} cluster_name: ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} k8s_version: ${{ inputs.k8s_version }} eksctl_version: v0.202.0 ip_family: IPv4 # Set the value to IPv6 if IPv6 suite, else IPv4 git_ref: ${{ inputs.from_git_ref }} ecr_account_id: ${{ vars.SNAPSHOT_ACCOUNT_ID }} ecr_region: ${{ vars.SNAPSHOT_REGION }} prometheus_workspace_id: ${{ vars.WORKSPACE_ID }} prometheus_region: ${{ vars.PROMETHEUS_REGION }} - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: ref: ${{ inputs.to_git_ref }} - name: upgrade crds uses: ./.github/actions/e2e/upgrade-crds with: account_id: ${{ vars.CI_ACCOUNT_ID }} role: ${{ vars.CI_ROLE_NAME }} region: ${{ inputs.region }} cluster_name: ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} git_ref: ${{ inputs.to_git_ref }} - name: upgrade eks cluster '${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }}' uses: ./.github/actions/e2e/setup-cluster with: account_id: ${{ vars.CI_ACCOUNT_ID }} role: ${{ vars.CI_ROLE_NAME }} region: ${{ inputs.region }} cluster_name: ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} k8s_version: ${{ inputs.k8s_version }} eksctl_version: v0.202.0 ip_family: IPv4 # Set the value to IPv6 if IPv6 suite, else IPv4 git_ref: ${{ inputs.to_git_ref }} ecr_account_id: ${{ vars.SNAPSHOT_ACCOUNT_ID }} ecr_region: ${{ vars.SNAPSHOT_REGION }} prometheus_workspace_id: ${{ vars.WORKSPACE_ID }} prometheus_region: ${{ vars.PROMETHEUS_REGION }} - name: run the Upgrade test suite env: SOURCE: ${{ inputs.source }} run: | aws eks update-kubeconfig --name ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} if [[ "$SOURCE" == 'aws' ]]; then CLUSTER_NAME=${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} INTERRUPTION_QUEUE=${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} CLUSTER_ENDPOINT="$(aws eks describe-cluster --name ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} --query "cluster.endpoint" --output text)" TEST_SUITE="Integration" make e2etests elif [[ "$SOURCE" == 'upstream' ]]; then FOCUS="Integration" CLUSTER_NAME="${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }}" make upstream-e2etests elif [[ "$SOURCE" == 'all' ]]; then CLUSTER_NAME=${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} INTERRUPTION_QUEUE=${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} CLUSTER_ENDPOINT="$(aws eks describe-cluster --name ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} --query "cluster.endpoint" --output text)" TEST_SUITE="Integration" make e2etests FOCUS="Integration" CLUSTER_NAME="${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }}" make upstream-e2etests fi - name: notify slack of success or failure uses: ./.github/actions/e2e/slack/notify if: (success() || failure()) && github.event_name != 'workflow_run' && inputs.workflow_trigger != 'versionCompatibility' with: cluster_name: ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} url: ${{ secrets.SLACK_WEBHOOK_URL }} suite: Upgrade git_ref: ${{ inputs.to_git_ref }} - name: dump logs on failure uses: ./.github/actions/e2e/dump-logs if: failure() || cancelled() with: account_id: ${{ vars.CI_ACCOUNT_ID }} role: ${{ vars.CI_ROLE_NAME }} region: ${{ inputs.region }} cluster_name: ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} - name: cleanup karpenter and cluster '${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }}' resources uses: ./.github/actions/e2e/cleanup if: always() && inputs.cleanup with: account_id: ${{ vars.CI_ACCOUNT_ID }} role: ${{ vars.CI_ROLE_NAME }} region: ${{ inputs.region }} cluster_name: ${{ steps.generate-cluster-name.outputs.CLUSTER_NAME }} git_ref: ${{ inputs.to_git_ref }} eksctl_version: v0.202.0 - if: always() && github.event_name == 'workflow_run' uses: ./.github/actions/commit-status/end with: name: ${{ github.workflow }} (${{ inputs.k8s_version }}) / e2e (Upgrade) git_ref: ${{ inputs.to_git_ref }}

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