From 207e4f3b92879545c015a17bb26a2607bc5544c3 Mon Sep 17 00:00:00 2001 From: Srgr0 <66754887+Srgr0@users.noreply.github.com> Date: Sat, 10 Feb 2024 14:18:30 +0900 Subject: [PATCH] dev: Update misskey-tga deploy-test-environment.yml (#13221) --- .github/workflows/deploy-test-environment.yml | 59 ++++++++++++++++--- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deploy-test-environment.yml b/.github/workflows/deploy-test-environment.yml index acfe7dec2..62a4d018d 100644 --- a/.github/workflows/deploy-test-environment.yml +++ b/.github/workflows/deploy-test-environment.yml @@ -1,23 +1,66 @@ name: deploy-test-environment on: - #push: + issue_comment: + types: [created] workflow_dispatch: inputs: repository: - description: 'Repository to deploy (optional)' - type: string + description: 'Repository to deploy (optional, use the repository where this workflow is stored by default)' required: false + default: '' branch_or_hash: - description: 'Branch or Commit hash to deploy (optional)' - type: string + description: 'Branch or Commit hash to deploy (optional, use the branch where this workflow is stored by default)' required: false + default: '' + wait_time: + description: 'Time to wait in seconds (optional, 1800 seconds by default)' + required: false + default: '' jobs: - deploy-test-environment: + get-pr-ref: + runs-on: ubuntu-latest + if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/preview') + outputs: + pr-ref: ${{ steps.get-ref.outputs.pr-ref }} + wait_time: ${{ steps.get-wait-time.outputs.wait_time }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Get PR ref + id: get-ref + env: + GH_TOKEN: ${{ github.token }} + run: | + PR_NUMBER=$(jq --raw-output .issue.number $GITHUB_EVENT_PATH) + PR_REF=$(gh pr view $PR_NUMBER --json headRefName -q '.headRefName') + echo "pr-ref=$PR_REF" > $GITHUB_OUTPUT + + - name: Extract wait time + id: get-wait-time + run: | + COMMENT_BODY="${{ github.event.comment.body }}" + WAIT_TIME=$(echo "$COMMENT_BODY" | grep -oP '(?<=/preview\s)\d+' || echo "1800") + echo "wait_time=$WAIT_TIME" > $GITHUB_OUTPUT + + deploy-test-environment-pr-comment: + needs: get-pr-ref uses: joinmisskey/misskey-tga/.github/workflows/deploy-test-environment.yml@main with: - repository: ${{ github.event.inputs.repository }} - branch_or_hash: ${{ github.event.inputs.branch_or_hash }} + repository: ${{ github.repository }} + branch_or_hash: ${{ needs.get-pr-ref.outputs.pr-ref }} + wait_time: ${{ needs.get-pr-ref.outputs.wait_time }} + secrets: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + + deploy-test-environment-wd: + if: github.event_name == 'workflow_dispatch' + uses: joinmisskey/misskey-tga/.github/workflows/deploy-test-environment.yml@main + with: + repository: ${{ inputs.repository || github.repository }} + branch_or_hash: ${{ inputs.branch_or_hash || github.ref_name }} + wait_time: ${{ inputs.wait_time || '1800' }} secrets: DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}