Closed
Description
Hi 👋
I've recently updated my cypress github workflow to run only on pull_requests against the master branch instead of push events and I'm seeing a weird side effect when opening a new Pull Requests and re-running the cypress job:
- Cypress will run the test suite of the master branch (not the head branch that is being submitted as a PR to merge on top of master). On the github status check for the cypress dashboard, I can see it's called
default-group (merge)
and the title of the run contains the commit hash of my head branch and the HEAD commit hash of the master branch we're merging into.
- If I rerun the same job, Cypress will run the test suite of the head branch (as expected). On the github status check for the cypress dashboard, I can see it's simply called
default-group
and the title of the run
It looks like Cypress Dashboard is somehow capturing 2 different events on the same github ci run (from the same workflow file). I'm pretty convinced that my update to run cypress only on pull_request
events triggered.
Am I doing something wrong?
Here's a screenshot of the pull requests checks:
Here's my Github Workflow file:
name: Run End-to-End Test Suite
on:
pull_request:
branches:
- master
jobs:
build-and-e2e-test:
runs-on: ubuntu-16.04
strategy:
matrix:
node-version: [11.x]
steps:
- name: Checkout Commit
uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Cache NPM Dependencies
id: cache-dependencies
uses: actions/cache@v1
with:
path: node_modules
key: node-modules-${{ runner.OS }}-npm-cache-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-${{ runner.OS }}-npm-cache
- name: Cache Cypress Binaries
id: cache-cypress-binaries
uses: actions/cache@v1
with:
path: ~/.cache/Cypress
key: cypress-binaries-${{ runner.OS }}-npm-cache-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
cypress-binaries-${{ runner.OS }}-npm-cache
- name: Install Dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true' || steps.cache-cypress-binaries.outputs.cache-hit != 'true'
run: |
yarn install --force --non-interactive
- name: Build Application
run: yarn build
env:
CI: true
- name: Run E2E Tests without recording (if not on master branch)
uses: cypress-io/github-action@v1
with:
browser: chrome
record: true
headless: true
start: yarn serve-built-files
wait-on: "http://localhost:8081"
config: defaultCommandTimeout=100000,pageLoadTimeout=100000,watchForFileChanges=false,video=false
env:
NODE_ENV: "test"
CI: true
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}