34 lines
1.0 KiB
YAML
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 build
|