circleci-bundle-update-pr 1.4.0 → 1.5.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
  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