Minisauras is an open-source CI/CD automation tool based on GitHub Actions that pulls all the JavaScript and CSS files from your base branch, minify them and creates a pull-request with a new branch.
- Traverse through a given directory (if not provided, traverse from root), finds all the JavaScript & CSS files within it and it's sub-directories.
- Afterwards, Minisauras minify all those files.
- Finally, it creates a new branch in your repository, push those changes and creates a pull request that can be merged in your base branch.
- Create a personal access token.
- Then setup a secret using that personal access token in your desired repository.
- Create a workflow. For example: main.yml under (.github/workflows) directory.
- In the workflow, provide following things:
- Personal access token. For example: ${{ secrets.TOKEN }} if you set your secret with a name 'TOKEN'.
- The desired directory in which you want to minify CSS and JS files. For example: './' for root and 'src/' for src directory.
If you want to minify all your JS and CSS files under root directory
name: minisauras
on: [push]
jobs:
read:
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: minisauras
uses: TeamTigers/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
id: dir
with:
directory: './' ## minify all files from root directory
If you want to minify all your JS and CSS files under your custom directory ex. assets/js & assets/css
name: minisauras
on: [push]
jobs:
read:
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: minisauras
uses: TeamTigers/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
id: dir
with:
directory: 'assets/' ## minify all files under assets directory
There you go !! We have created an example repository where you can see how minisauras has minified all the CSS and JavaScript files as well as created a new branch and sent a pull request.
📌 Visit the example repository at : https://github.com/TeamTigers/minisauras-example
This project is licensed under MIT