mirror of
https://github.com/langgenius/dify.git
synced 2026-07-30 00:39:34 +08:00
72 lines
2.5 KiB
YAML
72 lines
2.5 KiB
YAML
name: Deploy Knowledge
|
|
|
|
permissions:
|
|
actions: read
|
|
contents: read
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Build and Push API & Web"]
|
|
branches:
|
|
- "deploy/konwledge"
|
|
types:
|
|
- completed
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: depot-ubuntu-24.04
|
|
if: |
|
|
github.event.workflow_run.conclusion == 'success' &&
|
|
github.event.workflow_run.head_branch == 'deploy/konwledge'
|
|
steps:
|
|
- name: Wait for KnowledgeFS CI
|
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
|
timeout-minutes: 35
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
script: |
|
|
const workflowId = "knowledge-fs-ci.yml";
|
|
const headBranch = context.payload.workflow_run.head_branch;
|
|
const headSha = context.payload.workflow_run.head_sha;
|
|
const deadline = Date.now() + 30 * 60 * 1000;
|
|
const pollIntervalMs = 15 * 1000;
|
|
|
|
while (Date.now() < deadline) {
|
|
const { data } = await github.rest.actions.listWorkflowRuns({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
workflow_id: workflowId,
|
|
branch: headBranch,
|
|
event: "push",
|
|
head_sha: headSha,
|
|
per_page: 10,
|
|
});
|
|
const run = data.workflow_runs[0];
|
|
|
|
if (!run) {
|
|
core.info(`Waiting for ${workflowId} to start for ${headSha}.`);
|
|
} else if (run.status !== "completed") {
|
|
core.info(`Waiting for ${run.html_url}; current status is ${run.status}.`);
|
|
} else if (run.conclusion !== "success") {
|
|
throw new Error(
|
|
`${workflowId} did not succeed for ${headSha}: ${run.conclusion} (${run.html_url})`,
|
|
);
|
|
} else {
|
|
core.info(`KnowledgeFS CI succeeded for ${headSha}: ${run.html_url}`);
|
|
return;
|
|
}
|
|
|
|
await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
|
|
}
|
|
|
|
throw new Error(`Timed out waiting for ${workflowId} to succeed for ${headSha}.`);
|
|
|
|
- name: Deploy to server
|
|
uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5
|
|
with:
|
|
host: ${{ secrets.SSH_NEW_RAG_HOST }}
|
|
username: ${{ secrets.SSH_USER }}
|
|
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
script: |
|
|
${{ vars.SSH_SCRIPT || secrets.SSH_SCRIPT }}
|