mirror of
https://github.com/longbridge/developers.git
synced 2026-09-19 03:34:09 +08:00
482b92a197
CI 裸跑 bun install 曾卡 20+ 分钟且日志看不到进度(bun 进度条走 \r 不实时刷新)。 四个 install 步骤改为 bun install --frozen-lockfile --verbose:frozen 确定性安装、 lockfile 不符即快速失败;verbose 非 TTY 逐行输出,便于定位卡住的包。 前置 actions/cache 缓存 ~/.bun/install/cache(按 bun.lock 哈希),命中后基本不走网络。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
55 lines
2.7 KiB
YAML
55 lines
2.7 KiB
YAML
name: Deploy Canary
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- canary
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
deploy_canary:
|
|
name: build
|
|
timeout-minutes: 30
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: Install ossutil
|
|
run: |
|
|
wget https://github.com/aliyun/ossutil/releases/download/v1.7.17/ossutil-v1.7.17-linux-amd64.zip
|
|
unzip ossutil-v1.7.17-linux-amd64.zip && cp ./ossutil-v1.7.17-linux-amd64/ossutil ${{github.workspace}}/ && chmod +x ${{github.workspace}}/ossutil
|
|
|
|
- name: Test ossutil
|
|
run: |
|
|
${{github.workspace}}/ossutil --version
|
|
|
|
- uses: oven-sh/setup-bun@v2
|
|
|
|
- name: Cache bun dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.bun/install/cache
|
|
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
|
|
restore-keys: bun-${{ runner.os }}-
|
|
|
|
- name: Install dependency
|
|
run: bun install --frozen-lockfile --verbose
|
|
|
|
- name: Build canary
|
|
run: bun run build:canary
|
|
env:
|
|
VITE_PORTAL_GATEWAY_BASE_URL: 'https://mr.longbridge.xyz'
|
|
NODE_OPTIONS: --max-old-space-size=14336 --expose-gc
|
|
|
|
- name: Upload to Aliyun OSS
|
|
run: |
|
|
${{github.workspace}}/ossutil cp ./dist oss://lb-assets/github/canary/open.longbridge.com/new-docs/raw/ -u -r -j 10 -e oss-cn-hangzhou.aliyuncs.com -i ${{ secrets.FE_LB_ASSET_ACCESS_KEY_ID }} -k ${{ secrets.FE_LB_ASSET_ACCESS_KEY_SECRET }} --exclude "*.html" --exclude "*.md" --exclude "*.zip" --meta=Cache-Control:max-age=31536000
|
|
${{github.workspace}}/ossutil cp ./dist oss://lb-assets/github/canary/open.longbridge.com/new-docs/raw/ -u -r -j 10 -e oss-cn-hangzhou.aliyuncs.com -i ${{ secrets.FE_LB_ASSET_ACCESS_KEY_ID }} -k ${{ secrets.FE_LB_ASSET_ACCESS_KEY_SECRET }} --include "*.zip" --meta "Cache-Control:no-cache#Content-type:application/zip;charset=utf-8"
|
|
${{github.workspace}}/ossutil cp ./dist oss://lb-assets/github/canary/open.longbridge.com/new-docs/raw/ -u -r -j 10 -e oss-cn-hangzhou.aliyuncs.com -i ${{ secrets.FE_LB_ASSET_ACCESS_KEY_ID }} -k ${{ secrets.FE_LB_ASSET_ACCESS_KEY_SECRET }} --include "*.md" --meta "Cache-Control:no-cache#Content-type:text/markdown;charset=utf-8"
|
|
${{github.workspace}}/ossutil cp ./dist oss://lb-assets/github/canary/open.longbridge.com/new-docs/raw/ -u -r -j 10 -e oss-cn-hangzhou.aliyuncs.com -i ${{ secrets.FE_LB_ASSET_ACCESS_KEY_ID }} -k ${{ secrets.FE_LB_ASSET_ACCESS_KEY_SECRET }} --include "*.html" --meta "Cache-Control:no-cache#Content-type:text/html;charset=utf-8"
|