Skip to content

Commit 5815af0

Browse files
committed
format
1 parent 05f43a0 commit 5815af0

File tree

1 file changed

+91
-90
lines changed

1 file changed

+91
-90
lines changed

.github/workflows/ci-core.yml

Lines changed: 91 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -3,138 +3,139 @@ name: Core CI Tests
33
on:
44
push:
55
branches:
6-
- main
7-
- develop
6+
- main
7+
- develop
88
pull_request:
99
branches:
10-
- main
11-
- develop
10+
- main
11+
- develop
1212
workflow_dispatch:
1313

14+
1415
jobs:
1516
# Core data validation - always runs, it's fast
1617
data-validation:
1718
name: Data Validation
1819
runs-on: ubuntu-latest
1920

2021
steps:
21-
- name: 📂 Checkout repository
22-
uses: actions/checkout@v5
23-
24-
- name: 🐍 Setup Pixi
25-
uses: prefix-dev/[email protected]
26-
27-
- name: ✅ Validate conference data structure
28-
run: |
29-
pixi run sort --check
30-
31-
- name: 🔍 Run data linters
32-
run: |
33-
pixi run lint
34-
35-
- name: 📊 Check for obvious duplicates
36-
run: |
37-
# Simple duplicate check based on conference name and year
38-
python -c "
39-
import yaml
40-
with open('_data/conferences.yml') as f:
41-
data = yaml.safe_load(f)
42-
if data:
43-
seen = set()
44-
for conf in data:
45-
key = (conf.get('conference', ''), conf.get('year', ''))
46-
if key in seen:
47-
print(f'Warning: Potential duplicate - {key}')
48-
seen.add(key)
49-
"
22+
- name: 📂 Checkout repository
23+
uses: actions/checkout@v5
24+
25+
- name: 🐍 Setup Pixi
26+
uses: prefix-dev/[email protected]
27+
28+
- name: ✅ Validate conference data structure
29+
run: |
30+
pixi run sort --check
31+
32+
- name: 🔍 Run data linters
33+
run: |
34+
pixi run lint
35+
36+
- name: 📊 Check for obvious duplicates
37+
run: |
38+
# Simple duplicate check based on conference name and year
39+
python -c "
40+
import yaml
41+
with open('_data/conferences.yml') as f:
42+
data = yaml.safe_load(f)
43+
if data:
44+
seen = set()
45+
for conf in data:
46+
key = (conf.get('conference', ''), conf.get('year', ''))
47+
if key in seen:
48+
print(f'Warning: Potential duplicate - {key}')
49+
seen.add(key)
50+
"
5051
5152
# Python tests - always runs for utilities
5253
python-tests:
5354
name: Python Tests
5455
runs-on: ubuntu-latest
5556

5657
steps:
57-
- name: 📂 Checkout repository
58-
uses: actions/checkout@v5
58+
- name: 📂 Checkout repository
59+
uses: actions/checkout@v5
5960

60-
- name: 🐍 Setup Pixi
61-
uses: prefix-dev/[email protected]
61+
- name: 🐍 Setup Pixi
62+
uses: prefix-dev/[email protected]
6263

63-
- name: 🧪 Run Python tests
64-
run: |
65-
pixi run test-fast || echo "Tests completed"
64+
- name: 🧪 Run Python tests
65+
run: |
66+
pixi run test-fast || echo "Tests completed"
6667
67-
- name: 🔍 Check Python code quality
68-
run: |
69-
# Run ruff for linting
70-
ruff check utils/ || true
71-
ruff format utils/ --check || true
68+
- name: 🔍 Check Python code quality
69+
run: |
70+
# Run ruff for linting
71+
ruff check utils/ || true
72+
ruff format utils/ --check || true
7273
7374
# Jekyll build test - ensures site can build
7475
jekyll-build:
7576
name: Jekyll Build Test
7677
runs-on: ubuntu-latest
7778

7879
steps:
79-
- name: 📂 Checkout repository
80-
uses: actions/checkout@v5
81-
82-
- name: 💎 Setup Ruby
83-
uses: ruby/setup-ruby@v1
84-
with:
85-
ruby-version: '3.3'
86-
bundler-cache: true
87-
88-
- name: 🏗️ Test Jekyll build
89-
run: |
90-
bundle exec jekyll build --config _config.yml,_config.test.yml
91-
env:
92-
JEKYLL_ENV: test
93-
94-
- name: ✅ Verify critical files exist
95-
run: |
96-
# Check that key output files were created
97-
test -f _site/index.html || exit 1
98-
test -f _site/search.json || exit 1
99-
test -d _site/static || exit 1
100-
echo "✅ Site built successfully with all critical files"
80+
- name: 📂 Checkout repository
81+
uses: actions/checkout@v5
82+
83+
- name: 💎 Setup Ruby
84+
uses: ruby/setup-ruby@v1
85+
with:
86+
ruby-version: '3.3'
87+
bundler-cache: true
88+
89+
- name: 🏗️ Test Jekyll build
90+
run: |
91+
bundle exec jekyll build --config _config.yml,_config.test.yml
92+
env:
93+
JEKYLL_ENV: test
94+
95+
- name: ✅ Verify critical files exist
96+
run: |
97+
# Check that key output files were created
98+
test -f _site/index.html || exit 1
99+
test -f _site/search.json || exit 1
100+
test -d _site/static || exit 1
101+
echo "✅ Site built successfully with all critical files"
101102
102103
# Pre-commit checks - ensures code quality
103104
pre-commit:
104105
name: Pre-commit Checks
105106
runs-on: ubuntu-latest
106107

107108
steps:
108-
- name: 📂 Checkout repository
109-
uses: actions/checkout@v5
109+
- name: 📂 Checkout repository
110+
uses: actions/checkout@v5
110111

111-
- name: 🐍 Setup Pixi
112-
uses: prefix-dev/[email protected]
112+
- name: 🐍 Setup Pixi
113+
uses: prefix-dev/[email protected]
113114

114-
- name: 🔍 Run pre-commit hooks
115-
run: |
116-
pixi run pre || true
117-
continue-on-error: true # Don't fail the entire CI for style issues
115+
- name: 🔍 Run pre-commit hooks
116+
run: |
117+
pixi run pre || true
118+
continue-on-error: true # Don't fail the entire CI for style issues
118119

119120
# Summary job to ensure all core tests pass
120121
ci-status:
121122
name: CI Status
122123
runs-on: ubuntu-latest
123-
needs: [data-validation, python-tests, jekyll-build]
124+
needs: [ data-validation, python-tests, jekyll-build ]
124125
if: always()
125126

126127
steps:
127-
- name: ✅ Check overall status
128-
run: |
129-
if [[ "${{ needs.data-validation.result }}" == "success" ]] && \
130-
[[ "${{ needs.python-tests.result }}" == "success" ]] && \
131-
[[ "${{ needs.jekyll-build.result }}" == "success" ]]; then
132-
echo "✅ All core tests passed!"
133-
exit 0
134-
else
135-
echo "❌ Some core tests failed:"
136-
echo "Data Validation: ${{ needs.data-validation.result }}"
137-
echo "Python Tests: ${{ needs.python-tests.result }}"
138-
echo "Jekyll Build: ${{ needs.jekyll-build.result }}"
139-
exit 1
140-
fi
128+
- name: ✅ Check overall status
129+
run: |
130+
if [[ "${{ needs.data-validation.result }}" == "success" ]] && \
131+
[[ "${{ needs.python-tests.result }}" == "success" ]] && \
132+
[[ "${{ needs.jekyll-build.result }}" == "success" ]]; then
133+
echo "✅ All core tests passed!"
134+
exit 0
135+
else
136+
echo "❌ Some core tests failed:"
137+
echo "Data Validation: ${{ needs.data-validation.result }}"
138+
echo "Python Tests: ${{ needs.python-tests.result }}"
139+
echo "Jekyll Build: ${{ needs.jekyll-build.result }}"
140+
exit 1
141+
fi

0 commit comments

Comments
 (0)