Skip to content

EdgelessPE/ept

Repository files navigation

ept

(WIP)新一代 Windows 包管理解决方案 - 基于 Nep 规范打造

codecov

特性

  • 🚀 使用 Rust 构建,编译后的体积小于 20MB 且无需任何运行时或动态链接库依赖,性能卓越
  • 🔒 采用哈希算法 BLAKE3,配合 Ed25519 数字签名算法提供安全且极为快速的签名体验
  • 📦 采用 Zstandard 压缩算法,实现高效的数据压缩和解压缩能力
  • 🛠️ 完善的工作流设计,优雅的描述包的安装、更新、卸载等过程;支持从工作流自动生成反向工作流、权限信息、装箱单等信息
  • 📝 完善的元信息管理能力,支持标签、权限控制等能力;支持识别程序自更新,支持识别注册表入口以获取主程序路径和卸载命令;支持安装包版和便携版软件包,支持可展开软件包,支持自定义包类型偏好
  • 🤖 生态链丰富,拥有完善的 CI/CD 流程,使用机器人自动构建并通过自动化质量保障系统确保包的质量

单元测试

  • 在项目根目录中创建 eptrc.toml 文件并指定 local.base 用于隔离测试安装环境
  • 使用 scoop install miniservecargo install --locked miniserve 安装 miniserve
  • 执行 pnpm rs:ut
  • 如需要查看单测覆盖率,请使用 cargo install cargo-tarpaulin 安装 tarpaulin 后执行 pnpm rs:ut:html

构建与发版

使用 cargo build 构建测试版本的可执行文件,该文件运行时会默认启用 Debug 模式。

如果需要构建生产环境的版本,请执行 pnpm rs:build,这会调用 vc-ltl 构建一个无需 VC 运行库的生产版本可执行文件。

需要发版时使用的命令为 pnpm rs:release,详情见 README.md