Действия Github не работают после запуска npm - PullRequest
1 голос
/ 17 октября 2019

У меня очень простая конфигурация для запуска тестов e2e с Cypress с использованием Github Actions в приложении Nextjs. Когда он достигает команды npm start, хотя, похоже, он работает, поскольку дает правильный вывод: > Ready on http://localhost:3000, шаг остается в состоянии ожидания, даже не переходя к следующему шагу.

Любые предложения о том, какисправить это?

Следующие настройки действий github (.github/workflows/nodejs.yml):

name: Node CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [8.x, 10.x, 12.x]

    steps:
    - uses: actions/checkout@v1
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - name: npm install, build, and test
      run: |
        npm ci
        npm run build --if-present
        npm start
        npx wait-on http://localhost:3000
      env:
        CI: true
    - name: Run Cypress
      run: |
        npx cypress run
      env:
        CI: true

1 Ответ

2 голосов
/ 17 октября 2019

Использование оператора управления & у меня работает. Попробуйте следующее.

    - name: npm install, build, and test
      run: |
        npm ci
        npm run build --if-present
        npm start & npx wait-on http://localhost:3000
      env:
        CI: true

С man bash

Если команда завершается оператором управления &, оболочка выполняет команду в фоновом режимев скорлупе. Оболочка не ожидает завершения команды, и возвращается статус 0. Они называются асинхронными командами. Команды, разделенные;выполняются последовательно;оболочка ожидает завершения каждой команды по очереди. Статус возврата - это статус выхода последней выполненной команды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...