A small utility that aims to automate and simplify some tasks related to software release cycles.

Stork is a small utility that aims to automate and simplify some tasks related to software release cycles such as reading the current version from a file, prompt for a new version, create and push git tags and so on.

Install

# make sure go modules are used
GO111MODULE=on go get github.com/evilsocket/stork/cmd/stork

You can run a file with stork -f /path/to/file.stork, use stork -h for a list of all the options.

Example

This stork script will parse the current version from example_version.go, then ask the user for a new version and update this file. It will then push the changes to git and create a new tag with the specified version. The last two lines will build, tag and push the docker image for the project.

#!/usr/bin/env stork -f
# check what changed to best determine the next version
git:changelog

version:file "example_version.go"
version:from_user

git:create_tag $VERSION

docker:build "example/project", ".", "latest"
docker:create_tag "example/project", $VERSION, "latest"

More in the examples folder. For a complete list of commands refer to the project wiki.

Projects using Stork

License

Released under the GPL3 license.

Owner
Similar Resources

GoReleaser builds Go binaries as fast and easily as possible

GoReleaser builds  Go binaries as fast and easily as possible

GoReleaser builds Go binaries for several platforms, creates a GitHub release and then pushes a Homebrew formula to a tap repository. All that wrapped in your favorite CI.

Jan 7, 2023

Build system and task runner for Go projects

Build system and task runner for Go projects

Gilbert is task runner that aims to provide declarative way to define and run tasks like in other projects like Gradle, Maven and etc.

Dec 21, 2022

🚀 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.

🚀 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.

gowatch 中文文档 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file. Installation To insta

Dec 30, 2022

Build and (re)start go web apps after saving/creating/deleting source files.

unmaintained Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web f

Jan 2, 2023

NFPM is Not FPM - a simple deb, rpm and apk packager written in Go

NFPM NFPM is Not FPM - a simple deb, rpm and apk packager written in Go. Why While fpm is great, for me, it is a bummer that it depends on ruby, tar a

Jan 1, 2023

KintoHub is an open source build and deployment platform designed with a developer-friendly interface for Kubernetes.

KintoHub is an open source build and deployment platform designed with a developer-friendly interface for Kubernetes.

What is Kintohub? KintoHub is an open source build and deployment platform designed with a developer-friendly interface for Kubernetes. Build your cod

Jun 7, 2022

Moldy CLI the best project starter and manager of the world

Moldy CLI the best project starter and manager of the world

Moldy The best project starter of the world 🤔 What is Moldy ? Hey I present Moldy this beautiful tool that will solve your life in creating, managing

Oct 17, 2022

CUE is an open source data constraint language which aims to simplify tasks involving defining and using data.

CUE is an open source data constraint language which aims to simplify tasks involving defining and using data.

Jan 1, 2023

Simple Apple Software Release Notifier, sends an email containing release information

Apple Release Notifier Simple Apple Software Release Notifier, sends an email containing release information. Usage Fill in the contacts file with the

Feb 22, 2022

A tool to automate some of my tasks in ECS/ECR.

severinoctl A tool to automate some tasks in ECS/ECR. Work in progress... Prerequisites awscli working aws credentials environment AWS_REGION exported

Feb 19, 2022

Go-automate - Golang alternative to node-automate (6.3x faster)

go-automate Golang alternative to node-automate (6.3x faster) Usage Install gola

Mar 29, 2022

A go project generator, which aims to simplify building and releasing go projects by storing all project configuration in a single file called gojen.json, and creates appropriate workflow/git files using that config.

gojen Define your go project's configuration using a json config. This config can be used to generate a new go project for you, and can also create co

Mar 8, 2022

A Go package for creating contributor list by release, Help full for those organization that use one repository for platform release

This is a Go package which create contributors list by release by scanning across all repository that exist in organisation, Only helpful for those or

Dec 26, 2021

Terraform Controller manages the life cycles of a terraform resource, allowing developers to self-serve dependencies in a controlled manner.

Terraform Controller manages the life cycles of a terraform resource, allowing developers to self-serve dependencies in a controlled manner.

TERRAFORM CONTROLLER Terraform Controller manages the life cycles of a terraform resource, allowing developers to self-serve dependencies in a control

Dec 15, 2022

Automate all the tasks you can do in NeteaseCloudMusic

Fuck163MusicTasks 自动完成网易云音乐人任务并领取云豆 说白了就是白嫖网易云年费黑胶 ✨ 特性 web/Android 双平台每日签到 音乐人每日签到(登录音乐人中心) 自动发布动态(音乐人每日任务) 自动回复粉丝评论(音乐人每日任务) 自动恢复粉丝私信(音乐人每日任务) 自动领取已

Jan 5, 2023

Gotcha Bot 🤖 A app to automate engineers tasks

Gotcha Bot 🤖 A app to automate engineers tasks

Gotcha Bot 🤖 A app to automate engineers tasks What can 🤖 do? Gotcha, is a app and works on fired events. For more details on a GitHub app, please c

Jun 13, 2022

Yikes is a cli-application to simplify the process to maintaining a list of tasks to complete.

yikes Yikes is a cli-application to simplify the process to maintaining a list of tasks to complete. It also has commands to help store random notes a

Oct 7, 2021

A simple daemon which will watch files on your filesystem, mirror them to MFS, automatically update related pins, and update related IPNS keys.

A simple daemon which will watch files on your filesystem, mirror them to MFS, automatically update related pins, and update related IPNS keys.

ipfs-sync is a simple daemon which will watch files on your filesystem, mirror them to MFS, automatically update related pins, and update related IPNS keys, so you can always access your directories from the same address. You can use it to sync your documents, photos, videos, or even a website!

Dec 30, 2022

Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster

Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster. It evolved from NebulaGraph Cloud Service, makes NebulaGraph a truly cloud-native database.

Dec 31, 2022
Comments
  • 🚨 Potential Security Vulnerability - huntr.dev

    🚨 Potential Security Vulnerability - huntr.dev

    ⚠️ Potential Vulnerability in stork

    👋 Hello, @evilsocket - @dwisiswant0 has disclosed a potential vulnerability in your repository. To validate or invalidate this potential vulnerability, please visit https://huntr.dev/bounties/1-golang-stork and join our community in helping secure open-source code.


    ☎️ Need further support?

    Come and join us on our Discord and a member of our team will be happy to help! 🤗

    cc - @JamieSlome

  • new: pass environment to shell

    new: pass environment to shell

    Cool project.

    This PR passes the env.Vars to the invoked shell command. This makes it possible to, e.g. get the $VERSION variable if necessary in the shell script.

  • Arbitrary OS command executed when new version from_user given

    Arbitrary OS command executed when new version from_user given

    When new version from_user prompted, it can execute OS command, since it use fmt.Scanln (which is space-separated), the next value given will be executed automatically when the program finished.

    Proof of Concept

    Screenshot_2021-03-12_23-51-59

    The value before space will define new version for program. Even if the value before space is valid, the value after will still execute:

    Screenshot_2021-03-12_23-34-47

Related tags
Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.
Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.

#1 Golang live reload and task runner Content - ⭐️ Top Features - ???? Get started - ?? Config sample - ?? Commands List - ?? Support and Suggestions

Jan 6, 2023
Concurrent task runner, developer's routine tasks automation toolkit. Simple modern alternative to GNU Make 🧰
Concurrent task runner, developer's routine tasks automation toolkit. Simple modern alternative to GNU Make 🧰

taskctl - concurrent task runner, developer's routine tasks automation toolkit Simple modern alternative to GNU Make. taskctl is concurrent task runne

Dec 14, 2022
run/stop goroutines/tasks securely, recursively

grunner - run/stop goroutines/tasks securely, recursively. s1 := grunner.New() s1.Defer(func() { fmt.Println("s1 stopped 2") }) s1.Defer(func() {

Apr 22, 2022
Builds and restarts a Go project when it crashes or some watched file changes
Builds and restarts a Go project when it crashes or some watched file changes

gaper Used to build and restart a Go project when it crashes or some watched file changes Aimed to be used in development only. Changelog See Releases

Dec 30, 2022
Small golang app to assist in managing extended hdwallet keys

Installation go install github.com/provenance-io/extkey/cmd/extkey@latest Encoding Key generation interactive # Using interactive mode ▷▷ extkey Mne

Aug 15, 2022
Live reload utility for Go web servers

gin gin is a simple command line utility for live-reloading Go web applications. Just run gin in your app directory and your web app will be served wi

Jan 4, 2023
Monitoring changes in the source file and automatically compile and run (restart).
Monitoring changes in the source file and automatically compile and run (restart).

dogo Monitoring changes in the source file and automatically compile and run (restart). 中文 Install go get github.com/liudng/dogo Create config Here's

Dec 28, 2022
Various tools for usage with Golang like installer, github tool and cloud features.

Gopei2 (Go Programming Environment Installer) Gopei shell install Go compiler, LiteIDE and configure for you the entire environment, variables, paths,

Dec 23, 2022
a build tool for Go, with a focus on cross-compiling, packaging and deployment

goxc NOTE: goxc has long been in maintenance mode. Ever since Go1.5 supported simple cross-compilation, this tool lost much of its value. There are st

Dec 9, 2022
An extremely fast JavaScript bundler and minifier
An extremely fast JavaScript bundler and minifier

An extremely fast JavaScript bundler and minifier

Jan 4, 2023