Я настраиваю действия GitHub, и мне нужно будет передать значения по умолчанию в рабочий каталог вместо жесткого кодирования, но, похоже, я не могу прочитать фактическое значение из входных переменных, и я могу посоветовать, где что-то идет не так.
name: Test
on:
workflow_dispatch:
inputs:
ENVIRONMENT:
default: development
type: string
PATH:
default: test
type: string
defaults:
run:
shell: bash
working-directory: ${{ github.event.inputs.PATH }} # ${{ inputs.PATH}} none worked
jobs:
job1:
runs-on: ubuntu-latest
steps:
- name: Run Commands with various variables
run: |
echo "Hello World"
echo "${{ inputs.ENVIRONMENT}}/${{ inputs.APPNAME }} "
Как поделился jonrsharpe в комментариях выше, согласно официальной документации GitHub
Вы можете использовать defaults.run, чтобы предоставить параметры оболочки и рабочего каталога по умолчанию для всех шагов выполнения в рабочем процессе. Вы также можете установить параметры запуска по умолчанию, доступные только для задания. Дополнительные сведения см. в разделе jobs.<job_id>.defaults.run. В этом ключевом слове нельзя использовать контексты или выражения.
Теперь альтернативой может быть установка переменной среды на уровне рабочего процесса и использование ее во всех конфигурациях заданий рабочего процесса defaults.run
(вы также можете использовать непосредственно ${{ inputs.PATH }}
в конфигурации заданий defaults.run.workking-directory
).
Пример:
name: Test
on:
workflow_dispatch:
inputs:
ENVIRONMENT:
default: development
type: string
PATH:
default: test
type: string
env:
PATH: ${{ inputs.PATH }}
jobs:
job1:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: ${{ env.PATH }} # could use directly ${{ inputs.PATH }} here
steps:
- name: Run Commands with various variables
run: |
echo "Hello World"
echo "${{ inputs.ENVIRONMENT}}/${{ inputs.PATH }} "
Просто учтите, что рабочий процесс прервется, если вы не укажете действительный working-directory
при вводе, поскольку у вас еще нет доступа к пути github.workspace
(без использования actions/checkout
).
Использованная литература:
спасибо, да, мне удалось реализовать то же самое в рабочем процессе для чтения выходных данных github в переменные env, а затем перейти к последующим рабочим процессам.