diff --git a/.github/workflows/openscad_build.yml b/.github/workflows/openscad_build.yml index 433067b..8d9d682 100644 --- a/.github/workflows/openscad_build.yml +++ b/.github/workflows/openscad_build.yml @@ -4,6 +4,7 @@ on: push: paths: - "**/*.scad" + - ".github/workflows/**/*" jobs: build_and_deploy: @@ -18,14 +19,16 @@ jobs: sudo apt-get update sudo apt-get install -y openscad webp xvfb - - name: Generate STL files and PNG thumbnails + - name: Generate STL files and multiple PNG thumbnails run: | xvfb-run -a --server-args="-screen 0 1024x768x24" bash -c ' find . -name "*.scad" | grep -v "^./lib/" | while read scad; do stl_path="${scad%.scad}.stl" - png_path="${scad%.scad}.png" openscad -o $stl_path $scad - openscad --render --imgsize=256,256 -o $png_path $scad + for angle in 0 90 180 270; do + png_path="${scad%.scad}_${angle}.png" + openscad --camera=0,0,0,0,0,$angle --render --imgsize=256,256 -o $png_path $scad + done done ' @@ -39,11 +42,25 @@ jobs: run: | find . ! -path "./.git/*" ! -name ".git" -type f ! \( -name "*.stl" -o -name "*.webp" \) -delete + - name: Generate index.html + run: | + echo "" > index.html + for dir in $(find . -type d -not -path './.git*'); do + dirName=$(basename $dir) + echo "

$dirName

" >> index.html + for webp in $(find $dir -name "*.webp"); do + baseName=$(basename -s .webp $webp) + echo "" >> index.html + done + echo "
" >> index.html + done + echo "" >> index.html + - name: Deploy to GitHub Pages run: | git config user.name "GitHub Actions Bot" git config user.email "@users.noreply.github.com" git checkout -b gh-pages - git add ./*.stl **/*.stl ./*.webp **/*.webp + git add ./*.stl **/*.stl ./*.webp **/*.webp index.html git commit -m "Update STL files and WebP thumbnails generated by GitHub Actions" - git push -f origin gh-pages + git push -f origin gh-pages \ No newline at end of file