feat: revert ci script #1681
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |