Skip to content

fix: sync favorites between countdown and dashboard pages #1

fix: sync favorites between countdown and dashboard pages

fix: sync favorites between countdown and dashboard pages #1

Workflow file for this run

name: Core CI Tests
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
workflow_dispatch:
jobs:
# Core data validation - always runs, it's fast
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 --check
- 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

Check failure on line 39 in .github/workflows/ci-core.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci-core.yml

Invalid workflow file

You have an error in your yaml syntax on line 39
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 - always runs for utilities
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
# Jekyll build test - ensures site can build
jekyll-build:
name: Jekyll Build Test
runs-on: ubuntu-latest
steps:
- name: 📂 Checkout repository
uses: actions/checkout@v5
- name: 💎 Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true
- name: 🏗️ Test Jekyll build
run: |
bundle exec jekyll build --config _config.yml,_config.test.yml
env:
JEKYLL_ENV: test
- name: ✅ Verify critical files exist
run: |
# Check that key output files were created
test -f _site/index.html || exit 1
test -f _site/search.json || exit 1
test -d _site/static || exit 1
echo "✅ Site built successfully with all critical files"
# Pre-commit checks - ensures code quality
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 || true
continue-on-error: true # Don't fail the entire CI for style issues
# Summary job to ensure all core tests pass
ci-status:
name: CI Status
runs-on: ubuntu-latest
needs: [data-validation, python-tests, jekyll-build]
if: always()
steps:
- name: ✅ Check overall status
run: |
if [[ "${{ needs.data-validation.result }}" == "success" ]] && \
[[ "${{ needs.python-tests.result }}" == "success" ]] && \
[[ "${{ needs.jekyll-build.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 }}"
echo "Jekyll Build: ${{ needs.jekyll-build.result }}"
exit 1
fi