Я использую действия GitHub для «создания» приложения Python (запуск линтинга, покрытия кода и тестов). В конце действия я получаю следующее предупреждение:
1 warning
build
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
но мой python-app.yml не использует set-output:
name: Python application
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pylint pytest pytest-cov
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with pylint
run: |
pylint src
continue-on-error: false
- name: Test with pytest
run: |
pytest
- name: pytest coverage
run:
pytest --cov=./ --cov-report=xml:tests/coverage.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
и поэтому я не уверен, как изменить мой .yml, чтобы сделать его совместимым с будущим.
Вы не используете его напрямую, но проверяли ли вы, используете ли вы его косвенно? actions/setup-python@v3
, например, выглядит как основная версия текущего выпуска.
Нет, нет никакой дополнительной подсказки. Скопировал все предупреждение. @jon очень хорошая идея. Здесь новичок в CI :) Как мне понять текущую версию, скажем, action/setup-python@v3 ? Все еще копирую файлы автоматизации yml, чтобы учиться, все еще с ограниченным пониманием. Большое спасибо обоим!
Похоже, это было исправлено в @v4
из actions/setup-python
, а вы используете @v3
. Обновите это, чтобы использовать @v4
. См. github.com/actions/setup-python/issues/578 и github.com/actions/setup-python/issues/578.
В вашем рабочем процессе могут быть косвенные зависимости от действий, которые еще не были обновлены для GITHUB_OUTPUT против устаревания set-output.
Вам нужно проверить все действия в вашем рабочем процессе одно за другим на наличие обновлений версии с исправлением set-output
.
В вашем случае посещение https://github.com/actions/setup-python показывает, что доступна новая версия. И поиск строки set-output
в репо приводит к соответствующим ссылкам, например. проблемы, фиксации и т. д. Например, эта проблема ( https://github.com/actions/setup-python/issues/578) подтверждает, что она была исправлена в @v4
.
Итак, на данный момент использование @v4
должно исправить это, т.е.:
- uses: actions/setup-python@v4
Действия обновляются постепенно. Надеюсь, все они скоро будут обновлены, и мы больше не увидим это предупреждение.
Спасибо, так что в будущем, если я буду использовать чужие действия, я, возможно, захочу изучить их на предмет «проблем», верно?
@RobertAlexander: Пожалуйста! Да, по крайней мере, пока. Большинство действий обновляются постепенно. Надеюсь, в ближайшем будущем нам не придется этого делать.
Примечание: setup-python@v4 работает, но [email protected] по-прежнему выдает предупреждения об устаревании. Я следил за руководством по GitHub Actions в публикации Dane Hillard «Публикация пакетов Python» и столкнулся с этой проблемой.
@GeoffreySametz: Спасибо, что указали на это! Я изложил свой ответ, чтобы справиться со всеми такими проблемами в общем виде, идентифицируя их одну за другой. Надеюсь, это даст общее представление о том, как подходить к этим изменениям.
Нет упоминания о действии, из-за которого оно исходит?