All Projects → bketelsen → Ngc

bketelsen / Ngc

Licence: mit
NewGoCommand - An opinionated and lightweight project starter. (WORK IN PROGRESS)

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Ngc

ngp
New Go Package
Stars: ✭ 22 (+37.5%)
Mutual labels:  build, tooling, semantic-versioning, release
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
Lyo
📦 Node.js to browser - The easy way
Stars: ✭ 624 (+3800%)
Mutual labels:  build
Garble
Obfuscate Go builds
Stars: ✭ 617 (+3756.25%)
Mutual labels:  build
Vue Tags Input
A tags input component for VueJS
Stars: ✭ 761 (+4656.25%)
Mutual labels:  tags
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
Php Memcache Dll
PHP-memcache-dll
Stars: ✭ 588 (+3575%)
Mutual labels:  release

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 and build 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].