diff --git a/.github/workflows/push-to-ms.yml b/.github/workflows/push-to-ms.yml new file mode 100644 index 00000000..537c0a2f --- /dev/null +++ b/.github/workflows/push-to-ms.yml @@ -0,0 +1,51 @@ +name: Push demo branch to ModelScope + +on: + workflow_call: + inputs: + ref: + required: false + default: demo + type: string + secrets: + MS_TOKEN: + required: true + +jobs: + push-ms: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref }} + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Configure Git identity + run: | + git config --global user.email "actions@github.com" + git config --global user.name "github-actions[bot]" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + # ModelScope official SDK (optional, install only if you need to call the platform API) + pip install modelscope + + - name: Push to ModelScope + env: + MS_TOKEN: ${{ secrets.MS_TOKEN }} + MS_REPO_TYPE: models + MS_REPO_ID: chenzihong/GraphGen + run: | + # Use token in the clone URL, do not write credentials to disk + [[ -d ms-repo ]] && rm -rf ms-repo + git clone https://oauth2:${MS_TOKEN}@www.modelscope.cn/${MS_REPO_TYPE}/${MS_REPO_ID}.git ms-repo + + rsync -a --delete --exclude='.git' --exclude='ms-repo' ./ ms-repo/ + + cd ms-repo + git add . + git diff-index --quiet HEAD || \ + (git commit -m "Auto-sync from ${{ inputs.ref }} at $(date -u)" && \ + git push "https://oauth2:${MS_TOKEN}@www.modelscope.cn/${MS_REPO_TYPE}/${MS_REPO_ID}.git") diff --git a/.github/workflows/sync-demo.yml b/.github/workflows/sync-demo.yml index 9f0a3141..97ee1fed 100644 --- a/.github/workflows/sync-demo.yml +++ b/.github/workflows/sync-demo.yml @@ -87,3 +87,10 @@ jobs: uses: ./.github/workflows/push-to-hf.yml secrets: HF_TOKEN: ${{ secrets.HF_TOKEN }} + push-ms: + needs: sync-demo + uses: ./.github/workflows/push-to-ms.yml + secrets: + MS_TOKEN: ${{ secrets.MS_TOKEN }} + with: + ref: demo