git-pr-release 1.9.0 → 2.0.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: af2e7e05f02c6332bb6d9387656365f71d87fc05497586d42ec843d7ea68dc39
4
- data.tar.gz: 43022545e4eca298c534290af2945c86a7fc16999988cc9c70dda111e1ffa9c3
3
+ metadata.gz: b8bcbbdbe3dfb5b6783306e29dad9c919d86264ea185742aeb07b91d141ac247
4
+ data.tar.gz: 1d67e25f3acde325baf9a1103ecc619011486847def7e561aa620f9b0f538c9f
5
5
  SHA512:
6
- metadata.gz: 77a6a014d70cd7e38624accb771823546864b8bd5c6b3db0eebf3227f8779f73c881cbf330f9e04b62e3cff57186c95c960a8d8ead1db1ce22df6cf26c6d49c5
7
- data.tar.gz: fcc864139b09acca3236053832c6cdea2971d6ffe0bbd24e387d6d00ed47852b891d02a878d002d0f93cf4ac31b75dc6220846a281b83bc7fd8dc980924ee058
6
+ metadata.gz: 602b5171e7b0a0160555632b19ff35af9ca7bf9c6d560d4364d8251b661cc205b51f645c15d33db701c623817f5ad31c6e307781178a6103582f35f001b06fb1
7
+ data.tar.gz: 1fad3d9128cc3d982ceb426045013566967d53df7c25364d8b256562863286384b297bbcf14aa0df4acaa81b945e3c570ddef7559c30dbff2a5fe77a41231141
@@ -0,0 +1,47 @@
1
+ name: test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ schedule:
9
+ - cron: "0 0 * * *" # JST 09:00
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-latest
14
+ container: ${{ matrix.ruby }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ ruby:
19
+ - ruby:2.6
20
+ - ruby:2.7
21
+ - ruby:3.0
22
+ - rubylang/ruby:master-nightly-bionic
23
+ include:
24
+ - ruby: rubylang/ruby:master-nightly-bionic
25
+ allow_failures: "true"
26
+
27
+ steps:
28
+ - uses: actions/checkout@v2
29
+ - name: Cache vendor/bundle
30
+ uses: actions/cache@v2
31
+ with:
32
+ path: vendor/bundle
33
+ key: v1-gem-${{ runner.os }}-${{ matrix.ruby }}-${{ github.sha }}
34
+ restore-keys: |
35
+ v1-gem-${{ runner.os }}-${{ matrix.ruby }}-
36
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
37
+ - name: bundle update
38
+ run: |
39
+ set -xe
40
+ bundle config path vendor/bundle
41
+ bundle update --jobs $(nproc) --retry 3
42
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
43
+ - name: Run ${{ matrix.test_framework }}
44
+ run: |
45
+ set -xe
46
+ bundle exec rspec
47
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # git-pr-release
2
2
 
3
+ ## v2.0.0 (2022-02-17)
4
+
5
+ [full changelog](https://github.com/x-motemen/git-pr-release/compare/v1.9.0...v2.0.0)
6
+
7
+ * (#69) remove duplicated PR entries at squash (@Yuki-Inoue)
8
+ * (#70) [Spec] Fix spec for build_pr_title_and_body (@yutailang0119)
9
+ * (#71) Introduce CI (@ohbarye)
10
+ * (#73) (#74) Use `YAML.unsafe_load_file` instead of `YAML.load_file` (@ohbarye)
11
+
3
12
  ## v1.9.0 (2021-08-04)
4
13
 
5
14
  [full changelog](https://github.com/x-motemen/git-pr-release/compare/v1.8.0...v1.9.0)
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "git-pr-release"
7
- spec.version = '1.9.0'
7
+ spec.version = '2.0.0'
8
8
  spec.authors = ["motemen"]
9
9
  spec.email = ["motemen@gmail.com"]
10
10
  spec.summary = 'Creates a release pull request'
@@ -87,7 +87,7 @@ module Git
87
87
 
88
88
  merged_pull_request_numbers = @squashed ? fetch_merged_pr_numbers_from_github : fetch_merged_pr_numbers_from_git_remote
89
89
 
90
- merged_prs = merged_pull_request_numbers.sort.map do |nr|
90
+ merged_prs = merged_pull_request_numbers.uniq.sort.map do |nr|
91
91
  pr = client.pull_request repository, nr
92
92
  say "To be released: ##{pr.number} #{pr.title}", :notice
93
93
  pr
@@ -36,8 +36,8 @@ RSpec.describe Git::Pr::Release::CLI do
36
36
  conn.builder.handlers.delete(Faraday::Adapter::NetHttp)
37
37
  conn.adapter(:test, Faraday::Adapter::Test::Stubs.new)
38
38
  end
39
- pr_3 = Sawyer::Resource.new(agent, YAML.load_file(file_fixture("pr_3.yml")))
40
- pr_4 = Sawyer::Resource.new(agent, YAML.load_file(file_fixture("pr_4.yml")))
39
+ pr_3 = Sawyer::Resource.new(agent, load_yaml("pr_3.yml"))
40
+ pr_4 = Sawyer::Resource.new(agent, load_yaml("pr_4.yml"))
41
41
  [pr_3, pr_4]
42
42
  }
43
43
  it {
@@ -219,8 +219,8 @@ RSpec.describe Git::Pr::Release::CLI do
219
219
  }
220
220
 
221
221
  client = double(Octokit::Client)
222
- @pr_3 = Sawyer::Resource.new(agent, YAML.load_file(file_fixture("pr_3.yml")))
223
- @pr_4 = Sawyer::Resource.new(agent, YAML.load_file(file_fixture("pr_4.yml")))
222
+ @pr_3 = Sawyer::Resource.new(agent, load_yaml("pr_3.yml"))
223
+ @pr_4 = Sawyer::Resource.new(agent, load_yaml("pr_4.yml"))
224
224
  expect(client).to receive(:pull_request).with("motemen/git-pr-release", 3) { @pr_3 }
225
225
  expect(client).to receive(:pull_request).with("motemen/git-pr-release", 4) { @pr_4 }
226
226
  allow(@cli).to receive(:client).with(no_args) { client }
@@ -241,8 +241,8 @@ RSpec.describe Git::Pr::Release::CLI do
241
241
  end
242
242
 
243
243
  @merged_prs = [
244
- Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_3.yml"))),
245
- Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_4.yml"))),
244
+ Sawyer::Resource.new(@agent, load_yaml("pr_3.yml")),
245
+ Sawyer::Resource.new(@agent, load_yaml("pr_4.yml")),
246
246
  ]
247
247
 
248
248
  allow(@cli).to receive(:detect_existing_release_pr) { existing_release_pr }
@@ -261,7 +261,7 @@ RSpec.describe Git::Pr::Release::CLI do
261
261
 
262
262
  context "When create_mode" do
263
263
  before {
264
- @created_pr = Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_1.yml")))
264
+ @created_pr = Sawyer::Resource.new(@agent, load_yaml("pr_1.yml"))
265
265
  allow(@cli).to receive(:prepare_release_pr) { @created_pr }
266
266
  }
267
267
 
@@ -301,7 +301,7 @@ RSpec.describe Git::Pr::Release::CLI do
301
301
 
302
302
  context "When dry_run with create_mode" do
303
303
  before {
304
- @created_pr = Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_1.yml")))
304
+ @created_pr = Sawyer::Resource.new(@agent, load_yaml("pr_1.yml"))
305
305
  allow(@cli).to receive(:prepare_release_pr) { @created_pr }
306
306
 
307
307
  @cli.instance_variable_set(:@dry_run, true)
@@ -8,13 +8,13 @@ RSpec.describe Git::Pr::Release do
8
8
  conn.builder.handlers.delete(Faraday::Adapter::NetHttp)
9
9
  conn.adapter :test, @stubs
10
10
  end
11
- @release_pr = Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_1.yml")))
11
+ @release_pr = Sawyer::Resource.new(@agent, load_yaml("pr_1.yml"))
12
12
  @merged_prs = [
13
- Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_3.yml"))),
14
- Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_6.yml"))),
13
+ Sawyer::Resource.new(@agent, load_yaml("pr_3.yml")),
14
+ Sawyer::Resource.new(@agent, load_yaml("pr_6.yml")),
15
15
  ]
16
16
  @changed_files = [
17
- Sawyer::Resource.new(@agent, YAML.load_file(file_fixture("pr_1_files.yml"))),
17
+ Sawyer::Resource.new(@agent, load_yaml("pr_1_files.yml")),
18
18
  ]
19
19
  end
20
20
 
@@ -24,8 +24,8 @@ RSpec.describe Git::Pr::Release do
24
24
  pr_title, new_body = build_pr_title_and_body(@release_pr, @merged_prs, @changed_files, nil)
25
25
  expect(pr_title).to eq "Release 2019-02-20 22:58:35 +0900"
26
26
  expect(new_body).to eq <<~MARKDOWN
27
- - [ ] #3 Provides a creating release pull-request object for template @hakobe
28
- - [ ] #6 Support two factor auth @ninjinkun
27
+ - [ ] #3 @hakobe
28
+ - [ ] #6 @ninjinkun
29
29
  MARKDOWN
30
30
  }
31
31
  end
@@ -1,4 +1,12 @@
1
1
  module FileFixtureSupport
2
+ def load_yaml(fixture_name)
3
+ if YAML.respond_to?(:unsafe_load_file)
4
+ YAML.unsafe_load_file(file_fixture(fixture_name))
5
+ else
6
+ YAML.load_file(file_fixture(fixture_name))
7
+ end
8
+ end
9
+
2
10
  def file_fixture(fixture_name)
3
11
  file_fixture_path = RSpec.configuration.file_fixture_path
4
12
  path = Pathname.new(File.join(file_fixture_path, fixture_name))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-pr-release
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - motemen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-04 00:00:00.000000000 Z
11
+ date: 2022-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit
@@ -117,6 +117,7 @@ executables:
117
117
  extensions: []
118
118
  extra_rdoc_files: []
119
119
  files:
120
+ - ".github/workflows/test.yml"
120
121
  - ".gitignore"
121
122
  - ".rspec"
122
123
  - CHANGELOG.md
@@ -162,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
163
  - !ruby/object:Gem::Version
163
164
  version: '0'
164
165
  requirements: []
165
- rubygems_version: 3.3.0.dev
166
+ rubygems_version: 3.4.0.dev
166
167
  signing_key:
167
168
  specification_version: 4
168
169
  summary: Creates a release pull request