-
Notifications
You must be signed in to change notification settings - Fork 325
Add Azure/typespec-azure integration check to PR CI workflow #7439
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
Merged
Merged
Changes from 8 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
5d514c5
Initial plan for issue
Copilot af09b71
Create GitHub workflow for Azure/typespec-azure integration check
Copilot 7884b9f
Enhance Azure/typespec-azure integration check with better logging an…
Copilot 2a8c3f1
Add README to workflows directory documenting the Azure integration c…
Copilot 328e7c4
Fix linting issues in typespec-azure-integration-check workflow
Copilot 9bdc0c6
Address PR review feedback
Copilot d65e9a4
Add TypeSpec repo checkout step to workflow
Copilot 8b4a43e
Apply PR feedback: simplify workflow steps
Copilot 48b49e9
Remove pipe characters from workflow run commands
Copilot ba95890
Fix core submodule update in Azure integration check workflow
Copilot 84158cc
Update core submodule handling to use git commands
Copilot d46ece2
Format workflow file and update copilot instructions
Copilot 823494a
Remove unnecessary inputs and add E2E test step
Copilot f1aa179
Move pnpm format instruction to Install and Build section
Copilot a6f8133
Format typespec-azure-integration-check.yml workflow file
Copilot dff34cd
Add Playwright install step and format workflow file
Copilot c7da9b8
Move Playwright install step after pnpm install
Copilot 643c6c3
Fix formatting issues in workflow files by adding newlines at end
Copilot 76e0f6e
Format .github/workflows/README.md with proper newline at the end
Copilot 9599294
Format README.md with newline at end of file
Copilot 1a47176
Fix formatting in .github/workflows/README.md
Copilot 2d3a465
Fix formatting in .github/workflows/README.md file
Copilot 1e2ba12
Update .github/workflows/typespec-azure-integration-check.yml
timotheeguerin 29111e0
Update .github/workflows/typespec-azure-integration-check.yml
timotheeguerin a419383
Rename workflow to external-integration.yml and update README
Copilot 50fbcf0
Merge branch 'main' into copilot/fix-5058
chrisradek File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # TypeSpec Workflows | ||
|
|
||
| This directory contains the GitHub workflows used for TypeSpec repository CI/CD processes. | ||
|
|
||
| ## Available Workflows | ||
|
|
||
| | Workflow | Description | | ||
| |----------|-------------| | ||
| | `consistency.yml` | Ensures code consistency, including changelog, spellcheck, formatting, and linting | | ||
| | `codeql.yml` | Runs CodeQL analysis for code security | | ||
| | `typespec-azure-integration-check.yml` | Optional CI check that verifies compatibility with Azure/typespec-azure repository | | ||
|
|
||
| ## TypeSpec-Azure Integration Check | ||
|
|
||
| The `typespec-azure-integration-check.yml` workflow verifies that changes in the TypeSpec repository do not break compatibility with the Azure/typespec-azure repository, which depends on TypeSpec as a core dependency. | ||
|
|
||
| ### How It Works | ||
|
|
||
| 1. Clones the Azure/typespec-azure repository | ||
| 2. Finds the "core" submodule that references microsoft/typespec | ||
| 3. Updates that submodule to use the changes from the current PR | ||
| 4. Runs the build and tests for the Azure/typespec-azure repository | ||
|
|
||
| ### When It Runs | ||
|
|
||
| This check runs on: | ||
| - Pull requests to the main branch | ||
| - Manual triggers via workflow_dispatch | ||
|
|
||
| ### What It Checks | ||
|
|
||
| - Whether the Azure/typespec-azure repository can build successfully with the changes from the PR | ||
| - Whether all tests in the Azure/typespec-azure repository pass with the changes | ||
|
|
||
| ### Configuration | ||
|
|
||
| This is an optional check that won't block PRs from being merged. It only runs on Linux with Node LTS (20.x) to minimize resource usage while still catching compatibility issues. |
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
|
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| name: Azure TypeSpec Integration Check | ||
timotheeguerin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
timotheeguerin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| on: | ||
| pull_request: | ||
| branches: ["main"] | ||
| paths-ignore: | ||
| - 'packages/http-client-csharp/**' | ||
| - 'packages/http-client-java/**' | ||
| - 'packages/http-client-python/**' | ||
| - 'website/**' | ||
| # Allow manual triggering | ||
| workflow_dispatch: | ||
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| inputs: | ||
| run: | ||
| description: 'Run this workflow' | ||
| required: false | ||
| default: 'true' | ||
|
|
||
| # This check is optional by default | ||
| concurrency: | ||
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| azure-integration-check: | ||
| name: Check Azure/typespec-azure compatibility | ||
timotheeguerin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| runs-on: ubuntu-latest | ||
| # Only run if not from dependabot, publish, backmerge, or revert branches | ||
| if: | | ||
| !startsWith(github.head_ref, 'dependabot/') && | ||
| !startsWith(github.head_ref, 'publish/') && | ||
| !startsWith(github.head_ref, 'backmerge/') && | ||
| !startsWith(github.head_ref, 'revert-') | ||
|
|
||
| steps: | ||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 24.x # Using current LTS | ||
|
|
||
| - name: Checkout Azure/typespec-azure repo | ||
timotheeguerin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| uses: actions/checkout@v4 | ||
| with: | ||
| repository: Azure/typespec-azure | ||
| submodules: true | ||
|
|
||
| - name: Install pnpm | ||
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| uses: pnpm/action-setup@v3 | ||
|
|
||
| - name: Update core submodule to PR changes | ||
| run: | | ||
| # Core submodule is located at ./core | ||
| echo "Updating core submodule to PR changes" | ||
|
|
||
| # Point the submodule to our PR changes | ||
| git config -f .gitmodules submodule.core.url "$GITHUB_WORKSPACE" | ||
|
|
||
| # Navigate to the core submodule directory | ||
| cd core | ||
|
|
||
| # Use the PR changes | ||
| git checkout ${{ github.event.pull_request.head.sha }} | ||
timotheeguerin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| - name: Install | ||
| run: | | ||
timotheeguerin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| pnpm install | ||
|
|
||
| - name: Build | ||
| run: | | ||
| pnpm build | ||
|
|
||
| - name: Test | ||
| run: | | ||
| pnpm test | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.