在我的 GitHub action 的 YAML 文件中,我有两个命令在结尾。第一个是
通常我从本地服务器运行
但是从 GitHub action 运行时,它会先运行
以下是我的
yarn start
(启动服务器),第二个是运行测试文件。通常我从本地服务器运行
yarn start
,等待前端和后端端口运行,然后才从另一个终端运行测试。但是从 GitHub action 运行时,它会先运行
yarn start
命令,然后立即运行测试脚本,所以当运行测试文件时,服务器没有监听端口。这就是为什么我的测试脚本失败了。如何确保测试脚本在 yarn start
完成后运行?以下是我的
action.yml
文件:name: "Github Actions Test"
on:
push:
branches:
- wip/checkout2
jobs:
test:
runs-on: ubuntu-latest
env:
PRISMA_ENDPOINT: ${{secrets.PRISMA_ENDPOINT}}
PRISMA_SECRET: ${{secrets.PRISMA_SECRET}}
steps:
- uses: actions/checkout@v1
- name: "Install Node"
uses: actions/setup-node@v1
with:
node-version: "12.x"
- name: "Install global packages"
run: npm install -g yarn prisma-cli concurrently mocha
- name: "Run docker Container"
run: docker-compose -f docker-compose.yml up --build -d
- name: "Install deps"
run: yarn install
- name: "prisma deploy"
run: yarn deploy:backend
- name: "Seed Backend"
run: yarn seed:backend
- name: "Build app"
run: yarn build
- name: "Start backend and frontend concurrently on background and run tests"
run: |
yarn start &
yarn test
yarn start
中缺少一个额外的和号。 - Edric