Files
Openterface_assets/.github/workflows/deploy.yml

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