[$250] Company card - Company cards page loads each time opening it, error when opened offline #8856
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Investigate Deploy Blocker | |
| permissions: | |
| contents: read | |
| issues: write | |
| on: | |
| issues: | |
| types: | |
| - labeled | |
| workflow_dispatch: | |
| inputs: | |
| ISSUE_URL: | |
| description: 'The full URL of the issue to investigate (e.g., https://github.com/Expensify/App/issues/12345)' | |
| required: true | |
| type: string | |
| concurrency: | |
| group: deploy-blocker-investigation-${{ github.event.issue.html_url || inputs.ISSUE_URL }} | |
| cancel-in-progress: false | |
| jobs: | |
| investigate: | |
| # Run when DeployBlockerCash label is added, or on manual dispatch | |
| if: github.event_name == 'workflow_dispatch' || github.event.label.name == 'DeployBlockerCash' | |
| runs-on: ubuntu-latest | |
| env: | |
| ISSUE_URL: ${{ github.event.issue.html_url || inputs.ISSUE_URL }} | |
| steps: | |
| - name: Checkout App repository | |
| uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4 | |
| with: | |
| fetch-depth: 1 | |
| # Only validate write access for manual dispatch - label events are already gated by GitHub's | |
| # permission model (triage+ can add labels), and the workflow uses controlled tools | |
| - name: Validate actor has write access | |
| if: github.event_name == 'workflow_dispatch' | |
| uses: ./.github/actions/composite/validateActor | |
| with: | |
| REQUIRE_APP_DEPLOYER: false | |
| OS_BOTIFY_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }} | |
| - name: Setup Node | |
| uses: ./.github/actions/composite/setupNode | |
| - name: Add claude utility scripts to PATH | |
| run: | | |
| echo "$GITHUB_WORKSPACE/.claude/scripts" >> "$GITHUB_PATH" | |
| - name: Validate issue has DeployBlockerCash label | |
| id: validate | |
| run: | | |
| # If triggered by label event, we know the label was just added | |
| if [[ "${{ github.event_name }}" == "issues" ]]; then | |
| echo "valid=true" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| # For manual dispatch, verify the label exists | |
| LABELS=$(gh issue view "$ISSUE_URL" --json labels --jq '.labels[].name') | |
| if echo "$LABELS" | grep -q "DeployBlockerCash"; then | |
| echo "valid=true" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "valid=false" >> "$GITHUB_OUTPUT" | |
| echo "::warning::Issue $ISSUE_URL does not have DeployBlockerCash label" | |
| fi | |
| env: | |
| GITHUB_TOKEN: ${{ github.token }} | |
| - name: Run Claude to investigate deploy blocker | |
| if: steps.validate.outputs.valid == 'true' | |
| uses: anthropics/claude-code-action@a7e4c51380c42dd89b127f5e5f9be7b54020bc6b # v1.0.21 | |
| with: | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| github_token: ${{ secrets.OS_BOTIFY_TOKEN }} | |
| prompt: "/investigate-deploy-blocker ISSUE_URL: ${{ env.ISSUE_URL }}" | |
| claude_args: | | |
| --allowedTools "Task,Glob,Grep,Read,Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh issue list:*),Bash(gh pr view:*),Bash(gh pr list:*),Bash(gh pr diff:*),Bash(gh api:*),Bash(git log:*),Bash(git show:*),Bash(git blame:*),Bash(removeDeployBlockerLabel.sh:*)" |