Class: Decidim::Releaser

Inherits:
Object
  • Object
show all
Defined in:
lib/decidim/releaser.rb

Instance Method Summary collapse

Instance Method Details

#capture(cmd, env: {}) ⇒ Object



35
36
37
# File 'lib/decidim/releaser.rb', line 35

def capture(cmd, env: {})
  Open3.capture2e(env, cmd)
end

#generate_changelogObject



29
30
31
32
33
# File 'lib/decidim/releaser.rb', line 29

def generate_changelog
  sha_version = capture("git log -n 1 --pretty=format:%h -- .decidim-version")[0]
  pat_token = capture("gh auth token")[0]
  run("bin/changelog_generator #{pat_token} #{sha_version}")
end

#release!Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/decidim/releaser.rb', line 7

def release!
  run("git checkout #{release_branch}")
  run("git pull origin #{release_branch}")
  # Bump patch on .decidim-version
  run("bin/rake update_versions")
  run("bin/rake bundle")
  run("bin/rake webpack")
  generate_changelog

  run("git checkout -b chore/prepare/#{version_number}")
  run("git commit -a -m 'Prepare #{version_number} release'")
  run("git push origin chore/prepare/#{version_number}")
end

#release_branchObject



21
22
23
# File 'lib/decidim/releaser.rb', line 21

def release_branch
  "release/0.26-stable"
end

#run(cmd, out: $stdout) ⇒ Object



39
40
41
# File 'lib/decidim/releaser.rb', line 39

def run(cmd, out: $stdout)
  system(cmd, out:)
end

#version_numberObject



25
26
27
# File 'lib/decidim/releaser.rb', line 25

def version_number
  "v0.26.8"
end