Skip to content

fix(imageproc): preserve animated webp thumbnails #15

fix(imageproc): preserve animated webp thumbnails

fix(imageproc): preserve animated webp thumbnails #15

Workflow file for this run

name: release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
test:
uses: ./.github/workflows/test.yaml
ui-dist:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v5
with:
node-version: 22
cache: pnpm
cache-dependency-path: ui/pnpm-lock.yaml
- name: Build UI
run: |
cd ui
pnpm install --frozen-lockfile
pnpm run build
- name: Package UI dist
run: tar czf aisets-ui-dist.tar.gz -C ui/dist .
- name: Upload UI dist artifact
uses: actions/upload-artifact@v4
with:
name: aisets-ui-dist
path: aisets-ui-dist.tar.gz
if-no-files-found: error
package:
needs: test
strategy:
fail-fast: false
matrix:
include:
- goos: linux
goarch: amd64
runner: ubuntu-latest
- goos: linux
goarch: arm64
runner: ubuntu-24.04-arm
- goos: darwin
goarch: amd64
runner: macos-15-intel
- goos: darwin
goarch: arm64
runner: macos-14
- goos: windows
goarch: amd64
runner: windows-latest
- goos: windows
goarch: arm64
runner: windows-11-arm
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- uses: dtolnay/rust-toolchain@stable
- name: Install native image dependencies
shell: bash
run: |
case "$RUNNER_OS" in
Linux)
sudo apt-get update
sudo apt-get install -y nasm libdav1d-dev
;;
macOS)
brew list nasm >/dev/null 2>&1 || brew install nasm
brew list dav1d >/dev/null 2>&1 || brew install dav1d
;;
Windows)
choco install nasm -y
;;
esac
- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
tools/imgtools/target
key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('tools/imgtools/Cargo.lock') }}
- name: Build release archive
shell: bash
env:
VERSION: ${{ github.ref_name }}
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
OUT_DIR: dist/release
run: bash scripts/package-release.sh
- name: Upload release archive artifact
uses: actions/upload-artifact@v4
with:
name: aisets-${{ matrix.goos }}-${{ matrix.goarch }}
path: dist/release/aisets_*
if-no-files-found: error
publish:
needs:
- ui-dist
- package
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Prepare release assets
run: |
mkdir -p release-assets
find artifacts -maxdepth 3 -type f -print -exec cp {} release-assets/ \;
cd release-assets
find . -maxdepth 1 -type f ! -name checksums.txt -print | sort | while read -r file; do
sha256sum "$file" | awk -v name="${file#./}" '{ print $1 " " name }'
done > checksums.txt
cat checksums.txt
- name: Publish GitHub release
uses: softprops/action-gh-release@v2
with:
files: release-assets/*