You've already forked Openterface_assets
mirror of
https://github.com/TechxArtisanStudio/Openterface_assets.git
synced 2025-12-17 14:02:32 -08:00
51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
name: Deploy to GitHub Pages
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
permissions:
|
|
contents: write
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '16'
|
|
|
|
- name: Install dependencies for minification and image conversion
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y webp
|
|
npm install -g uglify-js csso-cli
|
|
|
|
- name: Build and minify project
|
|
run: |
|
|
mkdir -p dist/css
|
|
mkdir -p dist/js
|
|
mkdir -p dist/images
|
|
cp -r src/images/* dist/images || echo "No images to copy"
|
|
for file in src/css/*.css; do
|
|
[ -e "$file" ] || continue
|
|
csso "$file" -o "dist/css/$(basename "${file%.css}.min.css")"
|
|
done
|
|
for file in src/js/*.js; do
|
|
[ -e "$file" ] || continue
|
|
uglifyjs "$file" -o "dist/js/$(basename "${file%.js}.min.js")"
|
|
done
|
|
for file in src/images/*.{png,jpg,jpeg}; do
|
|
[ -e "$file" ] || continue
|
|
cwebp "$file" -o "dist/images/$(basename "${file%.*}.webp")"
|
|
done
|
|
|
|
- name: Deploy to gh-pages
|
|
uses: peaceiris/actions-gh-pages@v4
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_dir: ./dist
|
|
publish_branch: gh-pages |