fix: player ci #74
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Review | |
on: [push, pull_request] | |
jobs: | |
bootstrap: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- run: pnpm install --frozen-lockfile | |
apps_player: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- name: cypress cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/Cypress | |
key: files-cache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: pnpm lint --scope @podlove/player | |
- name: build | |
run: pnpm build --scope @podlove/player | |
- name: install cypress | |
run: npm install cypress --save-dev | |
- name: integration | |
uses: cypress-io/github-action@v6 | |
with: | |
browser: chrome | |
install: false | |
start: pnpm start --scope @podlove/player --stream | |
project: ./apps/player | |
apps_web-player: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'apps/web-player/**/*.{js,vue}' | |
- name: integration | |
uses: cypress-io/github-action@v5 | |
with: | |
browser: chrome | |
build: npx lerna run integration:build --scope @podlove/web-player --stream | |
start: npx lerna run integration:server --scope @podlove/web-player --stream | |
project: ./apps/web-player | |
- name: build | |
run: npx lerna run build --scope @podlove/web-player --stream | |
apps_subscribe-button: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'apps/subscribe-button/**/*.{js,vue}' | |
- name: build | |
run: npx lerna run build --scope @podlove/subscribe-button --stream | |
packages_components: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/components/**/*.{js,vue}' | |
- name: test | |
run: npx jest packages/components | |
- name: build | |
run: npx lerna run build --scope @podlove/components --stream | |
packages_player-actions: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/player/actions/**/*.{js,vue}' | |
packages_player-sagas: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/player/sagas/**/*.{js,vue}' | |
- name: test | |
run: npx jest packages/player/sagas | |
- name: build | |
run: npx lerna run build --scope @podlove/player-sagas --stream | |
packages_player-state: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/player/state/**/*.{js,vue}' | |
- name: test | |
run: npx jest packages/player/state | |
- name: build | |
run: npx lerna run build --scope @podlove/player-state --stream | |
packages_player-config: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/player/config/**/*.{js,vue}' | |
- name: test | |
run: npx jest packages/player/config | |
- name: build | |
run: npx lerna run build --scope @podlove/player-config --stream | |
packages_player-react: | |
runs-on: ubuntu-latest | |
needs: apps_web-player | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/player/react/**/*.{js,vue}' | |
- name: build | |
run: npx lerna run build --scope @podlove/player-react --stream | |
packages_utils: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/utils/**/*.{js,vue}' | |
- name: test | |
run: npx jest packages/utils | |
packages_clients: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/clients/**/*.{js,vue}' | |
- name: build | |
run: npx lerna run build --scope @podlove/clients --stream | |
packages_button-actions: | |
runs-on: ubuntu-latest | |
needs: bootstrap | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/button/actions/**/*.{js,vue}' | |
packages_button-react: | |
runs-on: ubuntu-latest | |
needs: apps_subscribe-button | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
name: Install pnpm | |
with: | |
version: 8 | |
run_install: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: install | |
run: pnpm install --offline | |
- name: lint | |
run: npx eslint 'packages/button/react/**/*.{js,vue}' | |
- name: build | |
run: npx lerna run build --scope @podlove/button-react --stream |