Skip to content

Commit

Permalink
ci: add image compression action
Browse files Browse the repository at this point in the history
  • Loading branch information
gqcn committed Dec 5, 2024
1 parent 35e8386 commit aef5790
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 64 deletions.
143 changes: 79 additions & 64 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,64 +1,79 @@
name: Build And Deploy

on:
push:
branches:
- 'main'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
deploy:
name: Build And Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check documentation consistency
run: |
bash .github/workflows/consistency-check.sh
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18
cache: yarn

- name: Install dependencies
run: |
yarn
- name: Generate contributors
run: |
bash .github/workflows/generate-contributors.sh
- name: Generate docs changelog
run: |
bash .github/workflows/generate-changelog.sh
- name: Build website
run: |
make build
# https://github.com/appleboy/scp-action
# - name: Deploy to main domain server
# uses: appleboy/[email protected]
# with:
# host: ${{ secrets.SSH_HOST }}
# username: ${{ secrets.SSH_USERNAME }}
# password: ${{ secrets.SSH_PASSWORD }}
# port: ${{ secrets.SSH_PORT }}
# source: './build/*'
# target: '/home/www/goframe.org'
# strip_components: 1
# rm: true

- name: Deploy to github pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
cname: pages.goframe.org
name: Build and Deploy

on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
deploy:
name: Build And Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check documentation consistency
run: |
bash .github/workflows/consistency-check.sh
- name: Install image optimization tools
run: |
apt-get update
apt-get install -y jpegoptim optipng gifsicle webp
npm install -g svgo
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18
cache: yarn

- name: Install dependencies
run: |
yarn
- name: Generate contributors
run: |
bash .github/workflows/generate-contributors.sh
- name: Generate docs changelog
run: |
bash .github/workflows/generate-changelog.sh
- name: Build website
run: |
make build
# https://github.com/appleboy/scp-action
# - name: Deploy to main domain server
# uses: appleboy/[email protected]
# with:
# host: ${{ secrets.SSH_HOST }}
# username: ${{ secrets.SSH_USERNAME }}
# password: ${{ secrets.SSH_PASSWORD }}
# port: ${{ secrets.SSH_PORT }}
# source: './build/*'
# target: '/home/www/goframe.org'
# strip_components: 1
# rm: true

- name: Optimize images
working-directory: build
run: |
find . \( -name "*.jpg" -o -name "*.jpeg" \) -exec jpegoptim --max=80 {} \;
find . -type f -name "*.png" -exec optipng -o2 {} \;
find . -type f -name "*.gif" -exec gifsicle -O3 --batch {} \;
find . -type f -name "*.webp" -exec cwebp -q 80 {} -o {}.webp \; -exec mv {}.webp {} \;
find . -type f -name "*.svg" -exec svgo {} \;
- name: Deploy to github pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
cname: pages.goframe.org
15 changes: 15 additions & 0 deletions .github/workflows/build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ jobs:
run: |
bash .github/workflows/consistency-check.sh
- name: Install image optimization tools
run: |
apt-get update
apt-get install -y jpegoptim optipng gifsicle webp
npm install -g svgo
- name: Setup Node
uses: actions/setup-node@v4
with:
Expand All @@ -35,3 +41,12 @@ jobs:
- name: Build website
run: |
make build
- name: Optimize images
working-directory: build
run: |
find . \( -name "*.jpg" -o -name "*.jpeg" \) -exec jpegoptim --max=80 {} \;
find . -type f -name "*.png" -exec optipng -o2 {} \;
find . -type f -name "*.gif" -exec gifsicle -O3 --batch {} \;
find . -type f -name "*.webp" -exec cwebp -q 80 {} -o {}.webp \; -exec mv {}.webp {} \;
find . -type f -name "*.svg" -exec svgo {} \;

0 comments on commit aef5790

Please sign in to comment.