Skip to content

vite-ecosystem-ci

vite-ecosystem-ci #547

Workflow file for this run

# integration tests for vite ecosystem projects - scheduled or manual run for all suites
name: vite-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: "vite ref to use"
required: true
type: string
default: "main"
repo:
description: "vite repository to use"
required: true
type: string
default: "vitejs/vite"
repository_dispatch:
types: [ecosystem-ci]
jobs:
test-ecosystem:
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
matrix:
suite:
- analogjs
- astro
- histoire
# - hydrogen # disabled until they complete they migration back to Vite
# - iles # disabled until its CI is fixed
- ladle
- laravel
- marko
- nuxt
# - nx # disabled temporarily
- previewjs
- quasar
- qwik
- rakkas
- redwoodjs
- remix
- storybook
- sveltekit
- unocss
- vike
- vite-environment-examples
- vite-plugin-pwa
- vite-plugin-react
# - vite-plugin-react-pages # disabled until its install setup is fixed
- vite-plugin-react-swc
- vite-plugin-svelte
- vite-plugin-vue
- vite-setup-catalogue
- vitepress
- vitest
- vuepress
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
id: setup-node
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x
id: setup-deno
continue-on-error: true
- 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 || 'main' }}
--repo ${{ inputs.repo || github.event.client_payload.repo || 'vitejs/vite' }}
${{ matrix.suite }}
id: ecosystem-ci-run
- 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 || 'main' }}
REPO: ${{ inputs.repo || github.event.client_payload.repo || 'vitejs/vite' }}
SUITE: ${{ matrix.suite }}
STATUS: ${{ job.status }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}