name: Deploy Slides run-name: ${{ gitea.actor }} deployed slides on: push: branches: [main] jobs: build-and-deploy: runs-on: aliyun container: node:22-alpine steps: - name: Install tools run: | sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories apk add --no-cache docker-cli git - name: Checkout uses: http://47.121.181.112:3000/wonder/checkout@v4 with: github-server-url: http://47.121.181.112:3000 - name: Enable pnpm via corepack run: corepack enable - name: Cache pnpm store uses: http://47.121.181.112:3000/actions/cache@v4 with: path: /root/.local/share/pnpm/store key: pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: pnpm-store- - name: Install dependencies run: pnpm install --frozen-lockfile env: npm_config_registry: https://registry.npmmirror.com - name: Build all decks run: pnpm run build - name: Deploy to nginx run: | if docker inspect slides-nginx >/dev/null 2>&1; then docker cp dist/. slides-nginx:/usr/share/nginx/html/ docker exec slides-nginx nginx -s reload else docker run -d \ --name slides-nginx \ --restart unless-stopped \ -p 8080:80 \ nginx:alpine docker cp nginx.conf slides-nginx:/etc/nginx/conf.d/default.conf docker cp dist/. slides-nginx:/usr/share/nginx/html/ fi