upgrade-browser
Обновить браузеры в проверках Flutter
Что получите
Обновлённые версии браузеров в выбранных настройках Flutter и согласованная конфигурация проверок; при подтверждённых правах — загруженные пакеты CIPD.
Что передать
Браузер, нужная версия или запрос на последнюю стабильную и область обновления.
Проверен состав файлов. Запуск не тестировался. Что проверено
Оценки пользователей
Как использовать
Помогает разработчикам Flutter обновить версии Chrome и Firefox, используемые веб-движком и проверками фреймворка. Позволяет выбрать разные версии для разных мест.
- Укажите, где обновлять браузер: в веб-движке, проверках фреймворка или обоих местах.
- Выберите версию и подтвердите её существование.
- Обновите настройки, синхронизируйте конфигурацию непрерывной интеграции и выполните локальные проверки перед загрузкой пакетов.
Условия работы
- В веб-движке поддерживаются Chrome и Firefox; в настройках проверок фреймворка таким способом управляется только Chrome.
- При неуспешной проверке версии работа останавливается; продолжение допускается по подтверждению пользователя, а пропуск проверки — по его явному запросу.
- Перед загрузкой в CIPD обязательны локальные тесты и подтверждение специальных временных прав.
Пример запроса после установки
Обнови Firefox в веб-движке Flutter до последней стабильной версии, проверь её существование и подготовь изменения с синхронизацией настроек и локальными проверками.
Пример составлен по инструкции автора; результат запуска не проверялся.
Основание: инструкция закреплённой версииДля установки
Node.js, npm и Git для команды выше. Подключения и инструменты для работы скилла настраиваются отдельно.
Совместимые агенты
Совместимость указана для инструкций. Запуск в каждом приложении не тестировался; для веб-чата способ подключения может отличаться.
Файлы скилла
GitHubЧитать инструкцию SKILL.md
Исходный текст закреплённой версии.
---
name: upgrade-browser
description: Upgrade browser versions (Chrome or Firefox) in the Flutter Web Engine and/or Framework tests. Use when asked to roll or upgrade Chrome or Firefox to a newer version.
---
# Upgrade Browser
This skill automates the process of upgrading Chrome and Firefox versions in the Flutter Web Engine and the Framework tests.
## Workflow
### 1. Identify and Verify the New Version
Before updating any files, find and verify the existence of the version you want to use.
- **To find the latest stable version:**
```bash
dart scripts/fetch_versions.dart latest <chrome|firefox>
```
- **To verify a specific version exists:**
```bash
dart scripts/fetch_versions.dart verify <chrome|firefox> <version>
```
This command will return `true` or `false`.
**Verification Rules:**
- **Enforced by default:** If the command returns `false`, do not proceed.
- **Optional if requested:** If the user explicitly asks to skip verification (e.g., "Upgrade to version X without verification"), you may skip this step.
- **Failed verification:** If verification fails but the user confirms they want to proceed anyway, you may continue.
### 2. Update Local Files
The user may request to upgrade one or both locations. They may also use different versions for each location.
#### Flutter Web Engine (`engine/src/flutter/lib/web_ui/dev/package_lock.yaml`)
Update the `version` field for `chrome` or `firefox`.
```yaml
chrome:
version: 'NEW_VERSION'
firefox:
version: 'NEW_VERSION'
```
#### Framework Tests (`.ci.yaml`)
Update all occurrences of `chrome_and_driver` with the new version.
```yaml
- {"dependency": "chrome_and_driver", "version": "version:NEW_VERSION"}
```
Use `replace` with `allow_multiple: true` to ensure all instances are updated. Note: Currently, only Chrome is managed this way in `.ci.yaml`.
### 3. CI Config Sync
After updating the browser versions, synchronize the CI configurations. This step updates `engine/src/flutter/ci/builders/linux_web_engine_test.json`.
**Only run this once.** To verify if it needs to run, check the modification time of the file:
```bash
ls -l engine/src/flutter/ci/builders/linux_web_engine_test.json
```
From `engine/src/flutter/lib/web_ui`, run:
```bash
dev/felt generate-builder-json
```
**Validation:** Confirm the file `engine/src/flutter/ci/builders/linux_web_engine_test.json` has a new timestamp after the command finishes.
### 4. Local Verification
Before uploading to CIPD, run tests locally to ensure no regressions. From `engine/src/flutter/lib/web_ui`, run:
```bash
dev/felt test
```
*Note: You can use `--browser <chrome|firefox>` to limit the scope.*
### 5. CIPD Upload (Package Roller)
This is the final step as it uploads binaries to CIPD and requires special, temporary permissions.
1. **Ask the user** if they have the necessary CIPD permissions (contact #hackers-infra on Discord if unsure).
2. If confirmed, from `engine/src/flutter/lib/web_ui`, run:
```bash
dart dev/package_roller.dart
```
*Note: Use `--dry-run` if the user wants to test first.*
## Examples
- **User:** "Upgrade Chrome and Firefox to the latest stable versions everywhere."
- **Agent:**
1. Runs `dart scripts/fetch_versions.dart latest` to get the latest versions.
2. Updates `engine/src/flutter/lib/web_ui/dev/package_lock.yaml` and `.ci.yaml`.
3. Runs `dev/felt generate-builder-json` to sync CI configs.
4. Suggests running local tests.
5. Finally, asks about CIPD permissions.
- **User:** "Roll Chrome to version 135.0.0.0 everywhere. Skip verification."
- **Agent:**
1. Skips `dart scripts/fetch_versions.dart verify` because the user requested it.
2. Updates `package_lock.yaml` and `.ci.yaml` directly with `135.0.0.0`.
3. Follows the rest of the workflow (Sync, Test, CIPD).
- **User:** "Update Firefox in the web engine to 130.0."
- **Agent:**
1. Verifies version `130.0` for Firefox using `dart scripts/fetch_versions.dart verify firefox 130.0`.
2. If verification fails, informs the user: "I was unable to verify Firefox version 130.0 through Mozilla's official release history. Are you sure this is the correct version number?"
3. If user confirms or verification succeeds, updates `package_lock.yaml`.
4. Follows the rest of the workflow (Sync, Test, CIPD).
Проверка и особенности
Автоматическая проверка источника и файлов
Автоматически проверены публичный репозиторий, лицензия, заголовок SKILL.md, состав текстового пакета и Git-хеш каждого файла. Пакеты с исполняемым кодом и срабатываниями применённых статических правил не включены. Ручной аудит всех инструкций и функциональный запуск не проводились. Внешние инструменты и сервисы не проверялись. Проверка не гарантирует безопасность.
У репозитория было 179,128 звёзд GitHub при проверке 2026-09-27. Порог добавления — строго больше 100 000. Звёзды относятся ко всему репозиторию, а не к качеству или установкам скилла.
- Проверка состава
- 27.09.2026
- Проверенная версия
8db55268667c- Файлы с кодом
- Не указаны в данных проверки
- Изменения на GitHub
- Нужна повторная проверкаПоследняя проверка: 11.10.2026
Репозиторий и лицензия
Это показатели всего репозитория, а не установки скилла. Снимок требует обновления.
- Последняя активность GitHub
- 11.10.2026
- Лицензия
- BSD-3-Clause
- Добавлен в каталог
- 27.09.2026
Полный текст лицензии
Copyright 2014 The Flutter Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Ещё в этой категории
Все в категорииОбсуждение
ПравилаПользовались этим скиллом? Делитесь опытом без регистрации. Все комментарии проверяет модератор.
