mirror of
https://github.com/langgenius/dify.git
synced 2026-06-17 06:21:07 +08:00
75 lines
2.5 KiB
YAML
75 lines
2.5 KiB
YAML
name: CLI Edge Publish
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'cli/**'
|
|
- 'packages/contracts/generated/api/openapi/**'
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: difyctl-edge-publish
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
publish:
|
|
name: build + publish edge to R2
|
|
runs-on: ${{ github.repository == 'langgenius/dify' && 'depot-ubuntu-24.04' || 'ubuntu-24.04' }}
|
|
if: vars.DIFYCTL_R2_BUCKET != ''
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
working-directory: ./cli
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
fetch-depth: 0
|
|
|
|
- name: Enable cross-arch native prebuilds
|
|
working-directory: ./
|
|
run: cat cli/scripts/cross-arch.pnpm.yaml >> pnpm-workspace.yaml
|
|
|
|
- name: Setup web environment
|
|
uses: ./.github/actions/setup-web
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@4bc047ad259df6fc24a6c9b0f9a0cb08cf17fbe5 # v2.0.2
|
|
with:
|
|
bun-version-file: cli/.bun-version
|
|
|
|
- name: Compute edge version
|
|
id: ver
|
|
run: echo "version=$(node scripts/release-naming.mjs edge-version "$(git rev-parse --short HEAD)")" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Compile standalone binaries (all targets, all-or-nothing)
|
|
run: |
|
|
CLI_VERSION="${{ steps.ver.outputs.version }}" \
|
|
DIFYCTL_CHANNEL=edge \
|
|
DIFYCTL_COMMIT="$(git rev-parse HEAD)" \
|
|
DIFYCTL_BUILD_DATE="$(git log -1 --format=%cI HEAD)" \
|
|
pnpm build:bin
|
|
|
|
- name: Generate sha256 checksums
|
|
run: CLI_VERSION="${{ steps.ver.outputs.version }}" scripts/release-write-checksums.sh
|
|
|
|
- name: Smoke the runner-arch binary
|
|
run: ./dist/bin/difyctl-v${{ steps.ver.outputs.version }}-linux-x64 version
|
|
|
|
- name: Publish to R2
|
|
env:
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.DIFYCTL_R2_ACCESS_KEY_ID }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.DIFYCTL_R2_SECRET_ACCESS_KEY }}
|
|
AWS_DEFAULT_REGION: auto
|
|
AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
|
|
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
|
|
DIFYCTL_R2_S3_ENDPOINT: ${{ vars.DIFYCTL_R2_S3_ENDPOINT }}
|
|
DIFYCTL_R2_BUCKET: ${{ vars.DIFYCTL_R2_BUCKET }}
|
|
DIFYCTL_R2_PUBLIC_BASE: ${{ vars.DIFYCTL_R2_PUBLIC_BASE }}
|
|
DIFYCTL_COMMIT: ${{ github.sha }}
|
|
run: |
|
|
DIFYCTL_BUILD_DATE="$(git log -1 --format=%cI HEAD)" \
|
|
scripts/release-r2-publish.sh edge "${{ steps.ver.outputs.version }}"
|