Files
portfolio/.github/workflows/minify.yml
2022-12-19 22:53:51 -05:00

34 lines
1.0 KiB
YAML

# A Github Action that minifies html/css/js and pushes it to a new branch
name: minify
on:
push:
branches:
- 'main'
jobs:
minify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# Install CLI tools
- uses: actions/setup-node@v3
with:
node-version: '16'
- run: |
npm i -g terser csso-cli html-minifier
# Use CLI tools to minify, overwriting existing files
- run: |
for i in `find . -name "*.js" -type f`; do terser $i --compress -o $i; done
for i in `find . -name "*.css" -type f`; do csso $i -o $i; done
for i in `find . -name "*.html" -type f`; do html-minifier --remove-comments --collapse-whitespace $i -o $i; done
# Push changes to `build` branch
- run: |
git config user.name ${{github.actor}}
git config user.email ${{github.actor}}@user.noreply.github.com
git commit -am 'Automated minify of ${{ github.sha }}'
git push --force -u origin main:build