Skip to content

example-basic-pnpm #366

example-basic-pnpm

example-basic-pnpm #366

name: example-basic-pnpm
on:
push:
branches:
- 'master'
pull_request:
workflow_dispatch:
jobs:
basic-pnpm-ubuntu-20:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pnpm
run: npm install -g pnpm@9
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('examples/basic-pnpm/pnpm-lock.yaml') }}
- name: Cypress tests
# normally you would write
# uses: cypress-io/github-action@v6
uses: ./
# the parameters below are only necessary
# because we are running these examples in a monorepo
with:
working-directory: examples/basic-pnpm
# just for full picture after installing Cypress
# print information about detected browsers, etc
# see https://on.cypress.io/command-line#cypress-info
build: npx cypress info
basic-pnpm-ubuntu-22:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pnpm
run: npm install -g pnpm@9
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('examples/basic-pnpm/pnpm-lock.yaml') }}
- name: Cypress tests
uses: ./
with:
working-directory: examples/basic-pnpm
build: npx cypress info
basic-pnpm-on-windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pnpm
run: npm install -g pnpm@9
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('examples/basic-pnpm/pnpm-lock.yaml') }}
- name: Cypress tests
uses: ./
with:
working-directory: examples/basic-pnpm
build: npx cypress info
basic-pnpm-on-mac:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pnpm
run: npm install -g pnpm@9
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('examples/basic-pnpm/pnpm-lock.yaml') }}
- name: Cypress tests
uses: ./
with:
working-directory: examples/basic-pnpm
build: npx cypress info
# skips the binary installation
# shows that the job should not fail
# https://github.com/cypress-io/github-action/issues/327
basic-pnpm-without-binary-install:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pnpm
run: npm install -g pnpm@9
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('examples/basic-pnpm/pnpm-lock.yaml') }}
- name: Cypress tests
uses: ./
with:
working-directory: examples/basic-pnpm
# since we do not install Cypress
# we should not attempt to run tests
runTests: false
env:
# skip the binary install
CYPRESS_INSTALL_BINARY: 0