farmbot_os/scripts/release_candidate.exs

12 lines
870 B
Elixir
Executable File

#!/usr/bin/env elixir
{_, 0} = System.cmd("git", ["checkout", "staging"], into: IO.stream(:stdio, :line))
{_, 0} = System.cmd("git", ["fetch", "--all"], into: IO.stream(:stdio, :line))
{_, 0} = System.cmd("git", ["reset", "--hard", "origin/staging"], into: IO.stream(:stdio, :line))
version = File.read!("VERSION") |> String.trim() |> Version.parse!()
[<<"rc", rc :: binary>>] = version.pre
version = %{version | pre: ["rc#{String.to_integer(rc) + 1}"]}
:ok = File.write!("VERSION", to_string(version))
{_, 0} = System.cmd("git", ["add", "VERSION"], into: IO.stream(:stdio, :line))
{_, 0} = System.cmd("git", ["commit", "-am", "Release v#{version}"], into: IO.stream(:stdio, :line))
{_, 0} = System.cmd("git", ["tag", "v#{version}"], into: IO.stream(:stdio, :line))
{_, 0} = System.cmd("git", ["push", "origin", "staging", "v#{version}"], into: IO.stream(:stdio, :line))