Выполнение действий в другом каталоге - PullRequest
1 голос
/ 27 сентября 2019

Я только начал изучать действия Github, но обнаружил, что размещаю команду в нескольких местах.

У меня есть проект PHP, где composer.json не находится в корне, моя структура выглядит следующим образом:

my-project:
    readme.md
    app:
        composer.json

Очевидно, что это еще не все, и есть причина, почему, ноmy composer.json находится в подкаталоге под названием app.В результате в моем рабочем процессе мне приходится каждый раз заходить в эту папку и запускать команду:

name: CI

on: [push]

jobs:
  phpunit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup Symfony
        run: |
          cd app
          cp .env.dev .env
      - name: Install Composer Dependencies
        run: |
          cd app
          composer install --prefer-dist
      - name: Run Tests
        run: |
          cd app
          php bin/phpunit

Как мне удалить cd app на каждом этапе?

1 Ответ

0 голосов
/ 28 сентября 2019

Существует возможность установить working-directory для шага, но не для нескольких шагов или всей работы.Я уверен, что эта опция работает только для шагов сценария, а не действий с uses.

https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idstepsworking-directory

Используя working-directory, ваш рабочий процесс будет выглядеть следующим образом.Это все еще довольно многословно, но, возможно, немного чище.

name: CI

on: [push]

jobs:
  phpunit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup Symfony
        working-directory: ./app
        run: cp .env.dev .env
      - name: Install Composer Dependencies
        working-directory: ./app
        run: composer install --prefer-dist
      - name: Run Tests
        working-directory: ./app
        run: php bin/phpunit
...