From 3af8696761780a6e4576bac6ec58c66763668eee Mon Sep 17 00:00:00 2001 From: Drew Banin Date: Tue, 9 Jul 2019 21:43:59 -0400 Subject: [PATCH 1/2] Update CONTRIBUTING.md --- CONTRIBUTING.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea40f58da2e..41d1cb3006c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,13 +2,13 @@ ## About this document -This document is as a guide for contributing to dbt. It is not intended as a guide for end users of dbt (though if it is helpful, that's great!) and it assumes a certain level of familiarity with Python concepts such as virtualenvs, `pip`, module/filesystem layouts, etc. It also assumes you are using macOS or Linux and are comfortable with the command line. +This document is a guide intended for folks interested in contributing to dbt. It is not intended as a guide for end users of dbt (though if it is helpful, that's great!) and it assumes a certain level of familiarity with Python concepts such as virtualenvs, `pip`, python modules, filesystems, and so on. It also assumes you are using macOS or Linux and are comfortable with the command line. If you get stuck while reading this guide, drop us a line in the #development channel on [slack](slack.getdbt.com). ## Getting the code ### Installing git -You will need `git` in order to get dbt and contribute code. On macOS, the best way to get that is to just install Xcode. +You will need `git` in order to download and modify the dbt source code. On macOS, the best way to download git is to just install Xcode. ### External contributors @@ -43,12 +43,12 @@ This will create and activate a new Python virtual environment. ### docker and docker-compose -Docker and docker-compose are both used in testing. For macOS, the easiest thing to do is to [download docker for mac](https://store.docker.com/editions/community/docker-ce-desktop-mac). You'll need to make an account. On Linux, if you can use one of the packages [here](https://docs.docker.com/install/#server). We recommend installing from docker.com instead of from your package manager. On Linux you also have to install docker-compose separately, follow [these instructions](https://docs.docker.com/compose/install/#install-compose). +Docker and docker-compose are both used in testing. For macOS, the easiest thing to do is to [download docker for mac](https://store.docker.com/editions/community/docker-ce-desktop-mac). You'll need to make an account. On Linux, you can use one of the packages [here](https://docs.docker.com/install/#server). We recommend installing from docker.com instead of from your package manager. On Linux you also have to install docker-compose separately, follow [these instructions](https://docs.docker.com/compose/install/#install-compose). ### Installing postgres locally (optional) -For testing, and later in the examples in this document, you may want to have `psql` available so you can poke around in the database and see what happened. We recommend that you use [homebrew](https://brew.sh/) for that on macOS, and your package manager on Linux. You can install any version of the postgres client that you'd like. So on macOS, with homebrew setup: +For testing, and later in the examples in this document, you may want to have `psql` available so you can poke around in the database and see what happened. We recommend that you use [homebrew](https://brew.sh/) for that on macOS, and your package manager on Linux. You can install any version of the postgres client that you'd like. On macOS, with homebrew setup, you can run: ``` brew install postgresql @@ -58,7 +58,7 @@ brew install postgresql ### Installation -First make sure that you setup your `virtualenv` as described in section _Setting up an environment_. Next, install dbt (and it's dependencies) with: +First make sure that you set up your `virtualenv` as described in section _Setting up an environment_. Next, install dbt (and it's dependencies) with: ``` pip install -r requirements.txt @@ -70,7 +70,7 @@ When dbt is installed from source in this way, any changes you make to the dbt s With your virtualenv activated, the `dbt` script should point back to the source code you've cloned on your machine. You can verify this by running `which dbt`. This command should show you a path to an executable in your virtualenv. -Configure your [profile](https://docs.getdbt.com/docs/configure-your-profile) as necessary to connect to your target databases. It may be a good idea to add a new profile pointing to a local postgres instance, or a specific test sandbox within your database. +Configure your [profile](https://docs.getdbt.com/docs/configure-your-profile) as necessary to connect to your target databases. It may be a good idea to add a new profile pointing to a local postgres instance, or a specific test sandbox within your data warehouse if appropriate. ## Testing @@ -92,7 +92,7 @@ A deep understanding of these tools in not required to effectively contribute to ### Running tests via Docker -dbt's unit and integration tests run in Docker. Because dbt works with a number of different databases, you will need to supply credentials for one or more of these databases in your test environment. Most organizations don't have access to each of a BigQuery, Redshift, Snowflake, and Postgres database, so it's likely that you will be unable to run every integration test locally. Fortunately, Fishtown Analytics provides a CI environment with access to sandboxed Redshift, Snowflake, BigQuery, and Postgres databases. See the section on Submitting a Pull Request below for more information on this CI setup. +dbt's unit and integration tests run in Docker. Because dbt works with a number of different databases, you will need to supply credentials for one or more of these databases in your test environment. Most organizations don't have access to each of a BigQuery, Redshift, Snowflake, and Postgres database, so it's likely that you will be unable to run every integration test locally. Fortunately, Fishtown Analytics provides a CI environment with access to sandboxed Redshift, Snowflake, BigQuery, and Postgres databases. See the section on _Submitting a Pull Request_ below for more information on this CI setup. #### Specifying your test credentials @@ -104,7 +104,7 @@ cp test.env.sample test.env atom test.env # supply your credentials ``` -We recommend starting with dbt's Postgres tests. These tests cover most of the functionality in dbt, are the fastest to run, and are the easiest to set up. dbt's test suite runs Postgres in a Docker container, so no setup should be required to run these tests. If you additionally want to test Snowflake, Bigquery, or Redshift locally you'll need to get credentials and add them to this file. +We recommend starting with dbt's Postgres tests. These tests cover most of the functionality in dbt, are the fastest to run, and are the easiest to set up. dbt's test suite runs Postgres in a Docker container, so no setup should be required to run these tests. If you additionally want to test Snowflake, Bigquery, or Redshift locally you'll need to get credentials and add them to the `test.env` file. #### Running tests @@ -114,7 +114,7 @@ dbt's unit tests and Python linter can be run with: make test-unit ``` -To run the Postgres+python 3.6 integration tests, you'll have to do one extra step of setting up the test database: +To run the Postgres + Python 3.6 integration tests, you'll have to do one extra step of setting up the test database: ``` docker-compose up -d database @@ -152,4 +152,4 @@ When pull requests are submitted to the `fishtown-analytics/dbt` repo, GitHub wi **If the PR submitter is not a member of the `fishtown-analytics` organization, then these environment variables will not be automatically supplied in the CI environment**. Once a core maintainer has taken a look at the Pull Request, they will kick off the test suite with the required credentials. -Once your tests are passing and your PR has been reviewed, a dbt maintainer will merge your changes into active development branch! And that's it! Happy developing :tada: +Once your tests are passing and your PR has been reviewed, a dbt maintainer will merge your changes into the active development branch! And that's it! Happy developing :tada: From 453e81e895ee4de8e11cc3fe1e95b8c17e3cb5c7 Mon Sep 17 00:00:00 2001 From: Connor McArthur Date: Tue, 9 Jul 2019 21:44:06 -0400 Subject: [PATCH 2/2] =?UTF-8?q?Bump=20version:=200.14.0rc1=20=E2=86=92=200?= =?UTF-8?q?.14.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 2 +- core/dbt/version.py | 2 +- core/setup.py | 2 +- plugins/bigquery/setup.py | 2 +- plugins/postgres/setup.py | 2 +- plugins/redshift/setup.py | 2 +- plugins/snowflake/setup.py | 2 +- setup.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 26b2e37310e..78602c74953 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.14.0rc1 +current_version = 0.14.0 parse = (?P\d+) \.(?P\d+) \.(?P\d+) diff --git a/core/dbt/version.py b/core/dbt/version.py index a2fe2966b1d..6a5d1934869 100644 --- a/core/dbt/version.py +++ b/core/dbt/version.py @@ -56,5 +56,5 @@ def get_version_information(): .format(version_msg)) -__version__ = '0.14.0rc1' +__version__ = '0.14.0' installed = get_installed_version() diff --git a/core/setup.py b/core/setup.py index 151db01d712..3a82f183fe1 100644 --- a/core/setup.py +++ b/core/setup.py @@ -9,7 +9,7 @@ def read(fname): package_name = "dbt-core" -package_version = "0.14.0rc1" +package_version = "0.14.0" description = """dbt (data build tool) is a command line tool that helps \ analysts and engineers transform data in their warehouse more effectively""" diff --git a/plugins/bigquery/setup.py b/plugins/bigquery/setup.py index c078d827be0..531a66e49bb 100644 --- a/plugins/bigquery/setup.py +++ b/plugins/bigquery/setup.py @@ -4,7 +4,7 @@ import os package_name = "dbt-bigquery" -package_version = "0.14.0rc1" +package_version = "0.14.0" description = """The bigquery adapter plugin for dbt (data build tool)""" this_directory = os.path.abspath(os.path.dirname(__file__)) diff --git a/plugins/postgres/setup.py b/plugins/postgres/setup.py index 21a10000a3b..41d217ead19 100644 --- a/plugins/postgres/setup.py +++ b/plugins/postgres/setup.py @@ -4,7 +4,7 @@ import os package_name = "dbt-postgres" -package_version = "0.14.0rc1" +package_version = "0.14.0" description = """The postgres adpter plugin for dbt (data build tool)""" this_directory = os.path.abspath(os.path.dirname(__file__)) diff --git a/plugins/redshift/setup.py b/plugins/redshift/setup.py index 2bde3fbd360..2e5b37e7ba7 100644 --- a/plugins/redshift/setup.py +++ b/plugins/redshift/setup.py @@ -4,7 +4,7 @@ import os package_name = "dbt-redshift" -package_version = "0.14.0rc1" +package_version = "0.14.0" description = """The redshift adapter plugin for dbt (data build tool)""" this_directory = os.path.abspath(os.path.dirname(__file__)) diff --git a/plugins/snowflake/setup.py b/plugins/snowflake/setup.py index 52b83670800..c4e46fb4147 100644 --- a/plugins/snowflake/setup.py +++ b/plugins/snowflake/setup.py @@ -4,7 +4,7 @@ import os package_name = "dbt-snowflake" -package_version = "0.14.0rc1" +package_version = "0.14.0" description = """The snowflake adapter plugin for dbt (data build tool)""" this_directory = os.path.abspath(os.path.dirname(__file__)) diff --git a/setup.py b/setup.py index d284368d365..fac6523e884 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ package_name = "dbt" -package_version = "0.14.0rc1" +package_version = "0.14.0" description = """With dbt, data analysts and engineers can build analytics \ the way engineers build applications."""