circleci-bundle-update-pr 1.17.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 30b7ab3dbfc72e9b9324188c265d8d8157125777980c0df23374100b782bb551
4
- data.tar.gz: a331c2a3ef23c8d28a59403f202d1bb5dfe81e569ffd385a11b8070bcf66d62e
3
+ metadata.gz: 1d5cc504a8708bd911a1547a56cf6734dc9280a1abb914c1e1028c27f4d79dc5
4
+ data.tar.gz: 47dbf8ecf966463318a76f43795a8fcba8e253e42900739efe3f01ad2bf60905
5
5
  SHA512:
6
- metadata.gz: 29ea5efb9b178ad57a080f78da124fb520e28ce06e418e4ad6a63a1ff1edceaa80597a7871f05467c6e314522cd107a56a460ca918caa1d9c87f4feda39584dd
7
- data.tar.gz: a1924bb344553c2f8176676d401534048a5d2bbcfbd16affef4cba96a6c9e40d757e70dcb2ea11eaa99c5435a9d80286821b024e9c8c7be77e57c74f5ae21fb1
6
+ metadata.gz: 1f79769e8e306cfb43d985a0db49a5a264e5542e07993ca359d66bda2d783b4510d045a77e5dd54520f920a9eb71da878d271f92db9e3003f48d6c618a7e4076
7
+ data.tar.gz: e898ecce0b82c6d9901e8a8e7a904e0bfb7677839b3b5002f64a7965c03e79375f38b33eaf240b5c8415197fb88f92e1aaa17f5e2e539376754e1c79854babde
data/.circleci/config.yml CHANGED
@@ -5,7 +5,7 @@ executors:
5
5
  parameters:
6
6
  ruby_version:
7
7
  type: enum
8
- enum: ['2.3', '2.4', '2.5', '2.6']
8
+ enum: ['2.3', '2.4', '2.5', '2.6', '2.7']
9
9
  docker:
10
10
  - image: ruby:<< parameters.ruby_version >>-alpine
11
11
  working_directory: /work
@@ -26,7 +26,7 @@ commands:
26
26
  parameters:
27
27
  ruby_version:
28
28
  type: enum
29
- enum: ['2.3', '2.4', '2.5', '2.6']
29
+ enum: ['2.3', '2.4', '2.5', '2.6', '2.7']
30
30
  steps:
31
31
  - restore_cache:
32
32
  name: Restore bundle cache
@@ -37,7 +37,7 @@ commands:
37
37
  parameters:
38
38
  ruby_version:
39
39
  type: enum
40
- enum: ['2.3', '2.4', '2.5', '2.6']
40
+ enum: ['2.3', '2.4', '2.5', '2.6', '2.7']
41
41
  steps:
42
42
  - save_cache:
43
43
  name: Save bundle cache
@@ -50,7 +50,7 @@ jobs:
50
50
  parameters:
51
51
  ruby_version:
52
52
  type: enum
53
- enum: ['2.3', '2.4', '2.5', '2.6']
53
+ enum: ['2.3', '2.4', '2.5', '2.6', '2.7']
54
54
  executor:
55
55
  name: default
56
56
  ruby_version: << parameters.ruby_version >>
@@ -59,11 +59,14 @@ jobs:
59
59
  - checkout
60
60
  - restore_bundle_cache:
61
61
  ruby_version: << parameters.ruby_version >>
62
+ - run:
63
+ name: install bundler
64
+ command: gem install -N bundler:1.17.2 # same version as Gemfile.lock
62
65
  - run:
63
66
  name: bundle install
64
67
  command: |
65
68
  bundle check || bundle install --jobs=4 --retry=3
66
- bundle clean
69
+ bundle clean --force
67
70
  - save_bundle_cache:
68
71
  ruby_version: << parameters.ruby_version >>
69
72
  - run: rubocop
@@ -71,12 +74,12 @@ jobs:
71
74
  continuous_bundle_update:
72
75
  executor:
73
76
  name: default
74
- ruby_version: '2.6'
77
+ ruby_version: '2.7'
75
78
  steps:
76
79
  - setup_requirements
77
80
  - checkout
78
81
  - restore_bundle_cache:
79
- ruby_version: '2.6'
82
+ ruby_version: '2.7'
80
83
  - run:
81
84
  name: Install edge circleci-bundle-update-pr
82
85
  command: |
@@ -102,10 +105,13 @@ workflows:
102
105
  - build:
103
106
  name: ruby-2.6
104
107
  ruby_version: '2.6'
108
+ - build:
109
+ name: ruby-2.7
110
+ ruby_version: '2.7'
105
111
  nightly:
106
112
  triggers:
107
113
  - schedule:
108
- cron: "00 10 * * 5"
114
+ cron: "00 10 * * 2"
109
115
  filters:
110
116
  branches:
111
117
  only: master
data/.rubocop.yml CHANGED
@@ -5,12 +5,18 @@ AllCops:
5
5
  DisplayCopNames: true
6
6
  TargetRubyVersion: 2.3
7
7
 
8
+ Layout/LineLength:
9
+ Enabled: false
10
+
8
11
  Metrics:
9
12
  Enabled: false
10
13
 
11
14
  RSpec/DescribedClass:
12
15
  Enabled: false
13
16
 
17
+ RSpec/NamedSubject:
18
+ Enabled: false
19
+
14
20
  Style/BlockComments:
15
21
  Exclude:
16
22
  - 'spec/spec_helper.rb'
data/.rubocop_todo.yml CHANGED
@@ -1,4 +1,4 @@
1
- Layout/IndentHeredoc:
1
+ Layout/HeredocIndentation:
2
2
  Exclude:
3
3
  - 'lib/circleci/bundle/update/pr.rb'
4
4
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- circleci-bundle-update-pr (1.17.0)
4
+ circleci-bundle-update-pr (1.19.0)
5
5
  compare_linker (>= 1.4.0)
6
6
  octokit
7
7
 
@@ -15,52 +15,54 @@ GEM
15
15
  httpclient
16
16
  octokit
17
17
  diff-lcs (1.3)
18
- faraday (0.15.4)
18
+ faraday (1.0.0)
19
19
  multipart-post (>= 1.2, < 3)
20
20
  httpclient (2.8.3)
21
- jaro_winkler (1.5.2)
21
+ jaro_winkler (1.5.4)
22
22
  multipart-post (2.1.1)
23
- octokit (4.14.0)
23
+ octokit (4.15.0)
24
+ faraday (>= 0.9)
24
25
  sawyer (~> 0.8.0, >= 0.5.3)
25
- parallel (1.17.0)
26
- parser (2.6.3.0)
26
+ parallel (1.19.1)
27
+ parser (2.7.0.2)
27
28
  ast (~> 2.4.0)
28
- public_suffix (4.0.1)
29
+ public_suffix (4.0.3)
29
30
  rainbow (3.0.0)
30
- rake (12.3.2)
31
- rspec (3.8.0)
32
- rspec-core (~> 3.8.0)
33
- rspec-expectations (~> 3.8.0)
34
- rspec-mocks (~> 3.8.0)
35
- rspec-core (3.8.1)
36
- rspec-support (~> 3.8.0)
37
- rspec-expectations (3.8.4)
31
+ rake (13.0.1)
32
+ rspec (3.9.0)
33
+ rspec-core (~> 3.9.0)
34
+ rspec-expectations (~> 3.9.0)
35
+ rspec-mocks (~> 3.9.0)
36
+ rspec-core (3.9.1)
37
+ rspec-support (~> 3.9.1)
38
+ rspec-expectations (3.9.0)
38
39
  diff-lcs (>= 1.2.0, < 2.0)
39
- rspec-support (~> 3.8.0)
40
- rspec-mocks (3.8.1)
40
+ rspec-support (~> 3.9.0)
41
+ rspec-mocks (3.9.1)
41
42
  diff-lcs (>= 1.2.0, < 2.0)
42
- rspec-support (~> 3.8.0)
43
- rspec-support (3.8.2)
44
- rubocop (0.71.0)
43
+ rspec-support (~> 3.9.0)
44
+ rspec-support (3.9.2)
45
+ rubocop (0.79.0)
45
46
  jaro_winkler (~> 1.5.1)
46
47
  parallel (~> 1.10)
47
- parser (>= 2.6)
48
+ parser (>= 2.7.0.1)
48
49
  rainbow (>= 2.2.2, < 4.0)
49
50
  ruby-progressbar (~> 1.7)
50
51
  unicode-display_width (>= 1.4.0, < 1.7)
51
- rubocop-rspec (1.33.0)
52
- rubocop (>= 0.60.0)
52
+ rubocop-rspec (1.37.1)
53
+ rubocop (>= 0.68.1)
53
54
  ruby-progressbar (1.10.1)
54
55
  sawyer (0.8.2)
55
56
  addressable (>= 2.3.5)
56
57
  faraday (> 0.8, < 2.0)
57
- unicode-display_width (1.6.0)
58
+ unicode-display_width (1.6.1)
58
59
 
59
60
  PLATFORMS
60
61
  ruby
61
62
  x86_64-darwin-16
62
63
  x86_64-darwin-17
63
64
  x86_64-darwin-18
65
+ x86_64-darwin-19
64
66
 
65
67
  DEPENDENCIES
66
68
  bundler
data/README.md CHANGED
@@ -189,7 +189,7 @@ jobs:
189
189
  run: |
190
190
  set -x
191
191
 
192
- export CIRCLE_BRANCH=$(echo $GITHUB_BRANCH | sed -e 's!refs/heads/!!g')
192
+ export CIRCLE_BRANCH=$(echo $GITHUB_REF | sed -e 's!refs/heads/!!g')
193
193
  export CIRCLE_PROJECT_USERNAME=$(echo $GITHUB_REPOSITORY | cut -d "/" -f 1)
194
194
  export CIRCLE_PROJECT_REPONAME=$(echo $GITHUB_REPOSITORY | cut -d "/" -f 2)
195
195
 
@@ -198,8 +198,6 @@ jobs:
198
198
  circleci-bundle-update-pr "${GIT_USER_NAME}" "${GIT_USER_EMAIL}"
199
199
  env:
200
200
  GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
201
- GITHUB_BRANCH: ${{ github.ref }}
202
- GITHUB_REPOSITORY: ${{ github.repository }}
203
201
  GIT_USER_NAME: "your name"
204
202
  GIT_USER_EMAIL: "ci@example.com"
205
203
  ```
@@ -117,7 +117,7 @@ module Circleci
117
117
  repo_full_name,
118
118
  [
119
119
  {
120
- path: 'Gemfile.lock',
120
+ path: lockfile_path,
121
121
  mode: '100644',
122
122
  type: 'blob',
123
123
  sha: lockfile_blob_sha
@@ -236,6 +236,19 @@ Powered by [circleci-bundle-update-pr](https://rubygems.org/gems/circleci-bundle
236
236
  @now ||= Time.now
237
237
  end
238
238
  private_class_method :now
239
+
240
+ # Get Gemfile.lock path relative to workdir
241
+ #
242
+ # @return [String]
243
+ def self.lockfile_path
244
+ workdir_env = ENV['CIRCLE_WORKING_DIRECTORY']
245
+ return 'Gemfile.lock' unless workdir_env
246
+
247
+ workdir = Pathname.new(workdir_env).expand_path
248
+ gemfile_lock = Pathname.new(File.expand_path('Gemfile.lock'))
249
+ gemfile_lock.relative_path_from(workdir).to_s
250
+ end
251
+ private_class_method :lockfile_path
239
252
  end
240
253
  end
241
254
  end
@@ -4,7 +4,7 @@ module Circleci
4
4
  module Bundle
5
5
  module Update
6
6
  module Pr
7
- VERSION = '1.17.0'
7
+ VERSION = '1.19.0'
8
8
  end
9
9
  end
10
10
  end
@@ -52,4 +52,65 @@ describe Circleci::Bundle::Update::Pr do
52
52
  it { is_expected.to be_falsy }
53
53
  end
54
54
  end
55
+
56
+ describe '.lockfile_path' do
57
+ subject { Circleci::Bundle::Update::Pr.send(:lockfile_path) }
58
+
59
+ let(:workdir_env) { Dir.getwd }
60
+
61
+ around do |e|
62
+ ENV['CIRCLE_WORKING_DIRECTORY'] = workdir_env
63
+ e.run
64
+ ENV['CIRCLE_WORKING_DIRECTORY'] = nil
65
+ end
66
+
67
+ context 'when Gemfile.lock is in the working dir' do
68
+ it { is_expected.to eq 'Gemfile.lock' }
69
+ end
70
+
71
+ context "when ENV['CIRCLE_WORKING_DIRECTORY'] is not set" do
72
+ let(:workdir_env) {}
73
+
74
+ it { is_expected.to eq 'Gemfile.lock' }
75
+ end
76
+
77
+ context "when ENV['CIRCLE_WORKING_DIRECTORY'] is relative path" do
78
+ let(:workdir_env) do
79
+ project_dir = Pathname.getwd.to_s
80
+ home_dir = Pathname.new(ENV['HOME']).to_s
81
+ project_dir.sub(home_dir, '~')
82
+ end
83
+ let(:src_dir) { 'spec/tmp' }
84
+
85
+ around do |e|
86
+ FileUtils.mkdir_p(src_dir)
87
+ FileUtils.touch("#{src_dir}/Gemfile.lock")
88
+ e.run
89
+ FileUtils.rm_rf(src_dir)
90
+ end
91
+
92
+ it 'is "spec/tmp/Gemfile.lock"' do
93
+ Dir.chdir(src_dir) do
94
+ expect(subject).to eq 'spec/tmp/Gemfile.lock'
95
+ end
96
+ end
97
+ end
98
+
99
+ context 'when Gemfile.lock is in a nested dir' do
100
+ let(:src_dir) { 'spec/tmp' }
101
+
102
+ around do |e|
103
+ FileUtils.mkdir_p(src_dir)
104
+ FileUtils.touch("#{src_dir}/Gemfile.lock")
105
+ e.run
106
+ FileUtils.rm_rf(src_dir)
107
+ end
108
+
109
+ it 'is "spec/tmp/Gemfile.lock"' do
110
+ Dir.chdir(src_dir) do
111
+ expect(subject).to eq 'spec/tmp/Gemfile.lock'
112
+ end
113
+ end
114
+ end
115
+ end
55
116
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: circleci-bundle-update-pr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Masuda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-27 00:00:00.000000000 Z
11
+ date: 2020-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: compare_linker
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubygems_version: 3.0.3
156
+ rubygems_version: 3.1.2
157
157
  signing_key:
158
158
  specification_version: 4
159
159
  summary: Provide continues bundle update using CircleCI