building
A python release consists of publishing the release to PyPi https://pypi.org/project/meshtastic/ as well as producing single-executable files that are downloadable from Github https://github.com/meshtastic/Meshtastic-python/releases.
Предварительные требования
Локально для создания релиза предварительные требования не нужны. Все сборки сейчас выполняются через GitHub Actions.
Для тестирования/проверки вам нужно запустить:
pip3 install poetry
poetry install
Примечание: теперь мы используем менеджер пакетов poetry для сборки meshtastic. Если вы были знакомы с нашими старыми инструкциями на базе 'venv', вы все еще можете получить доступ к этому механизму, запустив "poetry shell", чтобы открыть оболочку с активированной (автоматически поддерживаемой) виртуальной средой.
Это может быть полезно, если вы хотите запустить команду "meshtastic" без глобальной установки пакета.
Инструкции
-
Обновите protobufs, запустив workflow "Update protobufs" в Actions: https://github.com/meshtastic/Meshtastic-python/actions/workflows/update_protobufs.yml
-
запустите тест "smoke1" (опционально):
подключите одно устройство к последовательному порту и запустите:
poetry run pytest -m smoke1
-
запустите unit-тесты:
poetry run pytest(опционально) -
запустите bin/test-release.sh (опционально)
-
Запустите workflow "Make Release" в Actions: https://github.com/meshtastic/Meshtastic-python/actions/workflows/release.yml
-
После завершения "Make Release" перейдите в Releases: https://github.com/meshtastic/Meshtastic-python/releases Там должен быть черновик. Добавьте заголовок, обновите "What's Changed" (Совет: Нажмите кнопку "Auto-generate release notes".). Снимите галочку "This is a pre-release" (если применимо).
:::note Вам нужны права в проекте GitHub для создания сборки :::
Инструкции - автоматизированные
- Перейдите в Actions / Make Release / Run Workflow https://github.com/meshtastic/Meshtastic-gui-installer/actions/workflows/release.yml
- Создайте черновик и опубликуйте релиз https://github.com/meshtastic/Meshtastic-gui-installer/releases