From 261247123690a22f043c646832c59c66cfdfb54e Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Fri, 13 Feb 2026 10:07:01 +0000 Subject: [PATCH] update --- .../copying-typespec-test-changes/SKILL.md | 128 ------------------ 1 file changed, 128 deletions(-) delete mode 100644 .github/skills/copying-typespec-test-changes/SKILL.md diff --git a/.github/skills/copying-typespec-test-changes/SKILL.md b/.github/skills/copying-typespec-test-changes/SKILL.md deleted file mode 100644 index 983eb3b3e2..0000000000 --- a/.github/skills/copying-typespec-test-changes/SKILL.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -name: copying-typespec-test-changes -description: Copies test file changes from Microsoft/typespec repo PRs to Azure/autorest.python repo. Use when user provides a Microsoft/typespec PR link and asks to sync test changes from http-client-python/generator/test to packages/typespec-python/test folder. ---- - -# Copying TypeSpec Test Changes to autorest.python - -## Overview - -The `packages/typespec-python/test` folder in Azure/autorest.python mirrors the `packages/http-client-python/generator/test` folder in Microsoft/typespec. When test changes are made in typespec, they need to be copied to autorest.python. - -## Workflow - -Copy this checklist and track your progress: - -``` -Task Progress: -- [ ] Step 1: Extract changed files from typespec PR -- [ ] Step 2: Identify test file changes in http-client-python/generator/test -- [ ] Step 3: Copy changes to packages/typespec-python/test -- [ ] Step 4: Format files with black -- [ ] Step 5: Verify changes -``` - -### Step 1: Extract changed files from typespec PR - -Use the GitHub tool to fetch the PR details from Microsoft/typespec - -### Step 2: Identify test file changes - -Filter the changed files list to only include files under: -- `packages/http-client-python/generator/test/` - -Ignore changes outside this path. - -### Step 3: Copy changes to autorest.python - -For each changed test file: - -1. **Map the path**: Replace `packages/http-client-python/generator/test/` with `packages/typespec-python/test/` - - Example: - - Source: `packages/http-client-python/generator/test/azure/sample_test.py` - - Target: `packages/typespec-python/test/azure/sample_test.py` - -2. **Fetch the new content**: Get the file content from the typespec PR branch - -3. **Apply the change**: - - For new files: Create the file in autorest.python - - For modified files: Update the existing file to match - - For deleted files: Delete the corresponding file - -### Step 4: Format with black - -**MUST run after all file changes:** - -```bash -python -m black -l 120 -``` - -Run this command for each Python file that was created or modified. - -### Step 5: Verify changes - -1. Check that all target files exist and match source content -2. Confirm black formatting was applied (no formatting errors) -3. List all changes made for user review - -## Path mapping reference - -| TypeSpec repo path | autorest.python path | -|---|---| -| `packages/http-client-python/generator/test/` | `packages/typespec-python/test/` | - -## Important notes - -- **Consistency**: Copy content exactly to maintain consistency between repos -- **Formatting**: Always run `python -m black -l 120` on changed Python files -- **Scope**: Only copy files from the `generator/test` folder, ignore other changes -- **Verify**: After copying, the test files should be identical between repos (after formatting) -- **requirements.txt**: When updating `requirements.txt` files, only update dependencies with the `-e XXX` pattern (editable installs). Do NOT modify other dependencies in the file. - -## Example usage - -### Basic usage (local changes only) - -User prompt: "Copy test changes from https://github.com/microsoft/typespec/pull/1234 to this repo" - -1. Extract PR number: 1234 -2. Fetch PR #1234 from microsoft/typespec -3. Find files changed under `packages/http-client-python/generator/test/` -4. For each file, copy to corresponding path under `packages/typespec-python/test/` -5. Run black formatter on each changed Python file -6. Report summary of changes - -### Classic scenario (commit to autorest.python PR) - -In most cases, users will provide both: -- A **typespec PR link** (source of changes) -- An **autorest.python PR link** (destination to commit changes) - -User prompt: "Copy test changes from https://github.com/microsoft/typespec/pull/1234 to https://github.com/Azure/autorest.python/pull/5678" - -**Workflow:** - -1. Extract both PR numbers: typespec PR #1234, autorest.python PR #5678 -2. Fetch the autorest.python PR #5678 to get the target branch name -3. Checkout the target branch locally: - ```bash - git fetch origin - git checkout - ``` -4. Fetch typespec PR #1234 from microsoft/typespec -5. Find files changed under `packages/http-client-python/generator/test/` -6. For each file, copy to corresponding path under `packages/typespec-python/test/` -7. Run black formatter on each changed Python file -8. Stage, commit, and push changes to the PR branch: - ```bash - git add packages/typespec-python/test/ - git commit -m "Sync test changes from microsoft/typespec#1234" - git push origin - ``` -9. Report summary of changes committed to the PR - -**Important for PR commits:** -- Always fetch and checkout the PR branch before making changes -- Use a descriptive commit message referencing the source typespec PR -- Push to the same branch to update the existing autorest.python PR