-
Notifications
You must be signed in to change notification settings - Fork 0
Resolve merge conflicts in PRs #2, #3, and #4 #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
Co-authored-by: jreakin <[email protected]>
Co-authored-by: jreakin <[email protected]>
- Add verbose logging for each step - Verify conflicts exist before proceeding - Handle missing ci.yml file gracefully - Exit with error if unexpected conditions occur - Better error messages for debugging Co-authored-by: jreakin <[email protected]>
Co-authored-by: jreakin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR provides comprehensive conflict resolution materials for PRs #2, #3, and #4, which all target the ci/add-github-workflows branch. The conflicts arose because the base branch split the original ci.yml into three separate workflow files, while the dependent PRs modified the now-deleted ci.yml.
Key Changes:
- Automated resolution scripts (
resolve-pr2.sh,resolve-pr4.sh) that merge improvements from conflicting PRs - Pre-resolved workflow files combining all enhancements (caching, permissions, Python matrix, composite action)
- Comprehensive documentation explaining the root cause, resolution strategy, and manual alternatives
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
resolve-pr2.sh |
Script to auto-resolve PR #2 by applying caching and Python matrix to split workflows |
resolve-pr4.sh |
Script to auto-resolve PR #4 by creating composite action and updating workflows |
resolved-workflows/lint.yml |
Pre-resolved lint workflow with permissions, caching, and composite action |
resolved-workflows/typecheck.yml |
Pre-resolved typecheck workflow with permissions, caching, and composite action |
resolved-workflows/tests.yml |
Pre-resolved test workflow with matrix, permissions, caching, and composite action |
resolved-workflows/setup-python-uv-action.yml |
Composite action for DRY setup steps across workflows |
resolved-workflows/README.md |
Overview of resolution options and improvements included |
SUMMARY.md |
Detailed conflict analysis, resolution strategy, and execution instructions |
SCRIPTS-README.md |
Script usage guide with troubleshooting and error handling details |
PR_CONFLICT_RESOLUTION.md |
Step-by-step manual resolution instructions for each PR |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
| steps: | ||
| - name: Setup Python with uv | ||
| uses: ./.github/actions/setup-python-uv | ||
| with: | ||
| install-extras: 'true' | ||
| python-version: ${{ matrix.python-version }} |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow files generated by this script don't include an initial checkout step before calling the composite action. However, the composite action itself includes a checkout step at line 70. This creates a chicken-and-egg problem: the workflow needs to check out the repository to access .github/actions/setup-python-uv, but it hasn't done so yet.
The generated workflows should include - uses: actions/checkout@v4 before line 166 (and similar lines in other workflows), or the composite action should not include the checkout step (removing line 70 from the action definition).
| runs: | ||
| using: composite | ||
| steps: | ||
| - uses: actions/checkout@v4 |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Including a checkout step inside a composite action creates a problematic workflow pattern. Workflows that use this composite action won't be able to reference it (via ./.github/actions/setup-python-uv) unless they've already checked out the repository first.
This checkout step should be removed from the composite action, and calling workflows should be responsible for checking out the repository before invoking this action. This is the standard pattern for local composite actions.
| - uses: actions/checkout@v4 |
| runs: | ||
| using: composite | ||
| steps: | ||
| - uses: actions/checkout@v4 |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Including a checkout step inside a composite action creates a problematic workflow pattern. Workflows that use this composite action won't be able to reference it (via ./.github/actions/setup-python-uv) unless they've already checked out the repository first.
This checkout step should be removed from the composite action, and calling workflows should be responsible for checking out the repository before invoking this action. This is the standard pattern for local composite actions.
| - uses: actions/checkout@v4 |
| lint: | ||
| name: Lint | ||
| runs-on: ubuntu-latest | ||
| steps: |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The composite action includes a checkout step at line 17, but the workflows that use this action don't perform an initial checkout. When a composite action is called, it runs within the runner's workspace, but if no checkout has been performed yet by the workflow, there won't be a .github/actions/setup-python-uv directory to reference.
The workflow should either:
- Add a checkout step before calling the composite action, OR
- Remove the checkout step from the composite action and require workflows to check out first
Recommended fix: Add - uses: actions/checkout@v4 as the first step in the workflow before calling the composite action.
| steps: | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 |
| typecheck: | ||
| name: Type Check | ||
| runs-on: ubuntu-latest | ||
| steps: |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The composite action includes a checkout step at line 17, but the workflows that use this action don't perform an initial checkout. When a composite action is called, it runs within the runner's workspace, but if no checkout has been performed yet by the workflow, there won't be a .github/actions/setup-python-uv directory to reference.
The workflow should either:
- Add a checkout step before calling the composite action, OR
- Remove the checkout step from the composite action and require workflows to check out first
Recommended fix: Add - uses: actions/checkout@v4 as the first step in the workflow before calling the composite action.
| steps: | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 |
| strategy: | ||
| matrix: | ||
| python-version: ["3.12", "3.13"] | ||
| steps: |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The composite action includes a checkout step at line 17, but the workflows that use this action don't perform an initial checkout. When a composite action is called, it runs within the runner's workspace, but if no checkout has been performed yet by the workflow, there won't be a .github/actions/setup-python-uv directory to reference.
The workflow should either:
- Add a checkout step before calling the composite action, OR
- Remove the checkout step from the composite action and require workflows to check out first
Recommended fix: Add - uses: actions/checkout@v4 as the first step in the workflow before calling the composite action.
| steps: | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 |
| steps: | ||
| - name: Setup Python with uv | ||
| uses: ./.github/actions/setup-python-uv |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow files generated by this script don't include an initial checkout step before calling the composite action. However, the composite action itself includes a checkout step at line 70. This creates a chicken-and-egg problem: the workflow needs to check out the repository to access .github/actions/setup-python-uv, but it hasn't done so yet.
The generated workflows should include - uses: actions/checkout@v4 before line 138 (and similar lines in other workflows), or the composite action should not include the checkout step (removing line 70 from the action definition).
| 3. Create the composite action `.github/actions/setup-python-uv/action.yml`: | ||
| ```yaml | ||
| name: Setup Python with uv | ||
| description: Set up Python environment using uv package manager | ||
|
|
||
| inputs: | ||
| install-extras: | ||
| description: 'Whether to install all extras with dependencies' | ||
| required: false | ||
| default: 'false' | ||
|
|
||
| runs: | ||
| using: composite | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Install uv | ||
| uses: astral-sh/setup-uv@v4 | ||
| with: | ||
| version: "latest" | ||
|
|
||
| - name: Set up Python | ||
| shell: bash | ||
| run: uv python install 3.12 | ||
|
|
||
| - name: Install dependencies | ||
| shell: bash | ||
| run: | | ||
| if [ "${{ inputs.install-extras }}" = "true" ]; then | ||
| uv sync --group dev --all-extras | ||
| else | ||
| uv sync --group dev | ||
| fi | ||
| ``` | ||
|
|
||
| 4. Update each workflow file to use the composite action: | ||
|
|
||
| **lint.yml:** | ||
| ```yaml | ||
| steps: | ||
| - name: Setup Python with uv | ||
| uses: ./.github/actions/setup-python-uv | ||
|
|
||
| - name: Run Ruff check | ||
| run: uv run ruff check src/ tests/ | ||
|
|
||
| - name: Run Ruff format check | ||
| run: uv run ruff format --check src/ tests/ | ||
| ``` | ||
|
|
||
| **typecheck.yml:** | ||
| ```yaml | ||
| steps: | ||
| - name: Setup Python with uv | ||
| uses: ./.github/actions/setup-python-uv | ||
|
|
||
| - name: Run Mypy | ||
| run: uv run mypy src/ | ||
| ``` | ||
|
|
||
| **tests.yml:** | ||
| ```yaml | ||
| steps: | ||
| - name: Setup Python with uv | ||
| uses: ./.github/actions/setup-python-uv | ||
| with: | ||
| install-extras: 'true' | ||
|
|
||
| - name: Run tests | ||
| run: uv run pytest tests/ -v --tb=short | ||
| ``` |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The composite action example includes a checkout step at line 105, but the workflow examples (lines 128-161) don't include an initial checkout step before calling the composite action. This creates a chicken-and-egg problem where the workflow cannot access the composite action without first checking out the repository.
Either remove the checkout from the composite action definition, or add - uses: actions/checkout@v4 as the first step in each workflow example before calling the composite action.
| steps: | ||
| - name: Setup Python with uv | ||
| uses: ./.github/actions/setup-python-uv |
Copilot
AI
Nov 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow files generated by this script don't include an initial checkout step before calling the composite action. However, the composite action itself includes a checkout step at line 70. This creates a chicken-and-egg problem: the workflow needs to check out the repository to access .github/actions/setup-python-uv, but it hasn't done so yet.
The generated workflows should include - uses: actions/checkout@v4 before line 110 (and similar lines in other workflows), or the composite action should not include the checkout step (removing line 70 from the action definition).
PRs #2, #3, and #4 target branch
ci/add-github-workflows, which split the originalci.ymlinto three separate workflow files (lint.yml,typecheck.yml,tests.yml). All three PRs modify the now-deletedci.yml, causing conflicts.Deliverables
Automated Resolution Scripts
resolve-pr2.sh- Merges split workflows + adds caching, permissions, Python matrix (3.12, 3.13)resolve-pr4.sh- Merges split workflows + creates composite action.github/actions/setup-python-uv/Pre-Resolved Workflow Files
resolved-workflows/contains production-ready files incorporating all improvements:enable-cache: truepermissions: contents: readDocumentation
SCRIPTS-README.md- Script usage and troubleshootingSUMMARY.md- Merge strategy and PR status tablePR_CONFLICT_RESOLUTION.md- Manual resolution stepsResolution Path
PR Status
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/repos/Abstract-Data/RyanData-Address-Utils/pulls/2/usr/bin/curl curl -s REDACTED(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.