feat: product dimensions, seed enrichment, truncate script, prod sche… #209
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI pipeline | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| tags-ignore: | |
| - 'v*' # this tag type is used for release pipelines | |
| paths-ignore: | |
| - 'README.md' | |
| - 'CLAUDE.md' | |
| - 'docs/**' | |
| # Manual trigger for re-running CI without a new commit (e.g. after a transient | |
| # GitHub Actions hiccup that silently drops a push event): | |
| # gh workflow run "CI pipeline" --ref <branch> | |
| workflow_dispatch: | |
| # Don't let two pushes on the same branch race each other through the deploy step. | |
| concurrency: | |
| group: deploy-${{ github.ref }} | |
| cancel-in-progress: false | |
| env: | |
| DATABRICKS_HOST: ${{ secrets.DATABRICKS_HOST }} | |
| DATABRICKS_CLIENT_ID: ${{ secrets.DATABRICKS_CLIENT_ID }} | |
| DATABRICKS_CLIENT_SECRET: ${{ secrets.DATABRICKS_CLIENT_SECRET }} | |
| TEMPLATE_ALERT_EMAILS: ${{ secrets.TEMPLATE_ALERT_EMAILS }} | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| version: "0.9.8" | |
| enable-cache: true | |
| cache-dependency-glob: "uv.lock" | |
| - name: Install dependencies | |
| run: make sync | |
| - name: Unit tests | |
| run: make test | |
| - name: Upload coverage report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: coverage_reports/ | |
| retention-days: 14 | |
| # Pin the CLI to a tagged release so an upstream change can't silently break CI. | |
| - name: Install Databricks CLI | |
| uses: databricks/setup-cli@v0.298.0 | |
| - name: Deploy on staging | |
| run: make deploy env=staging | |
| - name: Run integration tests on staging | |
| run: make run env=staging | |
| - name: Deploy on prod | |
| if: github.ref == 'refs/heads/main' | |
| run: make deploy env=prod |