diff --git a/.github/workflows/prod_job.yml b/.github/workflows/prod_job.yml new file mode 100644 index 0000000..05d65fb --- /dev/null +++ b/.github/workflows/prod_job.yml @@ -0,0 +1,52 @@ +name: dbt production job + +on: + push: + branches: + - master + +env: + #TODO(developer): update PROJECT_ID + PROJECT_ID: "dbt-demo-386220" + DBT_PROFILES_DIR: ./ + GOOGLE_APPLICATION_CREDENTIALS: ./service_account.json + +jobs: + run: + runs-on: ubuntu-20.04 + + steps: + - name: checkout + uses: actions/checkout@v2 + + - uses: actions/setup-python@v2 + with: + python-version: '3.8' + + - name: install requirements + run: pip install -q -r requirements.txt + + - name: install datafold-sdk + run: pip install -q datafold-sdk + + - name: Authenticate dbt to BigQuery + run: 'echo "$KEYFILE" > ./service_account.json' # persist file in root dir + shell: bash + env: + KEYFILE: ${{secrets.GOOGLE_APPLICATION_CREDENTIALS}} # TODO: add a github secret + + - name: dbt deps + run: dbt deps + + - name: Generate dbt production manifest + run: dbt ls # TODO: update to dbt build after this initial run + + # TODO: update the --config-id to your config id + - name: submit artifacts to datafold + run: | + set -ex + datafold dbt upload --ci-config-id 272 --run-type ${DATAFOLD_RUN_TYPE} --commit-sha ${GIT_SHA} + env: + DATAFOLD_APIKEY: ${{ secrets.DATAFOLD_APIKEY }} + DATAFOLD_RUN_TYPE: "${{ github.ref == 'refs/heads/master' && 'production' || 'pull_request' }}" + GIT_SHA: "${{ github.ref == 'refs/heads/master' && github.sha || github.event.pull_request.head.sha }}"