diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..d6622eb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,55 @@ +name: CI +on: + push: + branches: ['master', 'develop'] + pull_request: + branches: [master] + # workflow_dispatch: + # inputs: + # tag: + # description: override release tag + # required: false + +jobs: + build-and-test: + name: Build and Test + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'pnpm' + - name: Install Dependencies + run: pnpm install --frozen-lockfile + - name: Lint + run: pnpm run lint + - name: Run Tests + run: pnpm run test + - name: Build + run: pnpm run build + + Integration: + name: TypeScript & Integration Tests + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [20, 18] + + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + - name: Install Dependencies + run: pnpm install --frozen-lockfile + + - name: Integration Tests + run: pnpm test -- integration/ \ No newline at end of file diff --git a/README.md b/README.md index 0a301a4..5c82e8a 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,23 @@ ![Github lerna version (branch)](https://img.shields.io/github/lerna-json/v/anran758/mincloudx) ![ts](https://badgen.net/badge/-/TypeScript?icon=typescript&label&labelColor=blue&color=555555) +![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/anran758/mincloudx/ci.yml) [![GitHub](https://img.shields.io/github/license/anran758/mincloudx)](https://github.com/anran758/mincloudx/blob/master/LICENSE) -[知晓云](https://cloud.minapp.com/)是一个云开发平台,提供云端数据库、内容存储、云函数、微信小程序云开发等多项云服务。同时,知晓云还提供可视化建站、表单、消息通知、短信验证码等功能,为开发者提供全方位的云端开发服务。 +[MinCloud](https://cloud.minapp.com/) is a cloud development platform that provides a variety of cloud services, including cloud databases, content storage, cloud functions, and WeChat Mini Program cloud development. -🔧 mincloudx 是围绕着知晓云云开发的生态库,旨在扩充原有的功能以简便工作。 +Additionally, MinCloud offers features like visual website building, forms, message notifications, SMS verification, etc., providing developers with comprehensive cloud development services. -> 由于 `mincloud` 和知晓云官方的 `faas-cli` 提供的 command 重名了,因此将项目重命名为 `mincloudx`。意思是为增强知晓云生态而生。 +🔧 `mincloudx` is a library ecosystem built around MinCloud cloud development, aiming to expand the original functionalities to facilitate work. ## Development -mincloudx 的开发是基于 [Monorepo](https://en.wikipedia.org/wiki/Monorepo) 的项目组织方式。我们使用 [Lerna](https://lerna.js.org/) 作为包管理器,并且将所有相关的软件包都存储在一个 Git 仓库中。 +The development of mincloudx is based on the Monorepo project organization. We use [Lerna](https://lerna.js.org/) as the package manager, and all related packages are stored in a single Git repository. -有关 Monorepo 项目的开发和发布规范,请参阅 [Monorepo 项目的开发与发布规范](./docs/dev-and-deploy.md)。 +For development and release standards of Monorepo projects, please refer to [Development and Release Standards for Monorepo Projects](./docs/dev-and-deploy.md). ## Community -- 💬 可以在 [GitHub Discussions](https://github.com/anran758/mincloudx/discussions) 上与其他用户交流。 -- 🚨 或是在 [GitHub Issues](https://github.com/anran758/mincloudx/issues) 上报告问题或提出功能请求。 -- 📒 也可以关注 [TODO](./docs/to) 了解项目接下来的开发计划。 +- 💬 You can interact with other users on [GitHub Discussions](https://github.com/anran758/mincloudx/discussions). +- 🚨 Report issues or request features on [GitHub Issues](https://github.com/anran758/mincloudx/issues). +- 📒 Follow the [TODO](./docs/to) to know about the upcoming development plans for the project. diff --git a/package.json b/package.json index 4065de4..b6938ff 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "scripts": { "pre-commit": "pnpm lint-staged", "postinstall": "husky install", + "build": "pnpm -r --filter \"./packages/*\" run build", "lint-fix": "eslint . --fix", "lint": "eslint .", "check-format": "prettier --list-different .",