forked from vitejs/vite-ecosystem-ci
-
Notifications
You must be signed in to change notification settings - Fork 5
113 lines (110 loc) · 3.29 KB
/
ecosystem-ci.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
# integration tests for nuxt ecosystem projects - scheduled or manual run for all suites
name: nuxt-ecosystem-ci
env:
# 7 GiB by default on GitHub, setting to 6 GiB
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
NODE_OPTIONS: --max-old-space-size=6144
# configure corepack to be strict but not download newer versions or change anything
COREPACK_DEFAULT_TO_LATEST: 0
COREPACK_ENABLE_AUTO_PIN: 0
COREPACK_ENABLE_STRICT: 1
on:
schedule:
- cron: '0 5 * * 1,3,5' # monday,wednesday,friday 5AM
workflow_dispatch:
inputs:
refType:
description: type of ref
required: true
type: choice
options:
- branch
- tag
- commit
- release
default: branch
ref:
description: nuxt ref to use
required: true
type: string
default: main
nitro:
description: the version of nitro to use
type: choice
options:
- v3 nightly
- v2 nightly
- v2 latest
default: v2 latest
repo:
description: nuxt repository to use
required: true
type: string
default: nuxt/nuxt
repository_dispatch:
types: [ecosystem-ci]
jobs:
test-ecosystem:
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
matrix:
suite:
- starter
- content
- ui
- image
- pinia
- examples
- example-layers-monorepo
- bridge
- nuxt-com
- vite-pwa
- docus
- og-image
- histoire
- elk
- devtools
- fonts
- scripts
- icon
- cli
- test-utils
- module-builder
- sanity-module
- tailwindcss
- sitemap
- i18n-module
- werewolves-assistant
- storybook
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
id: setup-node
- run: corepack enable
- run: pnpm --version
- run: pnpm i --frozen-lockfile
- run: >-
pnpm tsx ecosystem-ci.ts
--${{ inputs.refType || github.event.client_payload.refType || 'branch' }} ${{ inputs.ref || github.event.client_payload.ref || '3.x' }}
--repo ${{ inputs.repo || github.event.client_payload.repo || 'nuxt/nuxt' }}
${{ matrix.suite }}
id: ecosystem-ci-run
env:
NUXT_UI_PRO_TOKEN: ${{ secrets.NUXT_UI_PRO_TOKEN }}
NUXT_UI_PRO_LICENSE: ${{ secrets.NUXT_UI_PRO_TOKEN }}
NITRO_VERSION: ${{ inputs.nitro || 'v2 latest' }}
- if: always()
run: pnpm tsx discord-webhook.ts
env:
WORKFLOW_NAME: ci
REF_TYPE: ${{ inputs.refType || github.event.client_payload.refType || 'branch' }}
REF: ${{ inputs.ref || github.event.client_payload.ref || '3.x' }}
REPO: ${{ inputs.repo || github.event.client_payload.repo || 'nuxt/nuxt' }}
SUITE: ${{ matrix.suite }}
STATUS: ${{ job.status }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}