newtonproject / newcommander

A commandline client for the NewChain.
GNU General Public License v3.0
4 stars 3 forks source link

create a standard release format #2

Open arisac opened 3 years ago

arisac commented 3 years ago

I want to make NewCommander to be installed and used easily for different projects.

This is currently a discussion.

What To Do first

This is inspired by gohugo project & community

https://github.com/gohugoio/hugo/releases

they have build for diffenent platforms to use

hugo_0.80.0_checksums.txt
hugo_0.80.0_DragonFlyBSD-64bit.tar.gz
hugo_0.80.0_FreeBSD-32bit.tar.gz
hugo_0.80.0_FreeBSD-64bit.tar.gz
hugo_0.80.0_FreeBSD-ARM.tar.gz
hugo_0.80.0_Linux-32bit.deb
hugo_0.80.0_Linux-32bit.tar.gz
hugo_0.80.0_Linux-64bit.deb
hugo_0.80.0_Linux-64bit.tar.gz
hugo_0.80.0_Linux-ARM.deb
hugo_0.80.0_Linux-ARM.tar.gz
hugo_0.80.0_Linux-ARM64.deb
hugo_0.80.0_Linux-ARM64.tar.gz
hugo_0.80.0_macOS-64bit.tar.gz
hugo_0.80.0_NetBSD-32bit.tar.gz
hugo_0.80.0_NetBSD-64bit.tar.gz
hugo_0.80.0_NetBSD-ARM.tar.gz
hugo_0.80.0_OpenBSD-32bit.tar.gz
hugo_0.80.0_OpenBSD-64bit.tar.gz
hugo_0.80.0_OpenBSD-ARM.tar.gz
hugo_0.80.0_Windows-32bit.zip
hugo_0.80.0_Windows-64bit.zip
hugo_extended_0.80.0_Linux-64bit.deb
hugo_extended_0.80.0_Linux-64bit.tar.gz
hugo_extended_0.80.0_macOS-64bit.tar.gz
hugo_extended_0.80.0_Windows-64bit.zip
Source code (zip)
Source code (tar.gz)

And Next

I wanna using this repo as upstream and create other repos to make install scripts

Also inspired how gohugo can be widely used:

Taking NodeJS's NPM as an example:

They are released by community, using released bin files from upstream with https://www.npmjs.com/package/bin-wrapper to create the package.

This will results all project using NodeJS can easily add hugo as dependency to use in their project.

Also helps user using NodeJS to install hugo on local machines.

And helps automation scripts to auto use the correct version of hugo. We can use newcommmander in auto test or github actions to run scripts for different projects.

And More

As project developers, we should build more tools for more developers easy to use and easy to use our tools in their projects.

After the release to NPM, I'm planning to also push our apps to different Distribution platforms such as AUR, HomeBrew and more.

arisac commented 3 years ago

discussions here @VieYang @mengguang

arisac commented 3 years ago

REF provided by @VieYang https://github.com/goreleaser/goreleaser

vieyang commented 3 years ago

I got some error with goreleaser when build the go-ethereum, try to build with xgo