Действие GitHub "set-env" приводит к "Нет такого файла или каталога" - PullRequest
0 голосов
/ 04 мая 2020

Попытка установить env var на основе текущего коммита SHA, который позже будет использоваться в качестве имени файла. Я пробовал многочисленные варианты "set-env" со значением Dynamic c или нет, и каждый раз при сбое сборки с:

 Setup Additional Environment Variables0s
 ##[error]No such file or directory
 Run echo ::set-env name=TEST_FILE::test-${GITHUB_SHA}
   echo ::set-env name=TEST_FILE::test-${GITHUB_SHA}
   shell: /bin/bash -e {0}
 ##[error]No such file or directory

я ссылаюсь из документации Workflow: https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting -an-environment-variable

steps:
  - uses: actions/checkout@v2
  - uses: actions/setup-node@v1
    with:
      node-version: ${{ matrix.node }}

  - name: Setup Additional Environment Variables
    run: echo ::set-env name=TEST_FILE::test-${GITHUB_SHA}

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете использовать github context для получения значения sha . Вот конфигурация, которая работает для меня:

.github / workflows / test.yml

name: Test

on: push

jobs:
  test:
    name: Test env var
    timeout-minutes: 5
    runs-on: ubuntu-latest
    steps:      
      - uses: actions/checkout@v2.1.0
      - name: Set env var
        run: |
          echo "::set-env name=TEST_FILE_NAME::test-${{ github.sha }}"
      - name: Create file
        run: |
          mkdir temp
          cd temp
          touch $TEST_FILE_NAME
          ls -la

Результат:

enter image description here

...