Skip to content

ci: pin github actions to full-length commit shas #1461

ci: pin github actions to full-length commit shas

ci: pin github actions to full-length commit shas #1461

Workflow file for this run

name: ci
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- run: corepack enable
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: lts/*
cache: "pnpm"
- name: πŸ“¦ Install dependencies
run: pnpm install
- name: 🚧 Set up project
run: pnpm dev:prepare
- name: πŸ”  Lint project
run: pnpm run lint
test:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- run: corepack enable
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: lts/-1
cache: "pnpm"
- name: πŸ“¦ Install dependencies
run: pnpm install
# https://github.com/vitejs/vite/blob/main/.github/workflows/ci.yml#L62
# Install playwright's binary under custom directory to cache
- name: Set Playwright path (non-windows)
if: runner.os != 'Windows'
run: echo "PLAYWRIGHT_BROWSERS_PATH=$HOME/.cache/playwright-bin" >> $GITHUB_ENV
- name: Set Playwright path (windows)
if: runner.os == 'Windows'
run: echo "PLAYWRIGHT_BROWSERS_PATH=$HOME\.cache\playwright-bin" >> $env:GITHUB_ENV
- name: Cache Playwright's binary
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
with:
# Playwright removes unused browsers automatically
# So does not need to add playwright version to key
key: ${{ runner.os }}-playwright-bin-v1
path: ${{ env.PLAYWRIGHT_BROWSERS_PATH }}
- name: Install Playwright
# does not need to explicitly set chromium after https://github.com/microsoft/playwright/issues/14862 is solved
run: pnpm playwright install chromium
- name: 🚧 Set up project
run: pnpm dev:prepare
- name: πŸ§ͺ Test project
run: pnpm test
- name: πŸ’ͺ Test types
run: pnpm test:types
- name: πŸ›  Build project
run: pnpm prepack
- name: 🟩 Coverage
if: matrix.os == 'ubuntu-latest'
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5