Skip to content

feat: revert ci script #1681

feat: revert ci script

feat: revert ci script #1681

Workflow file for this run

name: scp files
on:
push:
branches:
- "main"
paths:
- "docs/**"
- ".github/workflows/deploy-docs.yml"
- "package.json"
- ".dumi/theme/**"
- ".dumirc.ts"
pull_request:
branches:
- "**"
paths:
- "docs/**"
- ".github/workflows/deploy-docs.yml"
- "package.json"
- ".dumi/theme/**"
- ".dumirc.ts"
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "22"
- run: yarn install
- name: Build en-US
env:
DOC_LANG: en-US
run: yarn build
- name: Build zh-CN
env:
DOC_LANG: zh-CN
run: yarn build
- name: Build ja-JP
env:
DOC_LANG: ja-JP
run: yarn build
- name: Build ru-RU
env:
DOC_LANG: ru-RU
run: yarn build
- name: Build fr-FR
env:
DOC_LANG: fr-FR
run: yarn build
- name: Install ossutil
if: ${{ github.ref_name == 'main' }}
run: |
curl -o /tmp/ossutil.zip https://gosspublic.alicdn.com/ossutil/v2/2.2.2/ossutil-2.2.2-linux-amd64.zip
unzip -o /tmp/ossutil.zip -d /tmp/ossutil
sudo mv /tmp/ossutil/ossutil-2.2.2-linux-amd64/ossutil /usr/local/bin/ossutil
sudo chmod 755 /usr/local/bin/ossutil
- name: Upload docs to OSS via ossutil
if: ${{ github.ref_name == 'main' }}
env:
OSS_ACCESS_KEY_ID: ${{ secrets.DOCS_ALI_OSS_ACCESS_KEY_ID }}
OSS_ACCESS_KEY_SECRET: ${{ secrets.DOCS_ALI_OSS_ACCESS_KEY_SECRET }}
run: |
TIMESTAMP=$(TZ=Asia/Shanghai date +%Y%m%d%H%M%S)
echo "DOCS_TIMESTAMP=$TIMESTAMP" >> $GITHUB_ENV
REGION=${{ secrets.DOCS_ALI_CDN_REGION }}
BUCKET=${{ secrets.DOCS_ALI_OSS_BUCKET }}
# Upload en-US to timestamp root (default language)
ossutil cp -r ./dist/en-US/ oss://$BUCKET/$TIMESTAMP/ -f -j 64 --region $REGION
# Upload other language directories
for lang_dir in ./dist/*/; do
lang=$(basename "$lang_dir")
if [ "$lang" != "en-US" ]; then
ossutil cp -r "$lang_dir" "oss://$BUCKET/$TIMESTAMP/$lang/" -f -j 64 --region $REGION
fi
done
- name: Update CDN and cleanup
if: ${{ github.ref_name == 'main' }}
env:
DOCS_ALI_OSS_ACCESS_KEY_ID: ${{ secrets.DOCS_ALI_OSS_ACCESS_KEY_ID }}
DOCS_ALI_OSS_ACCESS_KEY_SECRET: ${{ secrets.DOCS_ALI_OSS_ACCESS_KEY_SECRET }}
DOCS_ALI_OSS_BUCKET: ${{ secrets.DOCS_ALI_OSS_BUCKET }}
DOCS_ALI_OSS_REGION: ${{ secrets.DOCS_ALI_OSS_REGION }}
DOCS_ALI_CDN_DOMAIN: ${{ secrets.DOCS_ALI_CDN_DOMAIN }}
run: node scripts/upload-docs.js --skip-upload --timestamp ${{
env.DOCS_TIMESTAMP }}
- name: Set tags
if: ${{ github.ref_name != 'main' }}
id: set-tags
run: |
echo "tags=pr-${{ github.event.pull_request.number }}" >> $GITHUB_OUTPUT
- name: copy files via ssh - ${{ steps.set-tags.outputs.tags }}
if: ${{ github.ref_name != 'main' }}
uses: appleboy/scp-action@v0.1.4
with:
host: ${{ secrets.CN_HOST }}
username: ${{ secrets.CN_USERNAME }}
key: ${{ secrets.CN_KEY }}
port: ${{ secrets.CN_PORT }}
source: "dist/*"
target: ${{ secrets.CN_TARGET }}/${{ steps.set-tags.outputs.tags }}
- name: Push gh-pages
if: ${{ github.ref_name == 'main' }}
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist/en-US