feat: Add "Act as Ayurveda Food Tester" to prompts.csv #1067
This file contains 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: CSV Linter and Trailing Whitespaces | |
on: | |
push: | |
pull_request: | |
jobs: | |
lint_and_check_trailing_whitespaces: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install csvkit | |
- name: Validate CSV structure | |
run: | | |
echo "Checking CSV structure..." | |
if ! csvclean -n prompts.csv 2>&1 | tee /tmp/csv_errors.log; then | |
echo "::error::CSV validation failed" | |
cat /tmp/csv_errors.log | |
exit 1 | |
fi | |
- name: Check CSV format | |
run: | | |
echo "Checking CSV format..." | |
if ! python -c ' | |
import csv | |
with open("prompts.csv", "r", encoding="utf-8") as f: | |
reader = csv.reader(f) | |
headers = next(reader) | |
if headers != ["act", "prompt"]: | |
print("Error: CSV headers must be exactly [act, prompt]") | |
exit(1) | |
for row_num, row in enumerate(reader, 2): | |
if len(row) != 2: | |
print(f"Error: Row {row_num} has {len(row)} columns, expected 2") | |
exit(1) | |
if not row[0] or not row[1]: | |
print(f"Error: Row {row_num} has empty values") | |
exit(1) | |
'; then | |
echo "::error::CSV format check failed" | |
exit 1 | |
fi | |
- name: Check Trailing Whitespaces | |
run: | | |
echo "Checking for trailing whitespaces..." | |
if grep -q "[[:space:]]$" prompts.csv; then | |
echo "::error::Found trailing whitespaces in prompts.csv" | |
grep -n "[[:space:]]$" prompts.csv | while read -r line; do | |
echo "Line with trailing whitespace: $line" | |
done | |
exit 1 | |
fi | |
echo "No trailing whitespaces found" | |
- name: Check for UTF-8 BOM and line endings | |
run: | | |
echo "Checking for UTF-8 BOM and line endings..." | |
if file prompts.csv | grep -q "with BOM"; then | |
echo "::error::File contains UTF-8 BOM marker" | |
exit 1 | |
fi | |
if file prompts.csv | grep -q "CRLF"; then | |
echo "::error::File contains Windows-style (CRLF) line endings" | |
exit 1 | |
fi |