Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
ed53c99
WIP: downloading from s3
john-sanchez31 Nov 7, 2025
a05fab6
testing infrastructure for s3 custom datasets [run ci]
john-sanchez31 Nov 11, 2025
fddceff
flag run custom for custom dataset tests created
john-sanchez31 Nov 12, 2025
26d039c
adding all connectors for custom test
john-sanchez31 Nov 12, 2025
cd894dd
synthea s3 testing, adding bug test [run custom]
john-sanchez31 Nov 12, 2025
7b1f1f0
excluding custom test for [run ci] [run custom]
john-sanchez31 Nov 13, 2025
277aea7
now dialect flag does not run custom tests
john-sanchez31 Nov 14, 2025
4fc6a2f
testing [run all]
john-sanchez31 Nov 14, 2025
dce5428
adding mark and secrets for custom tests [run all]
john-sanchez31 Nov 14, 2025
1af103d
set env for custom dataset [run all]
john-sanchez31 Nov 14, 2025
2ee3a34
custom ci separated [run all]
john-sanchez31 Nov 17, 2025
5680d1f
secret name fixed [run all]
john-sanchez31 Nov 17, 2025
78fb6e5
comments addressed [run all]
john-sanchez31 Nov 17, 2025
447fcb4
keeping the db files
john-sanchez31 Nov 19, 2025
654b105
custom and s3 datasets separated
john-sanchez31 Nov 19, 2025
cf2aac2
s3 flag created [run s3]
john-sanchez31 Nov 19, 2025
f116a22
conlficts solved [run s3]
john-sanchez31 Nov 19, 2025
10b2e23
testing [run all]
john-sanchez31 Nov 19, 2025
68e2139
fixture added [run all]
john-sanchez31 Nov 19, 2025
47fef7f
testing [run ci]
john-sanchez31 Nov 19, 2025
25e1474
no initialized db fixed [run all]
john-sanchez31 Nov 19, 2025
fa6f4d1
init script added [run all]
john-sanchez31 Nov 19, 2025
339d1a5
minor fixes [run all]
john-sanchez31 Nov 20, 2025
8996c48
comment fixed [run all]
john-sanchez31 Nov 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 21 additions & 3 deletions .github/workflows/pr_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ on:
type: boolean
required: false
default: false
run-s3:
description: "Run S3 Datasets Tests"
type: boolean
required: false
default: false

# Limit CI to cancel previous runs in the same PR
concurrency:
Expand Down Expand Up @@ -108,8 +113,6 @@ jobs:
# Output to GitHub Actions expected format
echo "matrix=$joined" >> $GITHUB_OUTPUT



run-python-tests:
name: Main Python Tests
needs: [get-msg, get-py-ver-matrix]
Expand Down Expand Up @@ -148,7 +151,7 @@ jobs:
run: uv run ruff check .

- name: Run Tests
run: uv run pytest tests/ -m "not (snowflake or mysql or postgres or sf_masked)" -rs
run: uv run pytest tests/ -m "not (snowflake or mysql or postgres or sf_masked or s3)" -rs

run-defog-daily-update:
name: Run DEFOG Daily Update
Expand Down Expand Up @@ -232,3 +235,18 @@ jobs:
python-versions: ${{ github.event_name == 'workflow_dispatch'
&& needs.get-py-ver-matrix.outputs.matrix
|| '["3.10", "3.11", "3.12"]' }}

run-s3-tests:
name: S3 datasets Tests
needs: [get-msg, get-py-ver-matrix]
if: |
(github.event_name == 'pull_request' && contains(needs.get-msg.outputs.commitMsg, '[run all]')) ||
(github.event_name == 'pull_request' && contains(needs.get-msg.outputs.commitMsg, '[run s3]')) ||
(github.event_name == 'workflow_dispatch' && (inputs.run-all || inputs.run-s3))
uses: ./.github/workflows/s3_testing.yml
secrets:
READ_LLM_FIXTURES_ROLE: ${{ secrets.READ_LLM_FIXTURES_ROLE }}
with:
python-versions: ${{ github.event_name == 'workflow_dispatch'
&& needs.get-py-ver-matrix.outputs.matrix
|| '["3.10", "3.11", "3.12"]' }}
55 changes: 55 additions & 0 deletions .github/workflows/s3_testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Run S3 Tests

on:
workflow_call:
inputs:
python-versions:
description: "JSON string of Python versions"
type: string
required: true
secrets:
READ_LLM_FIXTURES_ROLE:
required: true

jobs:
s3-tests:
name: S3 Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
strategy:
matrix:
python-version: ${{ fromJSON(inputs.python-versions) }}

steps:
- name: Configure AWS Credentials (OIDC)
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.READ_LLM_FIXTURES_ROLE }}
aws-region: us-east-2

- uses: actions/checkout@v4

- name: Setup Python ${{ matrix.python-version }}
id: setup-python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: "0.4.23"

- name: Create virtual environment
run: uv venv

- name: Install dependencies
run: uv pip install -e ".[boto3]"

- name: Confirm all connectors are installed
run: uv run python -c "import boto3; print('Boto3 installed')"

- name: Run S3 Tests
run: uv run pytest -m s3 tests/ -rs
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ dev-dependencies = [
"pytest",
"ruff==0.6.7",
"pytest-repeat",
"boto3",
"pydough[snowflake]",
"pydough[mysql]",
"pydough[postgres]",
Expand Down
1 change: 1 addition & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ markers =
postgres: marks tests that require PostgresSQL credentials
server: marks tests that require api mock server
sf_masked: marks tests that require Snowflake Masked credentials
s3: marks tests that require custom datasets from s3
Loading