playwright-roll

tarafından microsoft

Roll Playwright Python to a new driver version. Walks the upstream `docs/src/api/` commit range, ports each public-API change, suppresses the rest in…

npx skills add https://github.com/microsoft/playwright-python --skill playwright-roll

Rolling Playwright

Read AGENTS.md first. A roll moves DRIVER_VERSION to a new upstream commit and ports everything that changed in between.

1. Pin

python scripts/upstream.py pin main      # or a branch, a tag, a commit
python scripts/update_node_version.py
old=$(git show HEAD:DRIVER_VERSION)
new=$(cat DRIVER_VERSION)

2. Generate

./scripts/update_api.sh
mypy playwright

The mypy errors are the to-do list: new members, options and protocol parameters that _impl/ does not have yet. Until they are ported, the client may not work with the new driver. To see what changed in the public API:

git show HEAD:playwright/async_api/_generated.py > /tmp/old.py
python scripts/codegen/compare_api.py /tmp/old.py playwright/async_api/_generated.py --show all

3. Build

python -m build --wheel
playwright install chromium firefox webkit

4. Port

python scripts/upstream.py changes

It lists each changed upstream file with the Python file to port it to. For each one, read git -C .upstream diff $old $new -- <file> and port it hunk by hunk:

  • client code: into the module it names; (no Python port yet) is a new module;
  • tests: into the async and the sync file it names. New test names come from python scripts/check_test_registry.py --missing <id>;
  • test assets and snapshot images: copy them to the place it names;
  • the "Generated" group: step 2 did it.

Changes in the server or in the injected scripts need nothing: they come with the new driver. A test marked xfail(reason="driver: ...") may pass now; remove the mark then.

Run each changed test file on the three browsers. Then run mypy playwright until it is clean.

5. Check

./test.sh
python scripts/update_versions.py        # the browser versions in README.md
./scripts/lint.sh                        # last: the roll is done when it passes

A failure in a file that the roll did not change may be a flake, or older than the roll. Find out which, and say so in the PR.

Title the PR chore: roll Playwright to <version> (<first 10 characters of $new>), with the version from .upstream/packages/playwright-core/package.json. In the description, list what you ported and what is left, and put the output of python scripts/upstream.py log in a <details> block. The roll workflow adds that list itself.

When it breaks

  • missing ... argument, or Protocol violations at the end of a test: a protocol change that the client does not follow yet. Port its hunk.
  • timeout: expected float, got undefined at launch: playwright/driver/ is older than the pin. Build again.
  • .upstream/ is not at ...: python scripts/upstream.py checkout.

microsoft tarafından daha fazla skill

oss-growth
microsoft
OSS büyüme korsanı kişiliği
agent-framework-azure-ai-py
microsoft
Microsoft Agent Framework Python SDK'sini (agent-framework-azure-ai) kullanarak Azure AI Foundry aracıları oluşturun. AzureAIAgentsProvider ile kalıcı aracılar oluştururken, barındırılan araçları (kod yorumlayıcı, dosya arama, web araması) kullanırken, MCP sunucularını entegre ederken, konuşma iş parçacıklarını yönetirken veya akış yanıtları uygularken kullanın. Fonksiyon araçlarını, yapılandırılmış çıktıları ve çok araçlı aracıları kapsar.
development
airunway-aks-setup
microsoft
AI Runway'ı AKS üzerinde kurun — çıplak kümeden çalışan modele kadar. Küme doğrulama, denetleyici kurulumu, GPU değerlendirmesi, sağlayıcı yapılandırması ve ilk dağıtımı kapsar. NE ZAMAN: "AI Runway kur", "AKS kümesini onboard et", "AI Runway yükle", "airunway kurulumu", "AKS'e model dağıt", "AKS üzerinde GPU çıkarımı", "AKS üzerinde KAITO kurulumu", "AKS üzerinde LLM çalıştır", "AKS üzerinde vLLM", "AKS üzerinde model sunumu ayarla", "AI Runway denetleyicisi".
devops
appinsights-instrumentation
microsoft
Azure Application Insights ile web uygulamalarını enstrümante etme rehberi. Telemetri desenleri, SDK kurulumu ve yapılandırma referansları sağlar. NE ZAMAN: uygulama nasıl enstrümante edilir, App Insights SDK, telemetri desenleri, App Insights nedir, Application Insights rehberliği, enstrümantasyon örnekleri, APM en iyi uygulamaları.
devops
applicationinsights-web-ts
microsoft
Tarayıcı/web uygulamalarını Application Insights JavaScript SDK'sı (@microsoft/applicationinsights-web) ile izleyin. Gerçek Kullanıcı İzleme (RUM) için kullanın — sayfa görünümleri, tıklamalar, AJAX/fetch bağımlılıkları, özel durumlar, özel olaylar ve arka uç OpenTelemetry izleriyle ilişkilendirilen tarayıcı tarafı GenAI aracı izleri. SDK Loader Script ve npm kurulumunu, çerçeve uzantılarını (React, React Native, Angular), Tıklama Analitiğini, telemetri başlatıcılarını ve tarayıcıdan yayılan aracı/araç/model yayılımları için OTel GenAI anlamsal kurallarını kapsar.
devops
azure-ai-anomalydetector-java
microsoft
Azure AI Anomaly Detector SDK for Java ile anomali tespiti uygulamaları oluşturun. Tek değişkenli/çok değişkenli anomali tespiti, zaman serisi analizi veya yapay zeka destekli izleme uygularken kullanın.
development
azure-ai-language-conversations-py
microsoft
azure-ai-language-conversations Python SDK'sini kullanarak Konuşma Dili Anlama (CLU) uygulayın. ConversationAnalysisClient ile konuşma niyetini ve varlıklarını analiz etmek, NLP özellikleri oluşturmak veya dil anlamayı uygulamalara entegre etmek için kullanın.
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 for Python. Makine öğrenimi çalışma alanları, işler, modeller, veri kümeleri, bilgi işlem ve iş akışları için kullanın. Tetikleyiciler: "azure-ai-ml", "MLClient", "workspace", "model registry", "training jobs", "datasets".
development