bketelsen / Ngc
Licence: mit
NewGoCommand - An opinionated and lightweight project starter. (WORK IN PROGRESS)
Stars: ✭ 16
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Ngc
next-ver
Tells you the next semantic version for your local package
Stars: ✭ 27 (+68.75%)
Mutual labels: semantic-versioning, release
git-semv
🔖 Git plugin for Semantic Versioning
Stars: ✭ 20 (+25%)
Mutual labels: semantic-versioning, release
drevops
💧 + 🐳 + ✓✓✓ + 🤖 + ❤️ Build, Test, Deploy scripts for Drupal using Docker and CI/CD
Stars: ✭ 55 (+243.75%)
Mutual labels: build, tooling
Sailboat
🐍 A quick and easy way to distribute your Python projects!
Stars: ✭ 137 (+756.25%)
Mutual labels: build, release
Python Semantic Release
Automatic semantic versioning for python projects
Stars: ✭ 301 (+1781.25%)
Mutual labels: tooling, release
AzDo.VstsDashboard
Provide a simple way to view all Builds and Releases on a single page. The intend was to see what's currently happened into the CI/CD pipeline and provide quick feedback of what's going on.
Stars: ✭ 16 (+0%)
Mutual labels: build, release
tag
Git utility to create tags in order to identify specific releases
Stars: ✭ 24 (+50%)
Mutual labels: tags, release
Python Semver
Python package to work with Semantic Versioning (http://semver.org/)
Stars: ✭ 264 (+1550%)
Mutual labels: release, semantic-versioning
win-svn
apache subversion windows builds with httpd modules and java hl
Stars: ✭ 19 (+18.75%)
Mutual labels: build, release
React Native Version
🔢 Version your React Native or Expo app in a `npm version` fashion.
Stars: ✭ 408 (+2450%)
Mutual labels: release, semantic-versioning
Axion Release Plugin
Gradle release & version management plugin.
Stars: ✭ 372 (+2225%)
Mutual labels: release, semantic-versioning
Standard Version
🏆 Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
Stars: ✭ 5,806 (+36187.5%)
Mutual labels: release, tags
Awesome Bazel
A curated list of Bazel rules, tooling and resources.
Stars: ✭ 640 (+3900%)
Mutual labels: build
Github Release Notes
Node module to create a release or a changelog from a tag and uses issues or commits to creating the release notes.
Stars: ✭ 705 (+4306.25%)
Mutual labels: release
Flubucore
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Stars: ✭ 695 (+4243.75%)
Mutual labels: build
ngc - New Go Command
Description
ngc
is an opinionated helper utility that creates some boilerplate for a new Go command or package.
Featuring:
- HelloGopher - modified makefile inspired by Cloudflare's HelloGopher
- goreleaser - release binaries to Github
- Docker integration
- Semantic Versions
- Versioned Binaries with ldflags
Output
Run ngc
in an empty directory. IT WILL OVERWRITE THINGS RIGHT NOW In the future, it may move existing files or directories that would have been overwritten.
ngc
will create:
- Dockerfile for a project with appropriate settings for a Go command
- Makefile suitable for any Go project. Based on a modified "HelloGopher" makefile by Cloudflare.
- "main.go" with a Version and BuildTime variable that are populated by the makefile's
build
task. - .envrc - To use this install github.com/direnv/direnv
- .goreleaser.yml for releasing with goreleaser
Requirements and Notes
You'll need a Github Personal Access token to do releases.
Docker is required for Docker builds.
Doesn't work in Windows without make
installed.
Project
Start with an empty directory where you intend to build your project. This directory should be in your GOPATH.
After running ngc
, your project will have a Makefile which has everything you need to get started.
Start with setup
:
make setup
Make Targets
- all - run
test
andbuild
targets - bin/ - install coverage, deps, and imports helpers
- build - make the target binary
- clean - remove .GOPATH/*
- cover - run coverage report
- deps - run
dep ensure
to install dependencies - docker - build the docker image
- format - format the source code
- list - list build targets
- setup - create the project structure and install tools
- test - run tests
- tags - list git tags
- release - create a release from the currently tag
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].