У меня есть задание, которое должно ссылаться на переменную среды, установленную в команде на том же шаге, прежде чем она будет установлена. GitHub Actions правильно устанавливает переменную, но не ссылается на нее на том же шаге, оставляя мне пустое значение.
jobs:
test-commands:
runs-on: ubuntu-latest
steps:
- run: |
echo "image=2.1" >> $GITHUB_ENV
echo "image_ref=$image" >> $GITHUB_ENV
echo "image_ref_2=${{env.image}}" >> $GITHUB_ENV
- run: echo ${{env.image}} ${{env.image_ref}} ${{env.image_ref_2}}
Это пример того, что я пытаюсь выполнить, как показано, ни один из методов не работает, только переменная image правильно печатается на 2-м шаге, а другие переменные устанавливаются как нулевые.
Мне не удалось найти ссылку в документах, в которой упоминалось бы, что переменные могут быть указаны только на следующем шаге.
Приветствуются любые предложения по правильной настройке. Заранее спасибо!
Из документации:
Вы можете сделать переменную среды доступной для любых последующих шагов. в задании рабочего процесса путем определения или обновления переменной среды и запись этого в файл среды GITHUB_ENV. Шаг, который создает или обновляет переменную окружения не имеет доступа к новой значение, но все последующие шаги в задании будут иметь доступ. Имена переменных среды чувствительны к регистру, и вы можете включить пунктуация. Дополнительные сведения см. в разделе «Переменные среды».
Итак, в вашем случае вы можете записать свой результат в переменную bash, которую вы можете использовать на своем шаге, а затем экспортировать эту же переменную в GITHUB_ENV.
Пример:
steps:
- run: |
IMAGE=2.1
echo "image=${IMAGE}" >> $GITHUB_ENV
echo "image_ref=${IMAGE}" >> $GITHUB_ENV
- run: echo ${{env.image}} ${{env.image_ref}}
Бегать: