Skip to content

feat: add --aws-profile flag to project_costs.py (#39) #234

feat: add --aws-profile flag to project_costs.py (#39)

feat: add --aws-profile flag to project_costs.py (#39) #234

Workflow file for this run

name: CI pipeline
on:
push:
branches:
- '**'
tags-ignore:
- 'v*' # this tag type is used for release pipelines
paths-ignore:
- 'README.md'
- 'CLAUDE.md'
- 'CHANGELOG.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