mirror of
https://github.com/gilbN/theme.park.git
synced 2024-11-19 17:42:32 +01:00
96 lines
3.1 KiB
YAML
96 lines
3.1 KiB
YAML
name: Minify CSS and deploy to live branch
|
|
permissions: write-all
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- develop
|
|
- testing
|
|
paths-ignore:
|
|
- 'docker-mods/**'
|
|
- '.vscode/**'
|
|
- '.github/**'
|
|
workflow_dispatch:
|
|
inputs:
|
|
branch:
|
|
description: 'Select branch'
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- master
|
|
- develop
|
|
- testing
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4.1.0
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Wrong domain check
|
|
run: |
|
|
echo "$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }})"
|
|
if git grep -q -E ${{ secrets.DOMAIN }} -- *.css; then
|
|
echo "Game over man!"
|
|
exit 1
|
|
fi
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v4.7.0
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Run themes.py
|
|
run: |
|
|
python themes.py
|
|
- name: Minify CSS
|
|
if: ${{ github.ref == 'refs/heads/master' }}
|
|
run: |
|
|
sudo npm install -g minify@7.2.2
|
|
sudo apt-get update
|
|
sudo apt-get -y install moreutils
|
|
|
|
minify_file(){
|
|
directory=$1
|
|
basename=$(basename $directory);
|
|
extension="${basename##*.}"
|
|
output="${directory%/*}/"
|
|
filename="${basename%.*}"
|
|
output_path="${output}${filename}.${extension}"
|
|
minify ${directory} | sponge ${output_path}
|
|
echo "Minified ${directory} > ${output_path}"
|
|
}
|
|
|
|
find ./css -type f -iname *base.css | while read fname
|
|
do
|
|
if [[ "$fname" != *"min."* ]]; then
|
|
minify_file $fname
|
|
fi
|
|
done
|
|
- name: Deploy
|
|
uses: peaceiris/actions-gh-pages@v3.9.3
|
|
if: ${{ github.ref == 'refs/heads/master' || github.event.inputs.branch == 'master' }}
|
|
with:
|
|
publish_dir: ./
|
|
publish_branch: live
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
exclude_assets: ''
|
|
- name: Deploy Develop
|
|
uses: peaceiris/actions-gh-pages@v3.9.3
|
|
if: ${{ github.ref == 'refs/heads/develop' || github.event.inputs.branch == 'develop' }}
|
|
with:
|
|
publish_dir: ./
|
|
publish_branch: live_develop
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
exclude_assets: ''
|
|
- name: Deploy Testing
|
|
uses: peaceiris/actions-gh-pages@v3.9.3
|
|
if: ${{ github.ref == 'refs/heads/testing' || github.event.inputs.branch == 'testing' }}
|
|
with:
|
|
publish_dir: ./
|
|
publish_branch: live_testing
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
exclude_assets: ''
|
|
- name: Clear CF Cache
|
|
run: |
|
|
curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
|
|
-H "Authorization: Bearer ${{ secrets.CLOUDFLARE_CACHE_PURGE }}" \
|
|
-H "Content-Type:application/json" |