Skip to content

Commit acdec80

Browse files
authored
Merge pull request #18 from DataRecce/chore/add-the-workflow-for-recc-cloud
[Chore] CI/CD for recce cloud compatible output
2 parents 17dcbc9 + 8b9f22f commit acdec80

File tree

2 files changed

+21
-42
lines changed

2 files changed

+21
-42
lines changed

.github/workflows/dbt_base.yml

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
name: DBT Base Environment
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches:
67
- main
7-
88
jobs:
99
build:
10-
name: DBT Runner
1110
runs-on: ubuntu-latest
12-
permissions:
13-
pull-requests: write
1411

1512
steps:
1613
- uses: actions/checkout@v3
@@ -27,24 +24,18 @@ jobs:
2724
- name: Run DBT
2825
run: |
2926
dbt deps
30-
dbt seed --target ${{ env.DBT_BASE_TARGET }} --target-path target-base
31-
dbt run --target ${{ env.DBT_BASE_TARGET }} --target-path target-base
32-
dbt docs generate --target ${{ env.DBT_BASE_TARGET }} --target-path target-base
27+
dbt seed --target ${{ env.DBT_BASE_TARGET }}
28+
dbt run --target ${{ env.DBT_BASE_TARGET }}
29+
dbt docs generate --target ${{ env.DBT_BASE_TARGET }}
3330
env:
3431
DBT_BASE_TARGET: "prod"
3532

36-
- name: Package DBT artifacts
37-
run: |
38-
tar -czvf dbt-artifacts.tar.gz target-base ${{ env.DB_FILE }}
39-
mv dbt-artifacts.tar.gz $GITHUB_WORKSPACE/${{ github.sha }}.tar.gz
40-
env:
41-
DB_FILE: "jaffle_shop.duckdb"
33+
- uses: actions/upload-artifact@v4
34+
with:
35+
name: duckdb
36+
path: jaffle_shop.duckdb
4237

43-
- name: Upload to S3
44-
run: |
45-
aws s3 cp $GITHUB_WORKSPACE/${{ github.sha }}.tar.gz s3://${{ env.AWS_S3_BUCKET }}/${{ github.sha }}.tar.gz
46-
env:
47-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} # Set these in your repository secrets
48-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} # Set these in your repository secrets
49-
AWS_REGION: ${{ secrets.AWS_REGION }} # Set these in your repository secrets
50-
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} # Set these in your repository secrets
38+
- uses: actions/upload-artifact@v4
39+
with:
40+
name: target
41+
path: target/

.github/workflows/recce_ci.yml

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,30 +22,18 @@ jobs:
2222
pip install -r requirements.txt
2323
- name: Install Recce
2424
run: |
25-
pip install recce-nightly
26-
- name: Add packages.yml file
27-
run: |
28-
echo '${{ vars.PACKAGES_YAML }}' > packages.yml
25+
pip install recce
2926
- name: Prepare dbt Base environment
3027
run: |
31-
if aws s3 cp s3://$AWS_S3_BUCKET/${{ github.event.pull_request.base.sha }}.tar.gz .; then
32-
echo "Base environment found in S3"
33-
tar -xvf ${{ github.event.pull_request.base.sha }}.tar.gz
34-
else
35-
echo "Base environment not found in S3. Running dbt to create base environment"
36-
git checkout ${{ github.event.pull_request.base.sha }}
37-
dbt deps
38-
dbt seed --target ${{ env.DBT_BASE_TARGET }} --target-path target-base
39-
dbt run --target ${{ env.DBT_BASE_TARGET }} --target-path target-base
40-
dbt docs generate --target ${{ env.DBT_BASE_TARGET }} --target-path target-base
41-
fi
28+
gh repo set-default ${{ github.repository }}
29+
base_branch=${{ github.base_ref }}
30+
run_id=$(gh run list --workflow ${WORKFLOW_BASE} --branch ${base_branch} --status success --limit 1 --json databaseId --jq '.[0].databaseId')
31+
echo "Download artifacts from run $run_id"
32+
gh run download ${run_id} -n target -D target-base
33+
gh run download ${run_id} -n duckdb
4234
env:
43-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
44-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
45-
AWS_REGION: ${{ secrets.AWS_REGION }}
46-
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
47-
DBT_BASE_TARGET: "prod"
48-
35+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
WORKFLOW_BASE: ".github/workflows/dbt_base.yml"
4937
- name: Prepare dbt Current environment
5038
run: |
5139
git checkout ${{ github.event.pull_request.head.sha }}

0 commit comments

Comments
 (0)