Skip to content

Simple server for managing the versions of artifacts using Semantic Versioning

License

Notifications You must be signed in to change notification settings

wirequery/semver-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Simple server for managing the versions of artifacts using Semantic Versioning

NOTE: This application is currently under development. Please don't rely on this tool yet.

Installation

go install github.com/wirequery/semver-server/cmd/sem@latest

Usage

Server

To start a sem server:

sem serve

Optionally, you can provide the flag --port <port> to set the port the server listens to.

REST Interface

Create a new project

POST /v1/projects
{
  "group": "<group>",
  "name": "<name>"
}

=>

{
  "major": 0,
  "minor": 1,
  "patch": 0,
}

Get version of project

GET /v1/projects/:group/:name

=>

{
  "major": <major>,
  "minor": <minor>,
  "patch": <patch>,
}

Increment major

POST /v1/projects/:group/:name/major

=>

{
  "major": <major>,
  "minor": <minor>,
  "patch": <patch>,
}

Increment minor

POST /v1/projects/:group/:name/minor

=>

{
  "major": <major>,
  "minor": <minor>,
  "patch": <patch>,
}

Increment patch

POST /v1/projects/:group/:name/patch

=>

{
  "major": <major>,
  "minor": <minor>,
  "patch": <patch>,
}

Roadmap

  • Implement in-memory rudimental prototype
  • Use a real database
  • Error handling
  • Create projects with key validation
  • Cover by tests
  • Integrate with WireQuery

Recipes

Using Git history to determine increment

Coming Soon...

About

Simple server for managing the versions of artifacts using Semantic Versioning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages