Как использовать среду Python для разных заданийPython

Программы на Python
Ответить
Anonymous
 Как использовать среду Python для разных заданий

Сообщение Anonymous »

Это рабочий процесс GitHub Actions для сборки и выпуска проекта Python:

Код: Выделить всё

name: build, test, release

on: push

jobs:
build:
name: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: set up py
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Test
run: |
pip install '.[test-deps]'
pytest
- name: install build
run: >-
pip install build
- name: build dist
run: python -m build
- name: store dist
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/
release:
name: Version & tag the release
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- build
runs-on: ubuntu-latest

steps:
- name: download dist
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: install zest + release
run: |
pip install zest.releaser
fullrelease

Сначала у нас есть задание сборки, которое
  • проверяет код
  • настраивает среду Python
  • тестирует код
  • устанавливает модуль сборки
  • собирает дист
  • загружает его в артефакты для совместного использования между заданиями
Во-вторых, у нас есть задание по выпуску, которое нужно запускать только при отправке в главную ветку, которое использует zest.releaser для автоматического обновления версии и вырезания тега.
Оно завершается с ошибкой "

Код: Выделить всё

CRITICAL: No version control system detected
", так как в нем не кэшируются шаги настройки/инструментария среды Python из заданий сборки.
Каков разумный способ настроить этот рабочий процесс так, чтобы шаги из заданий сборки можно было кэшировать/повторно использовать в задании выпуска?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... tween-jobs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»