#版本管理 #单仓库 #语义版本 #自动化 #持续集成

app monover

闪电般的智能单仓库持续集成版本管理

1 个不稳定版本

0.1.0 2023年5月23日

#597测试

MIT 许可证

7KB

.github/workflows/build.yml

monover

闪电般的智能 单仓库 持续集成版本管理。

特性

并行仓库扫描

使用 Rust Rayon 扫描大文件系统目录结构,以最小化扫描时间。

版本验证

验证包版本以防止重复的目标版本和与版本方案的差异。

自动仓库版本管理

仓库版本自动从包版本派生。

历史版本日志

跟踪版本以验证新的目标版本和执行状态审计。

版本日志使用 Rust 实现的 Cap'n Proto 消息格式。

支持的版本方案

多语言版本流畅性

支持使用标准包管理配置文件对仓库包进行版本管理。

  • 通用
    • VERSION
  • Go
    • go.mod
  • NodeJs
    • package.json
  • Rust
    • cargo.toml
  • C++
    • conanfile.py
    • conanfile.txt
  • Python
    • setup.cfg
    • setup.py
  • Java
    • pom.xml
    • build.gradle
  • Scala
    • build.sbt
  • Swift
    • Package.swift
  • Dart
    • pubspec.yaml
  • Clojure
    • project.clj
  • F#
    • paket.dependencies
  • C#
    • .csproj
    • .nuspec
  • Haskell
    • .cabal
  • Kotlin
    • build.gradle.kts
  • R
    • DESCRIPTION
  • Lua
    • .rockspec
  • OCaml
    • .opam
    • opam
  • PHP
    • composer.json
  • Perl
    • Makefile.PL
    • Build.PL
    • META.yml
  • Julia
    • Project.toml
  • Crystal
    • shard.yml
  • Nim
    • .nimble
  • Erlang
    • rebar.config
  • Ruby
    • .gemspec
  • Elixir
    • mix.exs
  • Elm
    • elm.json
  • Idris
    • elba.toml

概念

CHANGE 文件

这些文件用于 monover 决定如何递增包版本文件。

示例

"major"

VERSION 文件

这些是具有三个主要功能的特殊文件

  • 版本仓库(自动生成)。
  • 版本仓库包(覆盖版本文件匹配)。
  • 解决版本歧义(1 < version 文件匹配)。

VERSION 文件的格式是一个简单的双引号字符串。它们是有效的 JSON 文件,没有文件扩展名。

对于VERSION文件字符串,有两种可能的值

  • 版本方案的合法值。
  • 要使用的版本文件的关键。

许可

MIT

依赖项

~2–9MB
~73K SLoC