Skip to content

misc(clickhouse): Rewrite aggregation queries using Arel #16582

misc(clickhouse): Rewrite aggregation queries using Arel

misc(clickhouse): Rewrite aggregation queries using Arel #16582

Workflow file for this run

name: Run Spec
on:
push:
branches:
- "main"
pull_request:
types: [opened, synchronize, reopened]
permissions: {}
jobs:
run-spec:
name: Run Spec
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14-alpine
ports:
- "5432:5432"
env:
POSTGRES_DB: lago
POSTGRES_USER: lago
POSTGRES_PASSWORD: lago
redis:
image: redis
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
fail-fast: false
matrix:
ci_node_total: [8]
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7]
env:
RAILS_ENV: test
DATABASE_URL: "postgres://lago:lago@localhost:5432/lago"
LAGO_REDIS_CACHE_URL: "redis://localhost:6379"
LAGO_REDIS_STORE_URL: "localhost:6379"
RAILS_MASTER_KEY: N+XcWoGDzKjuoxrU8BIPN5D0/GSuqx9s
SECRET_KEY_BASE: cvIAI6ycC0OnVDRAjT5hmbRxnjCxl4YB
LAGO_API_URL: https://api.lago.dev
LAGO_PDF_URL: https://pdf.lago.dev
LAGO_DATA_API_URL: http://data_api
LAGO_FROM_EMAIL: [email protected]
LAGO_CLICKHOUSE_ENABLED: true
LAGO_CLICKHOUSE_MIGRATIONS_ENABLED: true
LAGO_CLICKHOUSE_HOST: localhost
LAGO_CLICKHOUSE_DATABASE: default
LAGO_CLICKHOUSE_USERNAME: ""
LAGO_CLICKHOUSE_PASSWORD: "password"
LAGO_KAFKA_EVENTS_CHARGED_IN_ADVANCE_TOPIC: events_charged_in_advance
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: ${{ secrets.KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC }}
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
KNAPSACK_PRO_LOG_LEVEL: info
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Ruby and gems
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.4.4"
bundler-cache: true
- name: Start Clickhouse database
run: |
docker run -d --rm -p 8123:8123 -p 9000:9000 --ulimit nofile=262144:262144 -v ./clickhouse-s3:/var/lib/clickhouse-s3 -v ./ci/clickhouse/config.xml:/etc/clickhouse-server/config.d/config.xml -e CLICKHOUSE_PASSWORD=password clickhouse/clickhouse-server
shell: bash
- name: Generate RSA keys
run: ./scripts/generate.rsa.sh
- name: Set up Postgres database schema
run: bin/rails db:schema:load:primary
- name: Set up Clickhouse database schema
run: bin/rails db:migrate:clickhouse
- name: Run tests
run: bundle exec rake knapsack_pro:queue:rspec
continue-on-error: true
- name: retry failed tests
run: bundle exec rspec --only-failures