From 6b24d815cfe0001e280b8c2c3e7b373dae80b8a8 Mon Sep 17 00:00:00 2001 From: pshrestha-git Date: Fri, 14 Aug 2026 14:50:21 +0200 Subject: [PATCH 1/3] added actions --- .github/workflows/pr-validation.yml | 48 +++++++++++++++++++ .github/workflows/release.yml | 0 .gitignore | 0 .release-please-manifest.json | 0 CHANGELOG.md | 0 CLAUDE.md | 0 LICENSE | 0 README.md | 0 datavault4sqlmesh/__init__.py | 0 datavault4sqlmesh/config.py | 0 datavault4sqlmesh/models/__init__.py | 0 datavault4sqlmesh/models/_utils.py | 0 datavault4sqlmesh/models/hub.py | 0 datavault4sqlmesh/models/link.py | 0 datavault4sqlmesh/models/satellite.py | 0 datavault4sqlmesh/models/satellite_v1.py | 0 datavault4sqlmesh/models/stage.py | 0 datavault4sqlmesh/schema/__init__.py | 0 datavault4sqlmesh/schema/inference.py | 0 .../01_documentation/01_documentation.md | 0 .../02_staging/02_stage-model.md | 0 .../02_staging/_category_.json | 0 .../03_hubs/03_hub-model.md | 0 .../03_hubs/_category_.json | 0 .../04_links/04_link-model.md | 0 .../04_links/_category_.json | 0 .../05_satellites/05_satellite-model.md | 0 .../05_satellites/06_satellite-v1-model.md | 0 .../05_satellites/_category_.json | 0 docs/01_model-functions/_category_.json | 0 pyproject.toml | 0 release-please-config.json | 0 tests/__init__.py | 0 tests/conftest.py | 0 tests/integration/__init__.py | 0 tests/integration/conftest.py | 0 tests/integration/helpers.py | 0 tests/integration/test_incremental.py | 0 tests/test_hub.py | 0 tests/test_link.py | 0 tests/test_satellite.py | 0 tests/test_satellite_v1.py | 0 tests/test_schema_inference.py | 0 tests/test_stage.py | 0 44 files changed, 48 insertions(+) create mode 100755 .github/workflows/pr-validation.yml mode change 100644 => 100755 .github/workflows/release.yml mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .release-please-manifest.json mode change 100644 => 100755 CHANGELOG.md mode change 100644 => 100755 CLAUDE.md mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 datavault4sqlmesh/__init__.py mode change 100644 => 100755 datavault4sqlmesh/config.py mode change 100644 => 100755 datavault4sqlmesh/models/__init__.py mode change 100644 => 100755 datavault4sqlmesh/models/_utils.py mode change 100644 => 100755 datavault4sqlmesh/models/hub.py mode change 100644 => 100755 datavault4sqlmesh/models/link.py mode change 100644 => 100755 datavault4sqlmesh/models/satellite.py mode change 100644 => 100755 datavault4sqlmesh/models/satellite_v1.py mode change 100644 => 100755 datavault4sqlmesh/models/stage.py mode change 100644 => 100755 datavault4sqlmesh/schema/__init__.py mode change 100644 => 100755 datavault4sqlmesh/schema/inference.py mode change 100644 => 100755 docs/01_model-functions/01_documentation/01_documentation.md mode change 100644 => 100755 docs/01_model-functions/02_staging/02_stage-model.md mode change 100644 => 100755 docs/01_model-functions/02_staging/_category_.json mode change 100644 => 100755 docs/01_model-functions/03_hubs/03_hub-model.md mode change 100644 => 100755 docs/01_model-functions/03_hubs/_category_.json mode change 100644 => 100755 docs/01_model-functions/04_links/04_link-model.md mode change 100644 => 100755 docs/01_model-functions/04_links/_category_.json mode change 100644 => 100755 docs/01_model-functions/05_satellites/05_satellite-model.md mode change 100644 => 100755 docs/01_model-functions/05_satellites/06_satellite-v1-model.md mode change 100644 => 100755 docs/01_model-functions/05_satellites/_category_.json mode change 100644 => 100755 docs/01_model-functions/_category_.json mode change 100644 => 100755 pyproject.toml mode change 100644 => 100755 release-please-config.json mode change 100644 => 100755 tests/__init__.py mode change 100644 => 100755 tests/conftest.py mode change 100644 => 100755 tests/integration/__init__.py mode change 100644 => 100755 tests/integration/conftest.py mode change 100644 => 100755 tests/integration/helpers.py mode change 100644 => 100755 tests/integration/test_incremental.py mode change 100644 => 100755 tests/test_hub.py mode change 100644 => 100755 tests/test_link.py mode change 100644 => 100755 tests/test_satellite.py mode change 100644 => 100755 tests/test_satellite_v1.py mode change 100644 => 100755 tests/test_schema_inference.py mode change 100644 => 100755 tests/test_stage.py diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml new file mode 100755 index 0000000..2eb7ce5 --- /dev/null +++ b/.github/workflows/pr-validation.yml @@ -0,0 +1,48 @@ +name: PR Validation + +on: + pull_request: + branches: + - main + +jobs: + validate: + runs-on: ubuntu-latest + + services: + postgres: + image: postgres:15 + env: + POSTGRES_USER: dev + POSTGRES_PASSWORD: dev + POSTGRES_DB: dev + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + - name: Checkout PR code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install datavault4sqlmesh from PR branch + run: pip install ".[integration]" + + - name: Checkout demo project + uses: actions/checkout@v4 + with: + repository: ScalefreeCOM/datavault4sqlmesh-demo + path: demo + token: ${{ secrets.DEMO_REPO_TOKEN }} + + - name: Run SQLMesh plan + working-directory: demo + run: sqlmesh plan --auto-apply --no-prompts --run --ignore-cron diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.release-please-manifest.json b/.release-please-manifest.json old mode 100644 new mode 100755 diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/CLAUDE.md b/CLAUDE.md old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/__init__.py b/datavault4sqlmesh/__init__.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/config.py b/datavault4sqlmesh/config.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/models/__init__.py b/datavault4sqlmesh/models/__init__.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/models/_utils.py b/datavault4sqlmesh/models/_utils.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/models/hub.py b/datavault4sqlmesh/models/hub.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/models/link.py b/datavault4sqlmesh/models/link.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/models/satellite.py b/datavault4sqlmesh/models/satellite.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/models/satellite_v1.py b/datavault4sqlmesh/models/satellite_v1.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/models/stage.py b/datavault4sqlmesh/models/stage.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/schema/__init__.py b/datavault4sqlmesh/schema/__init__.py old mode 100644 new mode 100755 diff --git a/datavault4sqlmesh/schema/inference.py b/datavault4sqlmesh/schema/inference.py old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/01_documentation/01_documentation.md b/docs/01_model-functions/01_documentation/01_documentation.md old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/02_staging/02_stage-model.md b/docs/01_model-functions/02_staging/02_stage-model.md old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/02_staging/_category_.json b/docs/01_model-functions/02_staging/_category_.json old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/03_hubs/03_hub-model.md b/docs/01_model-functions/03_hubs/03_hub-model.md old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/03_hubs/_category_.json b/docs/01_model-functions/03_hubs/_category_.json old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/04_links/04_link-model.md b/docs/01_model-functions/04_links/04_link-model.md old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/04_links/_category_.json b/docs/01_model-functions/04_links/_category_.json old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/05_satellites/05_satellite-model.md b/docs/01_model-functions/05_satellites/05_satellite-model.md old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/05_satellites/06_satellite-v1-model.md b/docs/01_model-functions/05_satellites/06_satellite-v1-model.md old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/05_satellites/_category_.json b/docs/01_model-functions/05_satellites/_category_.json old mode 100644 new mode 100755 diff --git a/docs/01_model-functions/_category_.json b/docs/01_model-functions/_category_.json old mode 100644 new mode 100755 diff --git a/pyproject.toml b/pyproject.toml old mode 100644 new mode 100755 diff --git a/release-please-config.json b/release-please-config.json old mode 100644 new mode 100755 diff --git a/tests/__init__.py b/tests/__init__.py old mode 100644 new mode 100755 diff --git a/tests/conftest.py b/tests/conftest.py old mode 100644 new mode 100755 diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py old mode 100644 new mode 100755 diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py old mode 100644 new mode 100755 diff --git a/tests/integration/helpers.py b/tests/integration/helpers.py old mode 100644 new mode 100755 diff --git a/tests/integration/test_incremental.py b/tests/integration/test_incremental.py old mode 100644 new mode 100755 diff --git a/tests/test_hub.py b/tests/test_hub.py old mode 100644 new mode 100755 diff --git a/tests/test_link.py b/tests/test_link.py old mode 100644 new mode 100755 diff --git a/tests/test_satellite.py b/tests/test_satellite.py old mode 100644 new mode 100755 diff --git a/tests/test_satellite_v1.py b/tests/test_satellite_v1.py old mode 100644 new mode 100755 diff --git a/tests/test_schema_inference.py b/tests/test_schema_inference.py old mode 100644 new mode 100755 diff --git a/tests/test_stage.py b/tests/test_stage.py old mode 100644 new mode 100755 From cd2de63072f892041cea2aa944b32ef5f2b51cbe Mon Sep 17 00:00:00 2001 From: pshrestha-git Date: Fri, 14 Aug 2026 15:02:23 +0200 Subject: [PATCH 2/3] use DOCS_APP token for demo repo checkout --- .github/workflows/pr-validation.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index 2eb7ce5..066344a 100755 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -36,12 +36,20 @@ jobs: - name: Install datavault4sqlmesh from PR branch run: pip install ".[integration]" + - name: Generate demo repo token + id: demo-app-token + uses: actions/create-github-app-token@v2 + with: + app-id: ${{ secrets.DOCS_APP_ID }} + private-key: ${{ secrets.DOCS_APP_PRIVATE_KEY }} + repositories: datavault4sqlmesh-demo + - name: Checkout demo project uses: actions/checkout@v4 with: repository: ScalefreeCOM/datavault4sqlmesh-demo path: demo - token: ${{ secrets.DEMO_REPO_TOKEN }} + token: ${{ steps.demo-app-token.outputs.token }} - name: Run SQLMesh plan working-directory: demo From aa62d4a2f3c8a114d869fb20fa0a18522b156677 Mon Sep 17 00:00:00 2001 From: pshrestha-git Date: Fri, 14 Aug 2026 15:17:07 +0200 Subject: [PATCH 3/3] revert to PAT-based demo repo checkout --- .github/workflows/pr-validation.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index 066344a..2eb7ce5 100755 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -36,20 +36,12 @@ jobs: - name: Install datavault4sqlmesh from PR branch run: pip install ".[integration]" - - name: Generate demo repo token - id: demo-app-token - uses: actions/create-github-app-token@v2 - with: - app-id: ${{ secrets.DOCS_APP_ID }} - private-key: ${{ secrets.DOCS_APP_PRIVATE_KEY }} - repositories: datavault4sqlmesh-demo - - name: Checkout demo project uses: actions/checkout@v4 with: repository: ScalefreeCOM/datavault4sqlmesh-demo path: demo - token: ${{ steps.demo-app-token.outputs.token }} + token: ${{ secrets.DEMO_REPO_TOKEN }} - name: Run SQLMesh plan working-directory: demo