@@ -24,7 +24,7 @@ concurrency:
2424 cancel-in-progress : true
2525
2626env :
27- APP_NAME : qa-react-webpack-rails-tutorial-pr -${{ github.event.pull_request.number || github.event.issue.number || github.event.inputs.pr_number }}
27+ APP_NAME : ${{ vars.REVIEW_APP_PREFIX }} -${{ github.event.pull_request.number || github.event.issue.number || github.event.inputs.pr_number }}
2828 CPLN_TOKEN : ${{ secrets.CPLN_TOKEN_STAGING }}
2929 CPLN_ORG : ${{ vars.CPLN_ORG_STAGING }}
3030 PR_NUMBER : ${{ github.event.pull_request.number || github.event.issue.number || github.event.inputs.pr_number }}
@@ -62,27 +62,61 @@ jobs:
6262 with :
6363 fetch-depth : 0
6464
65+ - name : Validate Required Secrets and Variables
66+ shell : bash
67+ run : |
68+ missing=()
69+
70+ # Check secrets
71+ if [ -z "${{ secrets.CPLN_TOKEN_STAGING }}" ]; then
72+ missing+=("Secret: CPLN_TOKEN_STAGING")
73+ fi
74+
75+ # Check variables
76+ if [ -z "${{ vars.CPLN_ORG_STAGING }}" ]; then
77+ missing+=("Variable: CPLN_ORG_STAGING")
78+ fi
79+
80+ if [ -z "${{ vars.REVIEW_APP_PREFIX }}" ]; then
81+ missing+=("Variable: REVIEW_APP_PREFIX")
82+ fi
83+
84+ if [ ${#missing[@]} -ne 0 ]; then
85+ echo "Required secrets/variables are not set: ${missing[*]}"
86+ exit 1
87+ fi
88+
6589 - name : Get PR HEAD Ref
6690 id : getRef
6791 env :
6892 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
6993 run : |
70- if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
71- PR_NUMBER="${{ github.event.inputs.pr }}"
72- elif [[ "${{ github.event_name }}" == "issue_comment" ]]; then
73- PR_NUMBER="${{ github.event.issue.number }}"
74- elif [[ "${{ github.event_name }}" == "pull_request" ]]; then
75- PR_NUMBER="${{ github.event.pull_request.number }}"
76- elif [[ "${{ github.event_name }}" == "push" ]]; then
77- # For push events, find associated PR
78- PR_DATA=$(gh pr list --head "${{ github.ref_name }}" --json number --jq '.[0].number')
79- if [[ -n "$PR_DATA" ]]; then
80- PR_NUMBER="$PR_DATA"
81- else
82- echo "Error: No PR found for branch ${{ github.ref_name }}"
94+ # Get PR number based on event type
95+ case "${{ github.event_name }}" in
96+ "workflow_dispatch")
97+ PR_NUMBER="${{ github.event.inputs.pr }}"
98+ ;;
99+ "issue_comment")
100+ PR_NUMBER="${{ github.event.issue.number }}"
101+ ;;
102+ "pull_request")
103+ PR_NUMBER="${{ github.event.pull_request.number }}"
104+ ;;
105+ "push")
106+ # For push events, find associated PR
107+ PR_DATA=$(gh pr list --head "${{ github.ref_name }}" --json number --jq '.[0].number')
108+ if [[ -n "$PR_DATA" ]]; then
109+ PR_NUMBER="$PR_DATA"
110+ else
111+ echo "Error: No PR found for branch ${{ github.ref_name }}"
112+ exit 1
113+ fi
114+ ;;
115+ *)
116+ echo "Error: Unsupported event type ${{ github.event_name }}"
83117 exit 1
84- fi
85- fi
118+ ;;
119+ esac
86120
87121 if [[ -z "$PR_NUMBER" ]]; then
88122 echo "Error: Could not determine PR number"
91125
92126 # Set environment variables
93127 echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
94- echo "APP_NAME=qa-react-webpack-rails-tutorial-pr -$PR_NUMBER" >> $GITHUB_ENV
128+ echo "APP_NAME=${{ vars.REVIEW_APP_PREFIX }} -$PR_NUMBER" >> $GITHUB_ENV
95129
96130 # Get PR data using GitHub CLI
97131 PR_DATA=$(gh pr view $PR_NUMBER --repo shakacode/react-webpack-rails-tutorial --json headRefName,headRefOid)
0 commit comments