diff --git a/ci/.azure-pipelines.pr.yml b/ci/.azure-pipelines.pr.yml index a382628..2aea215 100644 --- a/ci/.azure-pipelines.pr.yml +++ b/ci/.azure-pipelines.pr.yml @@ -11,18 +11,18 @@ steps: - script: | cp ~/dbt-ci/.env . - # Check if it matches the refs/pull//merge pattern - # if [[ $BUILD_SOURCEBRANCH =~ ^refs/pull/([0-9]+)/merge$ ]]; then - # POSTGRES_DATABASE="ci_pr_${BASH_REMATCH[1]}" - # else - # POSTGRES_DATABASE="ci_${BUILD_SOURCEBRANCH#refs/heads/}" - # fi + if [[ $BUILD_SOURCEBRANCH =~ ^refs/pull/([0-9]+)/merge$ ]]; then + "CI_SCHEMA_NAME="ci_pr_${BASH_REMATCH[1]}" + else + echo "Not running in a PR. Exiting" + exit 1 + fi - echo "POSTGRES_DATABASE: $POSTGRES_DATABASE" + echo "CI_SCHEMA_NAME: $CI_SCHEMA_NAME" - echo "POSTGRES_DATABASE=prd-pointer" >> .env + echo "CI_SCHEMA_NAME=$CI_SCHEMA_NAME" >> .env set -a && source .env && set +a - displayName: 'Load env' + displayName: 'Prepare env vars' - script: | set -a && source .env && set +a @@ -52,6 +52,7 @@ steps: - script: | source venv/bin/activate set -a && source .env && set +a + export IS_CI_EXECUTION=1 dbt docs generate --no-compile --empty-catalog --select "state:modified" --state ~/dbt-ci/master-artifacts/ @@ -60,6 +61,7 @@ steps: - script: | source venv/bin/activate set -a && source .env && set +a + export IS_CI_EXECUTION=1 dbt compile --debug --select "state:modified" --state ~/dbt-ci/master-artifacts/ displayName: 'Run dbt compile' @@ -75,14 +77,14 @@ steps: - script: | set -a && source .env && set +a - psql -h $POSTGRES_HOST -U $POSTGRES_USER -d prd-pointer -c "DROP SCHEMA IF EXISTS hardcoded_schema CASCADE;" + psql -h $POSTGRES_HOST -U $POSTGRES_USER -d prd-pointer -c "DROP SCHEMA IF EXISTS $CI_SCHEMA_NAME CASCADE;" displayName: "Preemptive DROP SCHEMA" - script: | source venv/bin/activate - echo "CI_SCHEMA_NAME=hardcoded_schema" >> .env set -a && source .env && set +a + export IS_CI_EXECUTION=1 dbt run --select "state:modified" --state ~/dbt-ci/master-artifacts/ --defer @@ -90,8 +92,8 @@ steps: - script: | source venv/bin/activate - echo "CI_SCHEMA_NAME=hardcoded_schema" >> .env set -a && source .env && set +a + export IS_CI_EXECUTION=1 dbt test --select "state:modified" --state ~/dbt-ci/master-artifacts/ --defer @@ -99,8 +101,8 @@ steps: - script: | source venv/bin/activate - echo "CI_SCHEMA_NAME=hardcoded_schema" >> .env set -a && source .env && set +a + export IS_CI_EXECUTION=1 dbt run --select "state:modified+" --exclude "state:modified" --state ~/dbt-ci/master-artifacts/ --defer @@ -108,8 +110,8 @@ steps: - script: | source venv/bin/activate - echo "CI_SCHEMA_NAME=hardcoded_schema" >> .env set -a && source .env && set +a + export IS_CI_EXECUTION=1 dbt test --select "state:modified+" --exclude "state:modified" --state ~/dbt-ci/master-artifacts/ --defer @@ -117,7 +119,7 @@ steps: - script: | set -a && source .env && set +a - psql -h $POSTGRES_HOST -U $POSTGRES_USER -d prd-pointer -c "DROP SCHEMA IF EXISTS hardcoded_schema CASCADE;" + psql -h $POSTGRES_HOST -U $POSTGRES_USER -d prd-pointer -c "DROP SCHEMA IF EXISTS $CI_SCHEMA_NAME CASCADE;" condition: always() displayName: 'Delete PR schema' \ No newline at end of file