-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
116 lines (93 loc) · 3.01 KB
/
userside.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
name: User-side Test
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
workflow_dispatch:
jobs:
test:
timeout-minutes: 10
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [18.x]
os: [ubuntu-latest, windows-latest]
pm: [yarn, npm, pnpm]
hoist: [true, false]
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Setup
run: npm i -g @antfu/ni
- name: Setup PNPM
uses: pnpm/action-setup@v2
with:
version: latest
- name: Install
run: nci
- name: Build
run: nr build
- name: Pack
run: node ./scripts/pack.mjs ../temp/slidev-pkgs
- name: Create new project
run: |
npm i -g ../temp/slidev-pkgs/create-app.tgz
echo "N" | create-slidev ../temp/slidev-project
- name: Remove npmrc
run: pnpx del-cli ./.npmrc
working-directory: ../temp/slidev-project
if: ${{ ! matrix.hoist }}
- name: Install project (npm, pnpm)
run: |
${{ matrix.pm }} i
${{ matrix.pm }} i ../slidev-pkgs/cli.tgz playwright-chromium
working-directory: ../temp/slidev-project
if: ${{ matrix.pm != 'yarn' }}
- name: Install project (yarn)
run: |
yarn
yarn add ../slidev-pkgs/cli.tgz playwright-chromium
working-directory: ../temp/slidev-project
if: ${{ matrix.pm == 'yarn' }}
- name: Test build command in project
run: pnpm build
working-directory: ../temp/slidev-project
- name: E2E test in project
uses: cypress-io/github-action@v4
if: ${{ matrix.os != 'windows' }}
with:
install-command: echo
build: echo
start: pnpm --dir ../temp/slidev-project dev
spec: cypress/e2e/examples/noError.spec.ts
- name: Install globally
run: ${{ matrix.pm }} i -g ${{ github.workspace }}/../temp/slidev-pkgs/cli.tgz playwright-chromium
if: ${{ matrix.pm != 'yarn' }}
- name: Create slide file
run: pnpm --package=cpy-cli dlx cpy ./packages/slidev/template.md ../temp/ --flat
if: ${{ matrix.pm != 'yarn' }}
- name: Test build command in global mode
run: slidev build template.md
if: ${{ matrix.pm != 'yarn' }}
working-directory: ../temp
- name: E2E test in global mode
uses: cypress-io/github-action@v4
if: ${{ matrix.os != 'windows' }}
with:
project: ${{ github.workspace }}
install-command: echo
build: echo
start: ${{ 'bash -c "slidev ../template.md"' }}
spec: cypress/e2e/examples/noError.spec.ts