feat: ttl api for new trace tables #1685
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: e2e-k3s | |
on: | |
pull_request: | |
types: [labeled] | |
jobs: | |
e2e-k3s: | |
runs-on: ubuntu-latest | |
if: ${{ github.event.label.name == 'ok-to-test' }} | |
env: | |
DOCKER_TAG: pull-${{ github.event.number }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup golang | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.21" | |
- name: Build query-service image | |
env: | |
DEV_BUILD: 1 | |
run: make build-ee-query-service-amd64 | |
- name: Build frontend image | |
run: make build-frontend-amd64 | |
- name: Create a k3s cluster | |
uses: AbsaOSS/k3d-action@v2 | |
with: | |
cluster-name: "signoz" | |
- name: Inject the images to the cluster | |
run: k3d image import signoz/query-service:$DOCKER_TAG signoz/frontend:$DOCKER_TAG -c signoz | |
- name: Set up HotROD sample-app | |
run: | | |
# create sample-application namespace | |
kubectl create ns sample-application | |
# apply hotrod k8s manifest file | |
kubectl -n sample-application apply -f https://raw.githubusercontent.com/SigNoz/signoz/develop/sample-apps/hotrod/hotrod.yaml | |
# wait for all deployments in sample-application namespace to be READY | |
kubectl -n sample-application get deploy --output name | xargs -r -n1 -t kubectl -n sample-application rollout status --timeout=300s | |
- name: Deploy the app | |
run: | | |
# add signoz helm repository | |
helm repo add signoz https://charts.signoz.io | |
# create platform namespace | |
kubectl create ns platform | |
# installing signoz using helm | |
helm install my-release signoz/signoz -n platform \ | |
--wait \ | |
--timeout 10m0s \ | |
--set frontend.service.type=LoadBalancer \ | |
--set queryService.image.tag=$DOCKER_TAG \ | |
--set frontend.image.tag=$DOCKER_TAG | |
# get pods, services and the container images | |
kubectl get pods -n platform | |
kubectl get svc -n platform | |
- name: Kick off a sample-app workload | |
run: | | |
# start the locust swarm | |
kubectl --namespace sample-application run strzal --image=djbingham/curl \ | |
--restart='OnFailure' -i --tty --rm --command -- curl -X POST -F \ | |
'user_count=6' -F 'spawn_rate=2' http://locust-master:8089/swarm | |
- name: Get short commit SHA, display tunnel URL and IP Address of the worker node | |
id: get-subdomain | |
run: | | |
subdomain="pr-$(git rev-parse --short HEAD)" | |
echo "URL for tunnelling: https://$subdomain.loca.lt" | |
echo "subdomain=$subdomain" >> $GITHUB_OUTPUT | |
worker_ip="$(curl -4 -s ipconfig.io/ip)" | |
echo "Worker node IP address: $worker_ip" | |
- name: Start tunnel | |
env: | |
SUBDOMAIN: ${{ steps.get-subdomain.outputs.subdomain }} | |
run: | | |
npm install -g localtunnel | |
host=$(kubectl get svc -n platform | grep frontend | tr -s ' ' | cut -d" " -f4) | |
port=$(kubectl get svc -n platform | grep frontend | tr -s ' ' | cut -d" " -f5 | cut -d":" -f1) | |
lt -p $port -l $host -s $SUBDOMAIN |