Github action/CI Plugin to minify html, javascript and css files, using minify.
The following parameters can be set to configure the action.
-
directory - File to minify or a folder containing files to minify. By default, all files in current folder and its sub-folders will be minified
-
output - Path where the minified files will be saved. By default, the minified files will be saved in the original file path
-
add_suffix - Indicates if the output files should have the suffix
.min
added after the name. Default is true -
inclusions - Multi-line string, each line of which contains a regex representing files/paths within the input directory to include/minify. By default, all files in the input directory will be minified
-
exclusions - Multi-line string, each line of which contains a regex representing files to exclude from minification. By default, no file in the input directory will be excluded
jobs:
build:
runs-on: ubuntu-latest # Docker-based github actions have to run on a linux environment
steps:
- name: Checkout
uses: actions/checkout@v4
- name: HTML/CSS/JS Minifier
uses: docker://devatherock/minify-js:3.1.0
with:
directory: 'src' # Optional
output: 'minify/src' # Optional
add_suffix: false # Optional
inclusions: |- # Optional
.*assets.*
.*static/index.html
exclusions: |- # Optional
.*assets/generated/.*
docker run --rm \
-v "/path/to/files":/work \
-w=/work \
-e PARAMETER_INPUT_PATH=/work/src \
-e PARAMETER_OUTPUT_PATH=/work/minify/src \
-e PARAMETER_ADD_SUFFIX=false \
-e PARAMETER_INCLUSIONS=".*assets.*\n.*static/index.html" \
-e PARAMETER_EXCLUSIONS=".*assets/generated/.*" \
devatherock/minify-js:3.1.0
The following parameters can be set to configure the plugin.
-
input_path - File to minify or a folder containing files to minify. By default, all files in current folder and its sub-folders will be minified
-
output_path - Path where the minified files will be saved. By default, the minified files will be saved in the original file path
-
add_suffix - Indicates if the output files should have the suffix
.min
added after the name. Default is true -
inclusions - Multi-line string, each line of which contains a regex representing files to include/minify. By default, all files in the input directory will be minified
-
exclusions - Multi-line string, each line of which contains a regex representing files to exclude from minification. By default, no file in the input directory will be excluded
steps:
- name: minify_js
ruleset:
branch: master
event: push
image: devatherock/minify-js:3.1.0
parameters:
input_path: src
output_path: minify/src
add_suffix: false
inclusions: |-
.*assets.*
.*static/index.html
exclusions: |-
.*assets/generated/.*
version: 2.1
jobs:
minify_js:
docker:
- image: devatherock/minify-js:3.1.0
working_directory: ~/my-repo
environment:
PARAMETER_INPUT_PATH: src
PARAMETER_OUTPUT_PATH: minify/src
PARAMETER_ADD_SUFFIX: false
PARAMETER_INCLUSIONS: '.*assets.*\n.*static/index.html'
PARAMETER_EXCLUSIONS: '.*assets/generated/.*'
steps:
- checkout
- run: node /app/bin/cli.mjs
To test the latest plugin image, run the below command
./gradlew test