-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
52 lines (49 loc) · 1.71 KB
/
Copy pathaction.yml
File metadata and controls
52 lines (49 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name: 'ValidateX Data Quality Gate'
description: 'Gate your CI/CD pipelines based on data quality scores and validation rules using ValidateX.'
author: 'Kaviarasan Mani'
branding:
icon: 'shield'
color: 'purple'
inputs:
data-path:
description: 'Path to the data file to validate (e.g., CSV, Parquet).'
required: true
suite-path:
description: 'Path to the expectation suite configuration file (YAML or JSON).'
required: true
engine:
description: 'Validation engine to use (pandas or spark).'
required: false
default: 'pandas'
report-path:
description: 'Path where the generated HTML quality report should be saved.'
required: false
json-report-path:
description: 'Path where the generated JSON quality report should be saved.'
required: false
runs:
using: 'composite'
steps:
- name: Install Python dependencies
shell: bash
run: |
python -m pip install --upgrade pip
if [ "${{ inputs.engine }}" = "spark" ]; then
echo "Installing ValidateX with Spark support..."
pip install ".[spark]" pyarrow
else
echo "Installing ValidateX..."
pip install . pyarrow
fi
- name: Run ValidateX Data Quality Validation
shell: bash
run: |
CMD="python -m validatex.cli.main validate --data \"${{ inputs.data-path }}\" --suite \"${{ inputs.suite-path }}\" --engine \"${{ inputs.engine }}\""
if [ -n "${{ inputs.report-path }}" ]; then
CMD="$CMD --report \"${{ inputs.report-path }}\""
fi
if [ -n "${{ inputs.json-report-path }}" ]; then
CMD="$CMD --json-report \"${{ inputs.json-report-path }}\""
fi
echo "Executing: $CMD"
eval $CMD