Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 0 additions & 12 deletions .ci/Dockerfile.cypress

This file was deleted.

25 changes: 0 additions & 25 deletions .ci/compose.ci.yaml

This file was deleted.

73 changes: 0 additions & 73 deletions .ci/compose.cypress.yaml

This file was deleted.

39 changes: 0 additions & 39 deletions .ci/docker_build

This file was deleted.

9 changes: 0 additions & 9 deletions .ci/pack

This file was deleted.

6 changes: 0 additions & 6 deletions .ci/update_version

This file was deleted.

109 changes: 31 additions & 78 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,36 @@ version: 2.0
jobs:
backend-lint:
docker:
- image: cimg/python:3.8
- image: circleci/python:3.7.0
steps:
- checkout
- run: pip3 install black==23.1.0 ruff==0.0.287
- run: ruff check .
- run: black --check .
- run: sudo pip install flake8
- run: ./bin/flake8_tests.sh
backend-unit-tests:
environment:
COMPOSE_FILE: .circleci/docker-compose.circle.yml
COMPOSE_PROJECT_NAME: redash
docker:
- image: cimg/base:2025.04
- image: circleci/buildpack-deps:xenial
steps:
- setup_remote_docker
- checkout
- run:
name: Build Docker Images
command: |
set -x
docker compose build --build-arg install_groups="main,all_ds,dev" --build-arg skip_frontend_build=true
docker compose up -d
docker-compose build --build-arg skip_ds_deps=true --build-arg skip_frontend_build=true
docker-compose up -d
sleep 10
- run:
name: Create Test Database
command: docker compose -p redash run --rm postgres psql -h postgres -U postgres -c "create database tests;"
command: docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests;"
- run:
name: List Enabled Query Runners
command: docker compose -p redash run --rm redash manage ds list_types
command: docker-compose run --rm redash manage ds list_types
- run:
name: Run Tests
command: docker compose -p redash run --name tests redash tests --junitxml=junit.xml --cov-report=xml --cov=redash --cov-config=.coveragerc tests/
command: docker-compose run --name tests redash tests --junitxml=junit.xml --cov-report xml --cov=redash --cov-config .coveragerc tests/
- run:
name: Copy Test Results
command: |
Expand All @@ -47,102 +46,56 @@ jobs:
path: coverage.xml
frontend-lint:
docker:
- image: cimg/node:18.20
- image: cimg/node:12.22.8
steps:
- checkout
- run: mkdir -p /tmp/test-results/eslint
- run: |
npm install --global --force yarn@$1.22.22
yarn cache clean && yarn --frozen-lockfile --network-concurrency 1
- run: yarn lint:ci
- run: npm ci
- run: npm run lint:ci
- store_test_results:
path: /tmp/test-results
frontend-unit-tests:
docker:
- image: cimg/node:18.20
- image: cimg/node:12.22.8
steps:
- checkout
- run: |
npm install --global --force yarn@$1.22.22
yarn cache clean && yarn --frozen-lockfile --network-concurrency 1
- run: sudo apt update
- run: sudo apt install python3-pip
- run: sudo pip3 install -r requirements_bundles.txt
- run: npm ci
- run: npm run bundle
- run:
name: Run App Tests
command: yarn test
command: npm test
- run:
name: Run Visualizations Tests
command: (cd viz-lib && yarn test)
- run: yarn lint

frontend-e2e-tests:
environment:
COMPOSE_FILE: .ci/compose.cypress.yml
COMPOSE_PROJECT_NAME: cypress
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 1
# PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
# CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
# CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
docker:
- image: cimg/node:18.20
steps:
- run: checkout
- run:
name: Install Dependencies
command: |
npm install --global --force yarn@$1.22.22
yarn cache clean && yarn --frozen-lockfile --network-concurrency 1
# - name: Enable Code Coverage Report For Master Branch
# if: endsWith(github.ref, '/master')
# run: |
# echo "CODE_COVERAGE=true" >> "$GITHUB_ENV"
- run:
name: Setup Redash Server
command: |
set -x
yarn cypress build
yarn cypress start -- --skip-db-seed
docker compose run cypress yarn cypress db-seed
- run:
name: Execute Cypress Tests
command: yarn cypress run-ci
# - name: "Failure: output container logs to console"
# if: failure()
# run: docker compose logs
- run:
name: Copy Code Coverage Results
command: docker cp cypress:/usr/src/app/coverage ./coverage || true
# - name: Store Coverage Results
# uses: actions/upload-artifact@v4
# with:
# name: coverage
# path: coverage
command: (cd viz-lib && npm test)
- run: npm run lint
build-docker-image:
docker:
- image: cimg/node:18.20
- image: cimg/node:12.22.8
steps:
- setup_remote_docker
- checkout
- run: echo "export MOZILLA_VERSION=master" >> $BASH_ENV
- run: |
npm install --global --force yarn@$1.22.22
yarn cache clean && yarn --frozen-lockfile --network-concurrency 1
- run: sudo apt update
- run: sudo apt install python3-pip
- run: sudo pip3 install -r requirements_bundles.txt
- run: .circleci/update_version
# Bundle extensions:
# - run: npm run bundle
- run: npm run bundle
- run: .circleci/docker_build
build-docker-image-tag:
docker:
- image: cimg/node:18.20
- image: cimg/node:12.22.8
steps:
- setup_remote_docker
- checkout
- run: echo "export MOZILLA_VERSION=$CIRCLE_TAG" >> $BASH_ENV
- run: |
npm install --global --force yarn@$1.22.22
yarn cache clean && yarn --frozen-lockfile --network-concurrency 1
- run: sudo apt update
- run: sudo apt install python3-pip
- run: sudo pip3 install -r requirements_bundles.txt
- run: .circleci/update_version
# Bundle extensions:
# - run: npm run bundle
- run: npm run bundle
- run: .circleci/docker_build
# Create alias from tag to "latest":
- run: docker tag $DOCKERHUB_REPO:$CIRCLE_TAG $DOCKERHUB_REPO:latest
Expand Down
9 changes: 2 additions & 7 deletions .circleci/docker-compose.circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,11 @@ services:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
# POSTGRES_PASSWORD: "FmTKs5vX52ufKR1rd8tn4MoSP7zvCJwb"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
# REDASH_DATABASE_URL: "postgresql://postgres:FmTKs5vX52ufKR1rd8tn4MoSP7zvCJwb@postgres/postgres"
REDASH_COOKIE_SECRET: "2H9gNG9obnAQ9qnR9BDTQUph6CbXKCzF"
redis:
image: redis:7-alpine
image: redis:3.0-alpine
restart: unless-stopped
postgres:
image: postgres:18-alpine
image: postgres:9.5.6-alpine
command: "postgres -c fsync=off -c full_page_writes=off -c synchronous_commit=OFF"
restart: unless-stopped
environment:
POSTGRES_HOST_AUTH_METHOD: "trust"
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
client/.tmp/
client/dist/
node_modules/
viz-lib/node_modules/
.tmp/
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/---bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ about: Report reproducible software issues so we can improve

We use GitHub only for bug reports 🐛

Anything else should be a discussion: https://github.com/getredash/redash/discussions/ 👫
Anything else should be posted to https://discuss.redash.io 👫

🚨For support, help & questions use https://github.com/getredash/redash/discussions/categories/q-a
💡For feature requests & ideas use https://github.com/getredash/redash/discussions/categories/ideas
🚨For support, help & questions use https://discuss.redash.io/c/support
💡For feature requests & ideas use https://discuss.redash.io/c/feature-requests

**Found a security vulnerability?** Please email security@redash.io to report any security vulnerabilities. We will acknowledge receipt of your vulnerability and strive to send you regular updates about our progress. If you're curious about the status of your disclosure please feel free to email us again. If you want to encrypt your disclosure email, you can use this PGP key.

Expand Down
Loading