@@ -11,45 +11,52 @@ jobs:
1111 runs-on : ubuntu-latest
1212
1313 steps :
14- - uses : actions/checkout@v4
14+ - name : Checkout repository
15+ uses : actions/checkout@v4
1516
1617 - name : Setup Ruby
1718 uses : ruby/setup-ruby@v1
1819 with :
1920 ruby-version : ' 3.3.5'
2021 bundler-cache : true
21- cache-version : 1
2222
2323 - name : Setup Node.js
2424 uses : actions/setup-node@v4
2525 with :
2626 node-version : ' 20.18.0'
2727 cache : ' npm'
2828
29- - name : Install Node dependencies
30- run : npm ci
29+ - name : Install Node dependencies (production only)
30+ run : npm ci --only=production
3131
32- - name : Verify Ruby and Bundle setup
32+ - name : Verify setup
3333 run : |
34- ruby --version
35- bundle --version
36- bundle list
34+ echo "Ruby version: $(ruby --version)"
35+ echo "Bundle version: $(bundle --version)"
36+ echo "Node version: $(node --version)"
37+ echo "NPM version: $(npm --version)"
38+ echo "Checking bundler gems..."
39+ bundle list --paths
3740
3841 - name : Run Jekyll build
39- run : bundle exec jekyll build --config _config.yml
42+ run : bundle exec jekyll build --config _config.yml --verbose
43+ env :
44+ BUNDLE_PATH : vendor/bundle
45+ BUNDLE_JOBS : 4
46+ BUNDLE_RETRY : 3
4047
4148 - name : Run multilingual tests
42- run : chmod +x ./test-multilingual.sh && ./test-multilingual.sh
43-
44- - name : Check for broken links (sample)
4549 run : |
46- # Basic link verification for main pages
47- for lang in "" "fr/" "es/" "cs/"; do
48- echo "Checking ${lang:-en} pages..."
49- if [ -f "_site/${lang}about/index.html" ]; then
50- echo "✅ ${lang:-en}about page exists"
51- else
52- echo "❌ ${lang:-en}about page missing"
53- exit 1
54- fi
55- done
50+ chmod +x ./test-multilingual.sh
51+ ./test-multilingual.sh
52+
53+ - name : Upload build artifacts on failure
54+ uses : actions/upload-artifact@v4
55+ if : failure()
56+ with :
57+ name : build-artifacts
58+ path : |
59+ _site/
60+ .jekyll-cache/
61+ Gemfile.lock
62+ retention-days : 5
0 commit comments