1 Star 0 Fork 0

Vue.js/ecosystem-ci

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Vue Ecosystem CI

This repository is used to run integration tests for vue ecosystem projects

How it works

We now have continuous release like this via pkg.pr.new. By default when running against a branch or a commit, we will use the corresponding release from pkg.pr.new so we don't need to build / mock publish the packages again.

We will use pnpm override to force install the specific version of Vue in the downstream projects and then run their tests.

In cases where we cannot use pre-built packages, the script will perform a fresh build by pulling the specific Vue branch / commit and publish them to a local verdaccio registry.

via github workflow

scheduled

Workflows are scheduled to run automatically every Monday, Wednesday and Friday

manually

  • open workflow
  • click 'Run workflow' button on top right of the list
  • select suite to run in dropdown
  • start workflow

via shell script

  • clone this repo
  • run pnpm i
  • run pnpm test to run all suites
  • or pnpm test <suitename> to select a suite
  • or tsx ecosystem-ci.ts

Note if you are not using pnpm through corepack locally, you need to prepend every command with COREPACK_ENABLE_STRICT=0 .

You can pass --tag v3.2.0-beta.1, --branch somebranch or --commit abcd1234 option to select a specific vue version to build. If you pass --release 3.2.45, vue build will be skipped and vue is fetched from the registry instead.

The repositories are checked out into workspace subdirectory as shallow clones.

If you want to test the same version (or tag) of vue multiple times, please run pnpm clean first to ensure the workspace is clean and the package registry cache is purged.

Running against local build

To run against the local build, link the packages directory of a local vuejs/core clone to built-packages inside this repo, then run with the --local option.

Explicitly running against pkg.pr.new releases

You can run against a specific continuous release via --release @<commit or branch>. For example:

tsx ecosystem-ci.ts --release @main
tsx ecosystem-ci.ts --release @ca41b9202

how to add a new integration test

  • check out the existing tests and add one yourself. Thanks to some utilities it is really easy
  • once you are confident the suite works, add it to the lists of suites in the workflows

the current utilities focus on pnpm based projects. Consider switching to pnpm or contribute utilities for other pms

If your project needs some special setup when running in the Ecosystem CI, you can detect the environment by checking for the ECOSYSTEM_CI environment variable. It would be set to vue if running in the Vue Ecosystem CI.

reporting results

on your own server

  • Go to Server settings > Integrations > Webhooks and click New Webhook
  • Give it a name, icon and a channel to post to
  • copy the webhook url
  • get in touch with admins of this repo so they can add the webhook

how to add a discord webhook here

  • Go to <github repo>/settings/secrets/actions and click on New repository secret
  • set Name as DISCORD_WEBHOOK_URL
  • paste the discord webhook url you copied from above into Value
  • Click Add secret
MIT License Copyright (c) 2023-present, Vue contributors Copyright (c) 2021-present, Vite contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Vue Ecosystem CI 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/vuejs/ecosystem-ci.git
git@gitee.com:vuejs/ecosystem-ci.git
vuejs
ecosystem-ci
ecosystem-ci
main

搜索帮助