robopigeon 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +15 -0
- data/.ruby-version +1 -1
- data/.version +1 -1
- data/README.md +4 -0
- data/robopigeon.rb +21 -5
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3cead9c778d9f2c180c95673e9ca275e4613f41a12b249189fb428c504438069
|
4
|
+
data.tar.gz: d43c4c8e48c9add5b89923a072ecd60690e6533dc5fc71884727dd85156075b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8343edf890bfbe37d4cc2e77b0b65f0e84f6bc1b8461cc2c20e07555ade05ef775adc6ba2b8d507472dc6cf80463895d3fac5ca8c750745cd71672bb63c370f
|
7
|
+
data.tar.gz: 3e794bbea5ae27ac3f37fa132b3d4680fccd2f2814a1a8be52e13f139b935949fc27b492adb669d31796b7cfefff8ee3f9a6bbf82ee9bc2b4c029d310b3d5e42
|
data/.gitlab-ci.yml
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
|
7
7
|
stages:
|
8
8
|
- test
|
9
|
+
- deploy
|
9
10
|
|
10
11
|
Rspec:2.5:
|
11
12
|
<<: *rspec
|
@@ -17,6 +18,7 @@ Rspec:2.3:
|
|
17
18
|
|
18
19
|
Rspec:2.1:
|
19
20
|
<<: *rspec
|
21
|
+
retry: 2
|
20
22
|
image: ruby:2.1
|
21
23
|
|
22
24
|
Rubocop:
|
@@ -25,3 +27,16 @@ Rubocop:
|
|
25
27
|
script:
|
26
28
|
- bundle install
|
27
29
|
- ./bin/rubocop
|
30
|
+
|
31
|
+
Deploy:
|
32
|
+
image: ruby:2.5
|
33
|
+
stage: deploy
|
34
|
+
only:
|
35
|
+
refs:
|
36
|
+
- master
|
37
|
+
changes:
|
38
|
+
- .version
|
39
|
+
script:
|
40
|
+
- gem build *.gemspec
|
41
|
+
- gem install robopigeon-*.gem
|
42
|
+
- robopigeon release_gem
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.5.
|
1
|
+
2.5.5
|
data/.version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.1
|
data/README.md
CHANGED
@@ -58,6 +58,10 @@ Bug reports and pull requests are welcome on GitLab at https://gitlab.com/pigeon
|
|
58
58
|
|
59
59
|
RoboPigeon grew out of a tool at [Granicus](https://granicus.com) called `gitlab_tools`. As the company grew, the team that created it (the pigeon team) recognized the need for a more flexible tool, and thus robopigeon was born! We also realized that with more flexibility comes more usefulness to other people. Since we get so much from open source, we recognized this as an opportunity to give back.
|
60
60
|
|
61
|
+
### Deployment
|
62
|
+
|
63
|
+
Update the .version file to the desired version and merge to master. The gem will be cut and deployed to rubygems, and a tag will be created automatically.
|
64
|
+
|
61
65
|
## Future Development
|
62
66
|
|
63
67
|
### Features for 1.0
|
data/robopigeon.rb
CHANGED
@@ -10,13 +10,10 @@ slack do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
gitlab do
|
13
|
-
# GitLab is currently disabled, make sure you have a valid api token with acces to
|
14
|
-
# to your repo, then remove the following line
|
15
|
-
enabled false
|
16
13
|
# This is where you configure your global gitlab settings, like api url and api key
|
17
14
|
# always keep your api key either in an environment variable or encrypted with something
|
18
15
|
# something like `encryptatron` or rails secrets.
|
19
|
-
api_url
|
16
|
+
api_url 'https://gitlab.com/api/v4/'
|
20
17
|
api_key ENV['GITLAB_API_KEY'] # Always use an envrionment variable, don't check in secrets.
|
21
18
|
end
|
22
19
|
|
@@ -62,7 +59,7 @@ job 'update_version', 'Used to update the version to a new one!' do
|
|
62
59
|
end
|
63
60
|
|
64
61
|
# Now, tag that commit with the new version!
|
65
|
-
|
62
|
+
tag('master', ENV['NEW_VERSION_NUMBER'], "Updating version to #{ENV['NEW_VERSION_NUMBER']}")
|
66
63
|
end
|
67
64
|
end
|
68
65
|
|
@@ -209,3 +206,22 @@ job 'notify_failure', 'Notify slack and gitlab that a job has failed' do
|
|
209
206
|
merge_request_comment "The branch from this merge request has a failure - ENV['CI_PIPELINE_URL']", git_branch_merged_source
|
210
207
|
end
|
211
208
|
end
|
209
|
+
|
210
|
+
job 'release_gem', 'release the gem to rubygems.org and tag it in gitlab' do
|
211
|
+
gitlab do
|
212
|
+
require 'open3'
|
213
|
+
FileUtils.mkdir_p("#{ENV['HOME']}/.gem")
|
214
|
+
File.write("#{ENV['HOME']}/.gem/credentials", { rubygems_api_key: ENV['RUBYGEMS_API_KEY'] }.to_yaml)
|
215
|
+
FileUtils.chmod(0o600, "#{ENV['HOME']}/.gem/credentials")
|
216
|
+
puts "Wrote gem credentials to #{ENV['HOME']}/.gem/credentials"
|
217
|
+
|
218
|
+
push_output, _stderr, code = Open3.capture3('gem push robopigeon-*.gem')
|
219
|
+
puts push_output
|
220
|
+
exit 1 if code.exitstatus != 0
|
221
|
+
puts 'Gem successfully pushed to rubygems.org'
|
222
|
+
|
223
|
+
version = File.read('.version').strip
|
224
|
+
tag(version, `git rev-parse HEAD`.strip, "Updating version to #{version}")
|
225
|
+
puts "Tagged version #{version} via gitlab api"
|
226
|
+
end
|
227
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: robopigeon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Ives
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-05-
|
11
|
+
date: 2019-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gitlab
|
@@ -332,8 +332,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
332
332
|
- !ruby/object:Gem::Version
|
333
333
|
version: '0'
|
334
334
|
requirements: []
|
335
|
-
|
336
|
-
rubygems_version: 2.7.6
|
335
|
+
rubygems_version: 3.0.3
|
337
336
|
signing_key:
|
338
337
|
specification_version: 4
|
339
338
|
summary: A set of tools for gitlab and other ci piplines
|