Как ссылаться на значения контекста в синтаксисе выражений действий GitHub? - PullRequest
2 голосов
/ 19 января 2020

Я хочу установить переменную окружения в разделе env: действия GitHub и использовать Контексты и синтаксис выражений для действий GitHub . Я попытался это:

jobs:
  build:
    runs-on: ubuntu-latest

    env:
      MYVAR: ${{ format('{0}:{1}', ${{ env.PATH }}, ${{ env.HOME }} ) }}

    steps:
    - name: Check environment
      run: echo $MYVAR

Это приводит к сообщению об ошибке:

### ERRORED 10:45:52Z

- Your workflow file was invalid: The pipeline is not valid. .github/workflows/main.yml (Line: 10, Col: 14): Unexpected symbol: '${{'. Located at position 19 within expression: format('{0}:{1}', ${{ env.PATH

Этот синтаксис:

    env:
      MYVAR: ${{ format('{0}:{1}', {{ env.PATH }}, {{ env.HOME }} ) }}

приводит к ошибке:

### ERRORED 13:14:18Z

- Your workflow file was invalid: The pipeline is not valid. .github/workflows/main.yml (Line: 10, Col: 14): Unexpected symbol: '{{'. Located at position 19 within expression: format('{0}:{1}', {{ env.PATH

и:

    env:
      MYVAR: ${{ format('{0}:{1}', env.PATH, env.HOME ) }}

приводит к ошибке:

### ERRORED 13:16:12Z

- Your workflow file was invalid: The pipeline is not valid. .github/workflows/main.yml (Line: 10, Col: 14): Unrecognized named-value: 'env'. Located at position 19 within expression: format('{0}:{1}', env.PATH, env.HOME )

Мне известны решения в Как установить переменную env с помощью bash выражение в GitHub Actions? и Github Actions, как разделить вычисленное значение между шагами задания? для установки переменных среды, но я хотел бы понять синтаксис выражения.

Ответы [ 2 ]

0 голосов
/ 30 января 2020

То, что вы пытаетесь сделать, вполне возможно, просто не используйте ${{ внутри существующего контекста. Сделайте это вместо :

Согласно документации в контексте env:

Вы можете использовать только контекст env в качестве значения with и name, или в условных шагах if. Для получения дополнительной информации о синтаксисе шага см. " Синтаксис рабочего процесса для действий GitHub. "

0 голосов
/ 19 января 2020

Как указал @jonrsharpe, невозможно использовать контекст env в значении переменной среды рабочего процесса. Это обсуждалось здесь:

https://github.community/t5/GitHub-Actions/How-to-use-env-context/td-p/38951

...