Add working CI #12
Workflow file for this run
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 | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 | |
| - run: uv run pytest --ignore=tests/test_e2e.py | |
| e2e: | |
| if: vars.E2E_ENABLED == 'true' | |
| runs-on: ubuntu-latest | |
| env: | |
| UCODE_TEST_WORKSPACE: ${{ secrets.UCODE_TEST_WORKSPACE }} | |
| DATABRICKS_HOST: ${{ secrets.UCODE_TEST_WORKSPACE }} | |
| DATABRICKS_CLIENT_ID: ${{ secrets.DATABRICKS_CLIENT_ID }} | |
| DATABRICKS_CLIENT_SECRET: ${{ secrets.DATABRICKS_CLIENT_SECRET }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 | |
| - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 | |
| - uses: databricks/setup-cli@bdb89f81c11a5bd647fd55b585b7c396ec68a25a # v1.0.0 | |
| - run: uv tool install . | |
| - name: Probe M2M auth (surfaces the CLI's real error if M2M is broken) | |
| run: | | |
| set +e | |
| echo "=== databricks --version ===" | |
| databricks --version | |
| echo | |
| echo "=== env presence (values redacted) ===" | |
| for v in DATABRICKS_HOST DATABRICKS_CLIENT_ID DATABRICKS_CLIENT_SECRET DATABRICKS_CONFIG_FILE DATABRICKS_AUTH_TYPE; do | |
| if [ -n "${!v:-}" ]; then echo "$v=<set, ${#:-?} chars>"; else echo "$v=<unset>"; fi | |
| done | |
| echo | |
| echo "=== ~/.databrickscfg presence ===" | |
| ls -la ~/.databrickscfg 2>&1 || echo "no databrickscfg" | |
| echo | |
| echo "=== databricks auth token --host \$DATABRICKS_HOST ===" | |
| databricks auth token --host "$DATABRICKS_HOST" --output json | |
| echo "exit=$?" | |
| echo | |
| echo "=== databricks current-user me (uses M2M if env vars set) ===" | |
| databricks current-user me 2>&1 | head -5 | |
| echo "exit=$?" | |
| # Redirect stdin so any interactive `databricks auth login --no-browser` | |
| # fallback EOFs instead of hanging the runner. CI must rely solely on | |
| # the M2M env vars; if those don't yield a token, fail fast. | |
| - run: uv run pytest tests/test_e2e.py -v < /dev/null |