skill-updated #1
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: Pack and upload skills | |
| on: | |
| repository_dispatch: | |
| types: | |
| - skill-updated | |
| workflow_dispatch: # manual trigger for testing | |
| concurrency: | |
| group: pack-skills | |
| cancel-in-progress: true | |
| jobs: | |
| pack-and-upload: | |
| name: Pack skills and upload to OSS | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Install ossutil | |
| run: | | |
| wget -q https://github.com/aliyun/ossutil/releases/download/v1.7.17/ossutil-v1.7.17-linux-amd64.zip | |
| unzip -q ossutil-v1.7.17-linux-amd64.zip | |
| cp ./ossutil-v1.7.17-linux-amd64/ossutil ${{ github.workspace }}/ossutil | |
| chmod +x ${{ github.workspace }}/ossutil | |
| ${{ github.workspace }}/ossutil --version | |
| - name: Clone longbridge/skills@main | |
| run: | | |
| git clone --depth 1 --branch main https://github.com/longbridge/skills.git skills-repo | |
| echo "Cloned commit: $(git -C skills-repo rev-parse HEAD)" | |
| - name: Pack skill zips | |
| run: | | |
| mkdir -p dist/skill | |
| cd skills-repo/skills | |
| # All skills in one zip | |
| zip -r ${{ github.workspace }}/dist/skill/longbridge-all.zip . | |
| echo "✓ longbridge-all.zip" | |
| # One zip per skill directory | |
| for dir in */; do | |
| name="${dir%/}" | |
| zip -r ${{ github.workspace }}/dist/skill/${name}.zip "$name" | |
| echo "✓ ${name}.zip" | |
| done | |
| echo "Total zips: $(ls ${{ github.workspace }}/dist/skill/*.zip | wc -l)" | |
| - name: Upload to OSS (canary) | |
| run: | | |
| ${{ github.workspace }}/ossutil cp dist/skill/ \ | |
| oss://lb-assets/github/canary/open.longbridge.com/new-docs/raw/skill/ \ | |
| -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" | |
| echo "✓ Uploaded to canary OSS" | |
| - name: Upload to OSS (release) | |
| run: | | |
| ${{ github.workspace }}/ossutil cp dist/skill/ \ | |
| oss://lb-assets/github/release/open.longbridge.com/new-docs/raw/skill/ \ | |
| -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" | |
| echo "✓ Uploaded to release OSS" | |
| - name: Summary | |
| run: | | |
| echo "### Skill upload complete" >> $GITHUB_STEP_SUMMARY | |
| echo "- Triggered by: ${{ github.event.client_payload.ref || 'manual' }}" >> $GITHUB_STEP_SUMMARY | |
| echo "- Skills SHA: ${{ github.event.client_payload.sha || 'manual' }}" >> $GITHUB_STEP_SUMMARY | |
| echo "- Zips uploaded: $(ls dist/skill/*.zip | wc -l)" >> $GITHUB_STEP_SUMMARY |