Skip to content

Commit

Permalink
Merge pull request #35 from OpenSourcePolitics/add_casa
Browse files Browse the repository at this point in the history
Add casa dbt project
  • Loading branch information
JeanLouisLamezec authored Nov 22, 2024
2 parents 1a5b11d + cc83f3e commit 83813ae
Show file tree
Hide file tree
Showing 15 changed files with 186 additions and 1 deletion.
46 changes: 46 additions & 0 deletions .github/workflows/casa_models_run.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: casa_models_run

on:
workflow_dispatch:

env:
DBNAME: ${{ secrets.CASA_DBNAME_PROD }}
HOST: ${{ secrets.HOST }}
PASSWORD: ${{ secrets.PASSWORD }}
PORT: ${{ secrets.PORT }}
TARGET_SCHEMA: ${{ secrets.SCHEMA_PROD }}
USER: ${{ secrets.USER }}
PARTICIPATION_HOST_NAME: ${{ secrets.CASA_PARTICIPATION_HOST_NAME }}
WORKING_DIRECTORY: ./projects/casa


jobs:
casa_models_run:
name: casa_models_run
runs-on: ubuntu-latest
defaults:
run:
working-directory: ${{ env.WORKING_DIRECTORY }}

steps:
- name: Check out
uses: actions/checkout@master

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12.x"
cache: 'pip'

- name: Install dependencies
run: |
pip install -r requirements.txt
dbt deps --target prod
- name: Run dbt models
run: dbt run --target prod

- name: Test dbt models
run: dbt test --target prod


46 changes: 46 additions & 0 deletions .github/workflows/casa_models_run_preproduction.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: casa_models_run_preproduction

on:
workflow_dispatch:

env:
DBNAME: ${{ secrets.CASA_DBNAME_PROD }}
HOST: ${{ secrets.HOST_PREPROD }}
PASSWORD: ${{ secrets.PASSWORD_PREPROD }}
PORT: ${{ secrets.PORT_PREPROD }}
TARGET_SCHEMA: ${{ secrets.SCHEMA_PROD }}
USER: ${{ secrets.USER_PREPROD }}
PARTICIPATION_HOST_NAME: ${{ secrets.CASA_PARTICIPATION_HOST_NAME }}
WORKING_DIRECTORY: ./projects/casa


jobs:
casa_models_run:
name: casa_models_run_preproduction
runs-on: ubuntu-latest
defaults:
run:
working-directory: ${{ env.WORKING_DIRECTORY }}

steps:
- name: Check out
uses: actions/checkout@master

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12.x"
cache: 'pip'

- name: Install dependencies
run: |
pip install -r requirements.txt
dbt deps --target preprod
- name: Run dbt models
run: dbt run --target preprod

- name: Test dbt models
run: dbt test --target preprod


4 changes: 4 additions & 0 deletions projects/casa/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

target/
dbt_packages/
logs/
15 changes: 15 additions & 0 deletions projects/casa/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Welcome to your new dbt project!

### Using the starter project

Try running the following commands:
- dbt run
- dbt test


### Resources:
- Learn more about dbt [in the docs](https://docs.getdbt.com/docs/introduction)
- Check out [Discourse](https://discourse.getdbt.com/) for commonly asked questions and answers
- Join the [chat](https://community.getdbt.com/) on Slack for live discussions and support
- Find [dbt events](https://events.getdbt.com) near you
- Check out [the blog](https://blog.getdbt.com/) for the latest news on dbt's development and best practices
Empty file added projects/casa/analyses/.gitkeep
Empty file.
3 changes: 3 additions & 0 deletions projects/casa/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
db_name_dev: CASA_DBNAME_DEV
db_name_prod: CASA_DBNAME_PROD
participation_host_name: CASA_PARTICIPATION_HOST_NAME
35 changes: 35 additions & 0 deletions projects/casa/dbt_project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

# Name your project! Project names should contain only lowercase characters
# and underscores. A good package name should reflect your organization's
# name or the intended use of these models
name: 'casa'
version: '1.0.0'

# This setting configures which "profile" dbt uses for this project.
profile: 'casa'

# These configurations specify where dbt should look for different types of files.
# The `model-paths` config, for example, states that models in this project can be
# found in the "models/" directory. You probably won't need to change these!
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]

clean-targets: # directories to be removed by `dbt clean`
- "target"
- "dbt_packages"


# Configuring models
# Full documentation: https://docs.getdbt.com/docs/configuring-models

# In this example config, we tell dbt to build all models in the example/
# directory as views. These settings can be overridden in the individual model
# files using the `{{ config(...) }}` macro.

models:
casa:
+materialized: table
Empty file added projects/casa/macros/.gitkeep
Empty file.
4 changes: 4 additions & 0 deletions projects/casa/packages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
packages:
- local: ../demo
- package: dbt-labs/dbt_utils
version: 1.2.0
30 changes: 30 additions & 0 deletions projects/casa/profiles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
casa:
target: preprod
outputs:
dev:
dbname: "{{ env_var('DBNAME') }}"
host: "{{ env_var('HOST') }}"
pass: "{{ env_var('PASSWORD') }}"
port: "{{ env_var('PORT') | as_number }}"
schema: "{{ env_var('TARGET_SCHEMA') }}"
threads: 2
type: postgres
user: "{{ env_var('USER') }}"
preprod:
dbname: "{{ env_var('DBNAME') }}"
host: "{{ env_var('HOST_PREPROD') }}"
pass: "{{ env_var('PASSWORD_PREPROD') }}"
port: "{{ env_var('PORT_PREPROD') | as_number }}"
schema: "{{ env_var('TARGET_SCHEMA') }}"
threads: 2
type: postgres
user: "{{ env_var('USER_PREPROD') }}"
prod:
dbname: "{{ env_var('DBNAME') }}"
host: "{{ env_var('HOST') }}"
pass: "{{ env_var('PASSWORD') }}"
port: "{{ env_var('PORT') | as_number }}"
schema: "{{ env_var('TARGET_SCHEMA') }}"
threads: 2
type: postgres
user: "{{ env_var('USER') }}"
1 change: 1 addition & 0 deletions projects/casa/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dbt-postgres
Empty file added projects/casa/seeds/.gitkeep
Empty file.
Empty file.
Empty file added projects/casa/tests/.gitkeep
Empty file.
3 changes: 2 additions & 1 deletion projects/packages/initiatives/dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ clean-targets: # directories to be removed by `dbt clean`
# files using the `{{ config(...) }}` macro.
models:
initiatives:
+materialized: table
+materialized: table

0 comments on commit 83813ae

Please sign in to comment.