diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a38c698d73df50dd708e148e7b74137d487dbe0..84f308353b5474d5aa60234868b8989ebf9d0201 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,32 +35,42 @@ build-book: fi # Size analysis - - echo "=== Size Analysis ===" | tee size_analysis.log - - echo "Directory Sizes:" | tee -a size_analysis.log + - echo === Size Analysis === | tee size_analysis.log + - echo Directory Sizes | tee -a size_analysis.log - du -sh book/_build/* | tee -a size_analysis.log - - - echo -e "\nSize by File Type:" | tee -a size_analysis.log - - echo "HTML files:" | tee -a size_analysis.log - - find book/_build/html -name "*.html" -type f -exec du -ch {} + | grep total$ | tee -a size_analysis.log - - - echo "JavaScript files:" | tee -a size_analysis.log - - find book/_build/html -name "*.js" -type f -exec du -ch {} + | grep total$ | tee -a size_analysis.log - - - echo "CSS files:" | tee -a size_analysis.log - - find book/_build/html -name "*.css" -type f -exec du -ch {} + | grep total$ | tee -a size_analysis.log - - - echo "Map files:" | tee -a size_analysis.log - - find book/_build/html -name "*.map" -type f -exec du -ch {} + | grep total$ | tee -a size_analysis.log - - - echo -e "\nLargest Files (>1MB):" | tee -a size_analysis.log - - find book/_build -type f -size +1M -exec ls -lh {} \; | sort -k5 -hr | tee -a size_analysis.log - - - echo -e "\nFile counts by type:" | tee -a size_analysis.log - - echo "HTML: $(find book/_build/html -name '*.html' | wc -l)" | tee -a size_analysis.log - - echo "JS: $(find book/_build/html -name '*.js' | wc -l)" | tee -a size_analysis.log - - echo "CSS: $(find book/_build/html -name '*.css' | wc -l)" | tee -a size_analysis.log - - echo "Images: $(find book/_build/html/_images -type f | wc -l)" | tee -a size_analysis.log - - echo "IPython Notebooks: $(find book/_build -name '*.ipynb' | wc -l)" | tee -a size_analysis.log + - | + cd book/_build + + # HTML files + echo HTML files size and count >> ../../size_analysis.log + find html -name "*.html" -type f -exec du -ch {} + 2>/dev/null | grep total$ >> ../../size_analysis.log + echo HTML count $(find html -name "*.html" | wc -l) >> ../../size_analysis.log + + # JavaScript files + echo JS files size and count >> ../../size_analysis.log + find html -name "*.js" -type f -exec du -ch {} + 2>/dev/null | grep total$ >> ../../size_analysis.log + echo JS count $(find html -name "*.js" | wc -l) >> ../../size_analysis.log + + # CSS files + echo CSS files size and count >> ../../size_analysis.log + find html -name "*.css" -type f -exec du -ch {} + 2>/dev/null | grep total$ >> ../../size_analysis.log + echo CSS count $(find html -name "*.css" | wc -l) >> ../../size_analysis.log + + # Image files + echo Image files size and count >> ../../size_analysis.log + find html/_images -type f -exec du -ch {} + 2>/dev/null | grep total$ >> ../../size_analysis.log + echo Image count $(find html/_images -type f | wc -l) >> ../../size_analysis.log + + # Notebooks + echo Notebook files size and count >> ../../size_analysis.log + find . -name "*.ipynb" -type f -exec du -ch {} + 2>/dev/null | grep total$ >> ../../size_analysis.log + echo Notebook count $(find . -name "*.ipynb" | wc -l) >> ../../size_analysis.log + + # Large files + echo Largest Files over 1MB >> ../../size_analysis.log + find . -type f -size +1M -exec ls -lh {} \; | sort -k5 -hr >> ../../size_analysis.log + + cd ../.. - echo $CI_JOB_ID > build_job_id.txt