diff --git a/.circleci/config.yml b/.circleci/config.yml index aee6b0b8ec..ac7e5bb0d1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,7 +34,7 @@ jobs: command: docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests;" - run: name: Run Tests - command: docker-compose run --name tests redash tests --junitxml=junit.xml 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: | @@ -58,6 +58,7 @@ jobs: environment: COMPOSE_FILE: .circleci/docker-compose.cypress.yml COMPOSE_PROJECT_NAME: cypress + PERCY_TOKEN_ENCODED: MWM3OGUzNzk4ZWQ2NTE4YTBhMDAwZDNiNWE1Nzc4ZjEzZjYyMzY1MjE0NjY0NDRiOGE5ODc5ZGYzYTU4ZmE4NQ== docker: - image: circleci/node:8 steps: @@ -65,15 +66,16 @@ jobs: - checkout - run: name: Install npm dependencies - command: npm install + command: | + npm install - run: name: Setup Redash server command: | - npm run cypress:server start-ci - docker-compose run cypress node ./cypress/cypress-server.js setup + npm run cypress start + docker-compose run cypress node ./cypress/cypress.js db-seed - run: name: Execute Cypress tests - command: docker-compose run cypress ./node_modules/.bin/cypress run + command: npm run cypress run-ci build-tarball: docker: - image: circleci/node:8 @@ -81,9 +83,9 @@ jobs: - checkout - run: sudo apt install python-pip - run: npm install + - run: .circleci/update_version - run: npm run bundle - run: npm run build - - run: .circleci/update_version - run: .circleci/pack - store_artifacts: path: /tmp/artifacts/ diff --git a/.circleci/docker-compose.cypress.yml b/.circleci/docker-compose.cypress.yml index 024e5b7e0e..2581d5d1a9 100644 --- a/.circleci/docker-compose.cypress.yml +++ b/.circleci/docker-compose.cypress.yml @@ -34,6 +34,10 @@ services: - worker environment: CYPRESS_baseUrl: "http://server:5000" + PERCY_TOKEN: ${PERCY_TOKEN} + PERCY_BRANCH: ${CIRCLE_BRANCH} + PERCY_COMMIT: ${CIRCLE_SHA1} + PERCY_PULL_REQUEST: ${CIRCLE_PR_NUMBER} redis: image: redis:3.0-alpine restart: unless-stopped diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 7447a7e7cd..0000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,34 +0,0 @@ - - -### Issue Summary - -A summary of the issue and the browser/OS environment in which it occurs. - -### Steps to Reproduce - -1. This is the first step -2. This is the second step, etc. - -Any other info e.g. Why do you consider this to be a bug? What did you expect to happen instead? - -### Technical details: - -* Redash Version: -* Browser/OS: -* How did you install Redash: diff --git a/.github/ISSUE_TEMPLATE/---bug_report.md b/.github/ISSUE_TEMPLATE/---bug_report.md new file mode 100644 index 0000000000..f376d6f1ce --- /dev/null +++ b/.github/ISSUE_TEMPLATE/---bug_report.md @@ -0,0 +1,34 @@ +--- +name: "\U0001F41B Bug report" +about: Report reproducible software issues so we can improve +--- + + + +### Issue Summary + +A summary of the issue and the browser/OS environment in which it occurs. + +### Steps to Reproduce + +1. This is the first step +2. This is the second step, etc. + +Any other info e.g. Why do you consider this to be a bug? What did you expect to happen instead? + +### Technical details: + +* Redash Version: +* Browser/OS: +* How did you install Redash: diff --git a/.github/ISSUE_TEMPLATE/--anything_else.md b/.github/ISSUE_TEMPLATE/--anything_else.md new file mode 100644 index 0000000000..9db411b781 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/--anything_else.md @@ -0,0 +1,17 @@ +--- +name: "\U0001F4A1Anything else" +about: "For help, support, features & ideas - please use https://discuss.redash.io \U0001F46B " +labels: "Support Question" +--- + +We use GitHub only for bug reports πŸ› + +Anything else should be posted to https://discuss.redash.io πŸ‘« + +🚨For support, help & questions use https://discuss.redash.io/c/support +πŸ’‘For feature requests & ideas use https://discuss.redash.io/c/feature-requests + +Alternatively, check out these resources below. Thanks! 😁. + +- [Forum](https://disucss.redash.io) +- [Knowledge Base](https://redash.io/help) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbb4a8f3c9..9341e1c32d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,33 @@ # Change Log +## v6.0.0 - 2018-12-16 + +v6.0.0 release version. Mainly includes fixes for regressions from the beta version. + +This release had contributions from 5 people: @rauchy, @denisov-vlad, @arikfr, @ariarijp, and @gabrieldutra. Thank you, everyone πŸ™ + +### Changed + +* #3183 Make refresh_queries less noisey in logs. @arikfr + +### Fixed + +* #3163 Include correct version in production builds. @rauchy +* #3161 Clickhouse: fix int() conversion error. @denisov-vlad +* #3166 Directly using record_event task requires timestamp. @arikfr +* #3167 Alert.evaluate failing when the column is missing. @arikfr +* ##3162 Remove API permissions for users who have been disabled. @rauchy +* #3171 Reject empty query name. @ariarijp +* #3175, #3186 Fix disable error message. @rauchy, @gabrieldutra +* #3182 [Redshift] support for schema names with dots. @arikfr +* #3187 Safely create_app in Celery code (try to fetch current_app first). @arikfr + +### Other + +* #3155 Add DB Seed to Cypress and setup Percy. @gabrieldutra +* #3180 Remove coverage from pytest terminal output. @rauchy + + ## v6.0.0-beta - 2018-12-03 This release was 2 months in the making and it is full with good stuff! diff --git a/Dockerfile.cypress b/Dockerfile.cypress index 31f619ba56..3efef14f49 100644 --- a/Dockerfile.cypress +++ b/Dockerfile.cypress @@ -1,10 +1,11 @@ FROM cypress/browsers:chrome67 -WORKDIR /usr/src/app +ENV APP /usr/src/app +WORKDIR $APP -RUN npm install cypress > /dev/null +RUN npm install --no-save cypress @percy/cypress > /dev/null -COPY cypress /usr/src/app/cypress -COPY cypress.json /usr/src/app/cypress.json +COPY cypress $APP/cypress +COPY cypress.json $APP/cypress.json RUN ./node_modules/.bin/cypress verify diff --git a/README.md b/README.md index 51fc205254..243fbc42ef 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,12 @@ Today **_Redash_** has support for querying multiple databases, including: Redsh ## Supported Data Sources -Redash supports more than 25 [data sources](https://redash.io/help/data-sources/supported-data-sources). +Redash supports more than 35 [data sources](https://redash.io/help/data-sources/supported-data-sources). ## Getting Help * Issues: https://github.com/getredash/redash/issues * Discussion Forum: https://discuss.redash.io/ -* Slack: http://slack.redash.io/ ## Reporting Bugs and Contributing Code diff --git a/client/app/components/EditInPlace.jsx b/client/app/components/EditInPlace.jsx index f10134118b..369f5d470b 100644 --- a/client/app/components/EditInPlace.jsx +++ b/client/app/components/EditInPlace.jsx @@ -40,7 +40,7 @@ export class EditInPlace extends React.Component { stopEditing = () => { const newValue = this.inputRef.current.value; - const ignorableBlank = this.props.ignoreBlanks && this.props.value === ''; + const ignorableBlank = this.props.ignoreBlanks && newValue === ''; if (!ignorableBlank && newValue !== this.props.value) { this.props.onDone(newValue); } diff --git a/client/app/components/QueryEditor.jsx b/client/app/components/QueryEditor.jsx index 268babbb13..9da2abb81f 100644 --- a/client/app/components/QueryEditor.jsx +++ b/client/app/components/QueryEditor.jsx @@ -179,7 +179,7 @@ class QueryEditor extends React.Component { const isExecuteDisabled = this.props.queryExecuting || !this.props.canExecuteQuery(); return ( -
+
Execute diff --git a/client/app/components/app-header/app-header.html b/client/app/components/app-header/app-header.html index 18ee1ea8fc..cb31912cf7 100644 --- a/client/app/components/app-header/app-header.html +++ b/client/app/components/app-header/app-header.html @@ -86,7 +86,7 @@
- +