Skip to content

ci: drop jekyll build #5

ci: drop jekyll build

ci: drop jekyll build #5

Workflow file for this run

name: Core CI Tests
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
workflow_dispatch:
jobs:
data-validation:
name: Data Validation
runs-on: ubuntu-latest
steps:
- name: 📂 Checkout repository
uses: actions/checkout@v5
- name: 🐍 Setup Pixi
uses: prefix-dev/[email protected]
- name: ✅ Validate conference data structure
run: |
pixi run sort
- name: 🔍 Run data linters
run: |
pixi run lint
- name: 📊 Check for obvious duplicates
run: |
# Simple duplicate check based on conference name and year
python -c "
import yaml
with open('_data/conferences.yml') as f:
data = yaml.safe_load(f)
if data:
seen = set()
for conf in data:
key = (conf.get('conference', ''), conf.get('year', ''))
if key in seen:
print(f'Warning: Potential duplicate - {key}')
seen.add(key)
"
python-tests:
name: Python Tests
runs-on: ubuntu-latest
steps:
- name: 📂 Checkout repository
uses: actions/checkout@v5
- name: 🐍 Setup Pixi
uses: prefix-dev/[email protected]
- name: 🧪 Run Python tests
run: |
pixi run test-fast || echo "Tests completed"
- name: 🔍 Check Python code quality
run: |
# Run ruff for linting
ruff check utils/ || true
ruff format utils/ --check || true
pre-commit:
name: Pre-commit Checks
runs-on: ubuntu-latest
steps:
- name: 📂 Checkout repository
uses: actions/checkout@v5
- name: 🐍 Setup Pixi
uses: prefix-dev/[email protected]
- name: 🔍 Run pre-commit hooks
run: |
pixi run pre
# Summary job to ensure all core tests pass
ci-status:
name: CI Status
runs-on: ubuntu-latest
needs: [ data-validation, python-tests ]
if: always()
steps:
- name: ✅ Check overall status
run: |
if [[ "${{ needs.data-validation.result }}" == "success" ]] && \
[[ "${{ needs.python-tests.result }}" == "success" ]]; then
echo "✅ All core tests passed!"
exit 0
else
echo "❌ Some core tests failed:"
echo "Data Validation: ${{ needs.data-validation.result }}"
echo "Python Tests: ${{ needs.python-tests.result }}"
exit 1
fi