ploosh.
Documentation
GitHub Actions
Ploosh can be integrated into GitHub Actions workflows for automated data testing.
Example workflow
name: Data Testson:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install ODBC Driver (if using SQL Server)
run: |
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
- name: Install Ploosh
run: pip install "ploosh[sqlserver]"
- name: Run tests
run: |
ploosh \
--connections "connections.yml" \
--cases "test_cases" \
--export "JSON" \
--failure false \
--pdbpassword "${{ secrets.DB_PASSWORD }}"
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results
path: output/
Using TRX format
If you want to integrate with test result viewers:
- name: Run tests (TRX)
run: |
ploosh \
--connections "connections.yml" \
--cases "test_cases" \
--export "TRX" \
--failure false \
--pdbpassword "${{ secrets.DB_PASSWORD }}" - name: Upload TRX results
uses: actions/upload-artifact@v4
if: always()
with:
name: trx-results
path: output/trx/
Secrets management
Store sensitive values in GitHub repository secrets:
- Go to Settings → Secrets and variables → Actions
- Add secrets (e.g.
DBPASSWORD,SNOWFLAKEPASSWORD) - Reference them in the workflow as
${{ secrets.SECRET_NAME }}
Tips
- Set
--failure falseto ensure the workflow completes and uploads results even when tests fail - Use the
if: always()condition on the upload step to capture results regardless of test outcomes - Store connection files in the repository (with
$varreferences for secrets)