circleci-bundle-update-pr 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b17fc21726a6f08a46ee8b2ba9fe1dbb7300e89
4
- data.tar.gz: c18fb17e6b0cdef978b26f86df546df11470a02b
3
+ metadata.gz: ec15a9ea284e113041573a7ee82f8aad3e5ad3dc
4
+ data.tar.gz: 9058ee5035d097cdb0e534a39072b2c1ef400023
5
5
  SHA512:
6
- metadata.gz: 739732231816ab278a7423b01552b837e103d5fbb2f644389c0d6b9682cf8aa7ce5d60891679d4898ae0e0b6bc4881461eeb6592a04dc915c7c03e6d6783067d
7
- data.tar.gz: 1b1ff33a379e207620b9b3082d473bab23726a69692d74809ea1044ce6c135e054e1327fc02ea3e0a45fc6f048467bd0595ba0210277d5a1846a3de7b26add63
6
+ metadata.gz: b0aaf83bd78161760d3aef76081e543e5660cd5b417b10e82acb3434ad815d7dadb5f33d09e358f0fad85ca8bd213cb47c76d6aff5432bfb69280d9880b37022
7
+ data.tar.gz: fa8f7d28460191166be8daa72f3c9966e955b1823d634d1d592fac556dab0470ac1402733ca128e598e107e86dbe979cf532fe04c4651f8e5284702b133e86a4
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- circleci-bundle-update-pr (1.4.0)
4
+ circleci-bundle-update-pr (1.5.0)
5
5
  compare_linker
6
6
  octokit (~> 3.8)
7
7
 
@@ -9,12 +9,12 @@ GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  addressable (2.3.8)
12
- compare_linker (1.2.1)
12
+ compare_linker (1.3.0)
13
13
  httpclient
14
14
  octokit
15
15
  faraday (0.9.2)
16
16
  multipart-post (>= 1.2, < 3)
17
- httpclient (2.7.1)
17
+ httpclient (2.8.2.4)
18
18
  multipart-post (2.0.0)
19
19
  octokit (3.8.0)
20
20
  sawyer (~> 0.6.0, >= 0.5.3)
@@ -32,4 +32,4 @@ DEPENDENCIES
32
32
  rake (~> 10.0)
33
33
 
34
34
  BUNDLED WITH
35
- 1.12.5
35
+ 1.13.1
data/README.md CHANGED
@@ -1,30 +1,95 @@
1
1
  # Circleci::Bundle::Update::Pr [![Gem Version][gem-badge]][gem-link]
2
2
 
3
- circleci-bundle-update-pr is a script for continues bundle update. Use in CircleCI
3
+ circleci-bundle-update-pr is an automation script for continuous bundle update and for sending a pull request via CircleCI [Nightly builds](https://circleci.com/docs/nightly-builds/).
4
+
5
+ By requesting a nightly build to CircleCI with an environment variable configured in `circle.yml` to execute this script, bundle update is invoked, then commit changes and send a pull request to GitHub repository if there some changes exist.
4
6
 
5
7
  ## Installation
6
8
 
7
- Add this line to your application's Gemfile:
9
+ ```
10
+ $ gem install circleci-bundle-update-pr
11
+ ```
12
+
13
+ ## Prerequisites
14
+
15
+ The application on which you want to run continuous bundle update must be configured to be built on CircleCI.
16
+
17
+ ## Usage
18
+
19
+ ### Setting GitHub personal access token to CircleCI
20
+
21
+ GitHub personal access token is required for sending pull requests to your repository.
22
+
23
+ 1. Go to [your account's settings page](https://github.com/settings/tokens) and generate a personal access token with "repo" scope
24
+ 2. On CircleCI dashboard, go to your application's "Project Settings" -> "Environment Variables"
25
+ 3. Add an environment variable `GITHUB_ACCESS_TOKEN` with your GitHub personal access token
26
+
27
+ ### Getting CircleCI API token
28
+
29
+ CircleCI API token is required to trigger nightly builds.
30
+
31
+ 1. Go to your application's "Project Settings" -> "API Permissions"
32
+ 2. Select "Create Token" and create a new token with "All" scope and any label you like
33
+
34
+ ### Configure circle.yml
35
+
36
+ Configure your `circle.yml` to run `circleci-bundle-update-pr` if `BUNDLE_UPDATE` environment variable is present, for example:
8
37
 
9
- ```ruby
10
- gem 'circleci-bundle-update-pr'
38
+ ```yaml
39
+ deployment:
40
+ production:
41
+ branch: master
42
+ commands:
43
+ - |
44
+ if [ "${BUNDLE_UPDATE}" ] ; then
45
+ gem update bundler --no-document
46
+ gem install circleci-bundle-update-pr
47
+ circleci-bundle-update-pr <username> <email>
48
+ fi
11
49
  ```
12
50
 
13
- And then execute:
51
+ NOTE: Please make sure you replace `<username>` and `<email>` with yours.
14
52
 
15
- $ bundle
53
+ ### Trigger nightly build API via curl
16
54
 
17
- Or install it yourself as:
55
+ The easiest way to start a nightly build is using curl. The below is a simple script to trigger a build.
18
56
 
19
- $ gem install circleci-bundle-update-pr
57
+ ```bash
58
+ _project=<username>/<reponame>
59
+ _branch=master
60
+ _circle_token=<ciecleci api token>
20
61
 
21
- ## Usage
62
+ trigger_build_url=https://circleci.com/api/v1/project/${_project}/tree/${_branch}?circle-token=${_circle_token}
63
+
64
+ post_data='{ "build_parameters": { "BUNDLE_UPDATE": "true" } }'
65
+
66
+ curl \
67
+ --header "Accept: application/json" \
68
+ --header "Content-Type: application/json" \
69
+ --data "${post_data}" \
70
+ --request POST ${trigger_build_url}
71
+ ```
72
+
73
+ NOTE: Please do not forget to replace `<username>/<reponame>/<circleci api token>` with yours.
74
+
75
+
76
+ ### Trigger nightly build via ci-bundle-update (recommended)
22
77
 
23
- $ circleci-bundle-update-pr 'Git username' 'Git email address'
78
+ While you can trigger nightly builds by using whatever you want for sending requests to API, the most recommended way is to use "ci-bundle-update". Please see https://github.com/masutaka/ci-bundle-update for details.
79
+
80
+ ## CLI command references
81
+
82
+ General usage:
83
+
84
+ ```
85
+ $ circleci-bundle-update-pr <git username> <git email address>
86
+ ```
24
87
 
25
88
  By default, it works only on master branch, but you can also explicitly specify any branches rather than only master branch by adding them to the arguments.
26
89
 
27
- $ circleci-bundle-update-pr 'Git username' 'Git email address' master develop topic
90
+ ```
91
+ $ circleci-bundle-update-pr <git username> <git email address> master develop topic
92
+ ```
28
93
 
29
94
  ## Contributing
30
95
 
@@ -55,6 +55,8 @@ module Circleci
55
55
  compare_linker.formatter = CompareLinker::Formatter::Markdown.new
56
56
 
57
57
  comment = <<-EOC
58
+ **Updated RubyGems:**
59
+
58
60
  #{compare_linker.make_compare_links.to_a.join("\n")}
59
61
 
60
62
  Powered by [compare_linker](https://rubygems.org/gems/compare_linker)
@@ -2,7 +2,7 @@ module Circleci
2
2
  module Bundle
3
3
  module Update
4
4
  module Pr
5
- VERSION = "1.4.0"
5
+ VERSION = "1.5.0"
6
6
  end
7
7
  end
8
8
  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.4.0
4
+ version: 1.5.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: 2016-06-07 00:00:00.000000000 Z
11
+ date: 2016-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit