В моем action.yml я определил вход:
name: 'test action'
author: Param Thakkar
description: 'test'
inputs:
test_var:
description: 'A test variable'
required: true
runs:
using: 'docker'
image: 'Dockerfile'
И в моем рабочем процессе я прошел test_var:
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Test the GH action
uses: paramt/github-actions-playground@master
with:
test_var: "this is just a test"
Так что должно бытьпеременная среды, которая создается при запуске рабочего процесса, верно? Но когда я запускаю этот короткий скрипт на python:
import os
print(os.getenv('TEST_VAR'))
print("It works!")
exit(0)
Он печатает:
None
It works!
Я думаю, что мне нужно передать переменную ENV через мой Dockerfile ... Прямо сейчас мой Dockerfileвыглядит следующим образом:
FROM python:latest
# Add files to the image
ADD entrypoint.py /entrypoint.py
ADD requirements.txt /requirements.txt
# Save ENV var in a temp file
RUN $TEST_VAR > /temp_var
# Install dependencies and make script executable
RUN pip install -r requirements.txt
RUN chmod +x entrypoint.py
RUN echo "temp var: "
RUN cat /temp_var
# Run script with the ENV var
ENTRYPOINT export TEST_VAR="$TEST_VAR"; /entrypoint.py
Но переменная не отображается и не передается в сценарий pythons .. Я что-то упустил? Когда я попытался установить $TEMP_VAR
в произвольный фрагмент строки, он был отправлен в скрипт Python. Это ошибка от моего имени или действие GitHub работает не так, как задумано?
Вот ссылка на тестовое репо