Github操作Cypress在测试错误时以静默方式运行失败

Github操作Cypress在测试错误时以静默方式运行失败,cypress,github-actions,Cypress,Github Actions,使用Github操作运行Cypress e2e测试,但当测试失败时,作业仍然通过 name: E2E on: push: branches: [ master ] paths-ignore: [ '**.md' ] schedule: - cron: '0 8-20 * * *' jobs: cypress-run: runs-on: ubuntu-16.04 steps: - name: Checkout use

使用Github操作运行Cypress e2e测试,但当测试失败时,作业仍然通过

name: E2E
on:
  push:
    branches: [ master ]
    paths-ignore: [ '**.md' ]
  schedule:
    - cron: '0 8-20 * * *'

jobs:
  cypress-run:
    runs-on: ubuntu-16.04
    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Cypress run
        uses: cypress-io/github-action@v2
        continue-on-error: false
        with:
          record: true
        env:
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

我希望作业失败的原因是通过Github作业失败或类似这样的松弛通知获得通知

  - uses: 8398a7/action-slack@v3
    if: job.status == 'failure'
    with:
      status: ${{ job.status }}
      fields: repo
      channel: '#dev'
      mention: here
      text: "E2E tests failed"
    env:
      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

您是否尝试在末尾添加
if:${{failure()}

我最终创建了自己的curl请求,当某个特定作业出现任何故障时,它会通知Slack。把它加到最后对我来说很有效

name: E2E
on:
  push:
    branches: [ master ]
    paths-ignore: [ '**.md' ]
  schedule:
    - cron: '0 8-20 * * *'

jobs:
  cypress-run:
    runs-on: ubuntu-16.04
    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Cypress run
        uses: cypress-io/github-action@v2
        continue-on-error: false
        with:
          record: true
        env:
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
+
+      - name: Notify Test Failed
+        if: ${{ failure() }}
+        run: |
+         curl -X POST -H "Content-type:application/json" --data "{\"type\":\"mrkdwn\",\"text\":\".\n❌ *Cypress Run Failed*:\n*Branch:* $GITHUB_REF\n*Repo:* $GITHUB_REPOSITORY\n*SHA1:* $GITHUB_SHA\n*User:* $GITHUB_ACTOR\n.\n\"}" ${{ secrets.SLACK_WEBHOOK }}

您是否尝试在末尾添加
if:${{failure()}

我最终创建了自己的curl请求,当某个特定作业出现任何故障时,它会通知Slack。把它加到最后对我来说很有效

name: E2E
on:
  push:
    branches: [ master ]
    paths-ignore: [ '**.md' ]
  schedule:
    - cron: '0 8-20 * * *'

jobs:
  cypress-run:
    runs-on: ubuntu-16.04
    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Cypress run
        uses: cypress-io/github-action@v2
        continue-on-error: false
        with:
          record: true
        env:
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
+
+      - name: Notify Test Failed
+        if: ${{ failure() }}
+        run: |
+         curl -X POST -H "Content-type:application/json" --data "{\"type\":\"mrkdwn\",\"text\":\".\n❌ *Cypress Run Failed*:\n*Branch:* $GITHUB_REF\n*Repo:* $GITHUB_REPOSITORY\n*SHA1:* $GITHUB_SHA\n*User:* $GITHUB_ACTOR\n.\n\"}" ${{ secrets.SLACK_WEBHOOK }}