name: Desktop Release Notify on: workflow_dispatch: inputs: tag: description: Desktop release tag to notify, such as v0.0.1-rc.12 required: true type: string target_commitish: description: Optional release target commit-ish used for card context and checkout required: false type: string release_actor: description: Optional release actor shown in the card required: false type: string release_branch: description: Optional release branch shown in the card required: false type: string run_url: description: Optional build workflow URL shown in the card required: false type: string permissions: contents: read env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: notify-feishu: name: Notify Feishu runs-on: ubuntu-latest env: FEISHU_WEBHOOK_URL: ${{ secrets.FEISHU_RELEASE_WEBHOOK_URL }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TUTTI_DESKTOP_RELEASE_ASSETS_BASE_URL: ${{ vars.TUTTI_DESKTOP_RELEASE_ASSETS_BASE_URL }} TUTTI_DESKTOP_RELEASE_ASSETS_S3_BUCKET: ${{ vars.TUTTI_DESKTOP_RELEASE_ASSETS_S3_BUCKET }} TUTTI_DESKTOP_RELEASE_ASSETS_S3_PREFIX: ${{ vars.TUTTI_DESKTOP_RELEASE_ASSETS_S3_PREFIX }} RELEASE_ACTOR: ${{ inputs.release_actor || github.actor }} RELEASE_BRANCH: ${{ inputs.release_branch }} RELEASE_TAG: ${{ inputs.tag }} RELEASE_TARGET: ${{ inputs.target_commitish }} RELEASE_URL: ${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ inputs.tag }} RUN_URL: ${{ inputs.run_url || format('{0}/{1}/actions/runs/{2}', github.server_url, github.repository, github.run_id) }} steps: - name: Checkout notification script if: env.FEISHU_WEBHOOK_URL != '' uses: actions/checkout@v6 with: ref: ${{ inputs.target_commitish || github.sha }} - name: Setup Node.js if: env.FEISHU_WEBHOOK_URL != '' uses: actions/setup-node@v6 with: node-version-file: .node-version - name: Send release card if: env.FEISHU_WEBHOOK_URL != '' run: node apps/desktop/scripts/send-release-feishu-card.mjs - name: Skip Feishu card if: env.FEISHU_WEBHOOK_URL == '' run: echo "FEISHU_RELEASE_WEBHOOK_URL is not configured; skipping Feishu notification."