Skip to content

Latest commit

 

History

History
97 lines (84 loc) · 3.55 KB

File metadata and controls

97 lines (84 loc) · 3.55 KB
name Smoke Multi PR
description Test creating multiple pull requests in a single workflow run
true
schedule workflow_dispatch pull_request reaction status-comment
every 24h
types names
labeled
smoke-multi-pr
eyes
true
permissions
contents pull-requests
read
read
engine copilot
strict true
network
allowed
defaults
node
tools
edit bash
date
echo *
printf *
safe-outputs
allowed-domains create-pull-request add-comment messages
default-safe-outputs
title-prefix if-no-changes labels expires max
[smoke-multi-pr]
warn
ai-generated
2h
2
hide-older-comments max
true
1
append-only-comments footer run-started run-success run-failure
true
> 🧪 *Multi PR smoke test by [{workflow_name}]({run_url})*{effective_tokens_suffix}{history_link}
🧪 [{workflow_name}]({run_url}) is now testing multiple PR creation...
✅ [{workflow_name}]({run_url}) successfully created multiple PRs.
❌ [{workflow_name}]({run_url}) failed to create multiple PRs. Check the logs.
timeout-minutes 10
imports
shared/observability-otlp.md

Smoke Test: Multiple Pull Request Creation

This workflow validates that multiple pull requests can be created in a single workflow run.

Test Requirements

Create exactly TWO pull requests with distinct changes:

PR 1: Documentation Update

  1. Create a separate new branch off main smoke-multi-pr-doc-${{ github.run_id }}-1 for the first PR
  2. Create a file tmp-smoke-multi-pr-doc-${{ github.run_id }}-1.txt with content:
    Documentation smoke test for multi-PR workflow
    Run ID: ${{ github.run_id }}
    Created at: [current timestamp using date command]
    PR: 1 of 2
    
  3. Create a pull request with:
    • Title: "PR 1: Documentation smoke test"
    • Body: "First of two PRs created by smoke-multi-pr workflow run ${{ github.run_id }}."

PR 2: CRLF Line Endings Test

This PR specifically tests that the create_pull_request safe output correctly handles files with CRLF (Windows-style) line endings.

  1. Create a separate new branch off main smoke-multi-pr-crlf-${{ github.run_id }}-2 for the second PR
  2. Create a file tmp-smoke-multi-pr-crlf-${{ github.run_id }}-2.txt with CRLF line endings using printf:
    printf "CRLF smoke test for multi-PR workflow\r\nRun ID: ${{ github.run_id }}\r\nCreated at: $(date)\r\nPR: 2 of 2\r\nLine ending: CRLF (Windows-style \\r\\n)\r\n" > tmp-smoke-multi-pr-crlf-${{ github.run_id }}-2.txt
    Verify the file has CRLF endings by running cat -A tmp-smoke-multi-pr-crlf-${{ github.run_id }}-2.txt — each line should end with ^M$.
  3. Create a pull request with:
    • Title: "PR 2: CRLF line endings smoke test"
    • Body: "Second of two PRs created by smoke-multi-pr workflow run ${{ github.run_id }}. This PR tests that patch application works correctly with CRLF line endings."

Success Criteria

Both PRs must be created successfully. After creating both PRs, add a comment to the triggering context summarizing:

  • The two PR numbers created
  • Links to both PRs
  • Confirmation that multi-PR creation is working
  • Confirmation that CRLF line endings were handled correctly (PR 2)

Important: If no action is needed after completing your analysis, you MUST call the noop safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.

{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}