Skip to content

benchmark-latency

benchmark-latency #368

name: Benchmark Latency
on:
repository_dispatch:
types: [ benchmark-latency ]
permissions:
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout
jobs:
performance:
runs-on: ubuntu-22.04
name: Benchmark Performance
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: azure/setup-kubectl@v4
with:
version: 'v1.23.6'
- name: Install aws-iam-authenticator
run: |
curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.8/2020-09-18/bin/linux/amd64/aws-iam-authenticator && \
chmod +x ./aws-iam-authenticator && \
sudo cp ./aws-iam-authenticator /usr/local/bin/aws-iam-authenticator
aws-iam-authenticator version
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-session-name: GitHub_to_AWS_via_FederatedOIDC
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME_CORP }}
aws-region: us-west-2
- name: Create and Auth kubeconfig
run: |
echo "$CONFIG" > kubeconfig
KUBECONFIG=kubeconfig kubectl config set-credentials github-actions-doltgresql --exec-api-version=client.authentication.k8s.io/v1alpha1 --exec-command=aws-iam-authenticator --exec-arg=token --exec-arg=-i --exec-arg=eks-cluster-1
KUBECONFIG=kubeconfig kubectl config set-context github-actions-doltgresql-context --cluster=eks-cluster-1 --user=github-actions-doltgresql --namespace=performance-benchmarking
KUBECONFIG=kubeconfig kubectl config use-context github-actions-doltgresql-context
env:
CONFIG: ${{ secrets.CORP_KUBECONFIG }}
- name: Create Sysbench Performance Benchmarking K8s Job
run: ./.github/scripts/performance-benchmarking/run-benchmarks.sh
env:
FROM_SERVER: ${{ github.event.client_payload.from_server }}
FROM_VERSION: ${{ github.event.client_payload.from_version }}
TO_SERVER: ${{ github.event.client_payload.to_server }}
TO_VERSION: ${{ github.event.client_payload.to_version }}
MODE: ${{ github.event.client_payload.mode }}
ISSUE_NUMBER: ${{ github.event.client_payload.issue_number }}
ACTOR: ${{ github.event.client_payload.actor }}
ACTOR_EMAIL: ${{ github.event.client_payload.actor_email }}
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
KUBECONFIG: "./kubeconfig"
INIT_BIG_REPO: ${{ github.event.client_payload.init_big_repo }}
NOMS_BIN_FORMAT: "__DOLT__"
TEMPLATE_SCRIPT: ${{ github.event.client_payload.template_script }}
# TODO: skipping tpcc with Doltgres and Postgres, not currently working
# - name: Create TPCC Performance Benchmarking K8s Job
# run: ./.github/scripts/performance-benchmarking/run-benchmarks.sh
# env:
# FROM_SERVER: ${{ github.event.client_payload.from_server }}
# FROM_VERSION: ${{ github.event.client_payload.from_version }}
# TO_SERVER: ${{ github.event.client_payload.to_server }}
# TO_VERSION: ${{ github.event.client_payload.to_version }}
# MODE: ${{ github.event.client_payload.mode }}
# ISSUE_NUMBER: ${{ github.event.client_payload.issue_number }}
# ACTOR: ${{ github.event.client_payload.actor }}
# ACTOR_EMAIL: ${{ github.event.client_payload.actor_email }}
# REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
# KUBECONFIG: "./kubeconfig"
# INIT_BIG_REPO: ${{ github.event.client_payload.init_big_repo }}
# NOMS_BIN_FORMAT: "__DOLT__"
# WITH_TPCC: "true"
# TEMPLATE_SCRIPT: ${{ github.event.client_payload.template_script }}