Fancy
This commit is contained in:
		
							parent
							
								
									5a1fdb7c7f
								
							
						
					
					
						commit
						5ec985b0df
					
				| @ -73,6 +73,11 @@ If you have vagrant available (this is temporary whilst I'm hacking on v5 suppor | ||||
|   - `bundle exec rspec` | ||||
| 
 | ||||
| ## Releasing | ||||
|   - Update Changelog | ||||
|   - Bump version in gemspec | ||||
|   - Commit | ||||
|   - Create tag `git tag v<version-number-in-gemspec>` | ||||
|   - `bundle exec rake install_jars` | ||||
|   - `bundle exec rake pre_release_checks` | ||||
|   - `gem build logstash-output-jdbc.gemspec` | ||||
|   - `gem push` | ||||
|  | ||||
							
								
								
									
										19
									
								
								Rakefile
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								Rakefile
									
									
									
									
									
								
							| @ -1,3 +1,4 @@ | ||||
| # encoding: utf-8 | ||||
| require 'logstash/devutils/rake' | ||||
| require 'jars/installer' | ||||
| require 'rubygems' | ||||
| @ -9,21 +10,29 @@ task :install_jars do | ||||
|   Jars::Installer.new.vendor_jars!(false) | ||||
| end | ||||
| 
 | ||||
| def colourize(text, color_code) | ||||
|   "\e[#{color_code}m#{text}\e[0m" | ||||
| end | ||||
| 
 | ||||
| desc 'Pre-release checks' | ||||
| task :pre_release_checks do | ||||
| 
 | ||||
|   if `git status --porcelain`.chomp.length > 0 | ||||
|     raise "You have unstaged or uncommitted changes! Please only deploy from a clean working directory!" | ||||
|     warn colourize(' ✘ ', 31) + 'You have unstaged or uncommitted changes! Please only release from a clean working directory!' | ||||
|   else | ||||
|     puts colourize(" ✔ ", 32) + ' No un-staged commits' | ||||
|   end | ||||
| 
 | ||||
|   spec = Gem::Specification::load("logstash-output-jdbc.gemspec") | ||||
|   expected_tag_name = "v#{spec.version}" | ||||
| 
 | ||||
|   current_tag_name = `git describe --exact-match --tags HEAD`.chomp | ||||
|   if $? == 0 | ||||
|     raise "Expected git tag to be '#{expected_tag_name}', but got '#{current_tag_name}'." if current_tag_name != expected_tag_name | ||||
|   current_tag_name = `git describe --exact-match --tags HEAD 2>&1`.chomp | ||||
|   if $?.success? and current_tag_name == expected_tag_name | ||||
|     puts colourize(' ✔ ', 32) + 'Tag matches current HEAD' | ||||
|   elsif $?.success? and current_tag_name == expected_tag_name | ||||
|     warn colourize(' ✘ ', 31) + "Expected git tag to be '#{expected_tag_name}', but got '#{current_tag_name}'."  | ||||
|   else | ||||
|     raise "Expected git tag to be '#{expected_tag_name}, but got nothing." | ||||
|     warn colourize(' ✘ ', 31) + "Expected git tag to be '#{expected_tag_name}, but got nothing." | ||||
|   end | ||||
|    | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Karl Southern
						Karl Southern