accesslint-ci 0.1.10 → 0.2.1
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 +4 -4
- data/.env.test +2 -1
- data/README.md +3 -5
- data/accesslint-ci.gemspec +5 -4
- data/lib/accesslint/ci/commenter.rb +26 -41
- data/lib/accesslint/ci/log_manager.rb +3 -1
- data/lib/accesslint/ci/version.rb +1 -1
- metadata +41 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f1db830fb2a79fb494a3989ca2617fd4754f05c
|
4
|
+
data.tar.gz: 58d1cea942713bae8067dd9925ea0285baef9a97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e88421d424996769be09d4dc30aeb9c13b0547a957bb01d61385279381dfce3b9aad93ca472b22e411c1ff5ed9eaca6ff9fdeb63542d76838b634789da4c3570
|
7
|
+
data.tar.gz: a795fdf4c7a53781d362b1506eb93c25b9f697d2f38bfbc318228bc8f0278dd0361cd57af82cbb95177cd0fe12213167954f2f095cd2641e8656b26775288aa8
|
data/.env.test
CHANGED
data/README.md
CHANGED
@@ -11,10 +11,7 @@ the pull request that initiated the build in CircleCI.
|
|
11
11
|
|
12
12
|
## Installation
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
1. `gem install accesslint-ci`
|
17
|
-
1. `accesslint-ci scan --skip-ci <url>`
|
14
|
+
1. Authenticate with GitHub at https://accesslint.com to get an API token.
|
18
15
|
|
19
16
|
### Circle CI
|
20
17
|
|
@@ -33,7 +30,8 @@ general:
|
|
33
30
|
machine:
|
34
31
|
environment:
|
35
32
|
CIRCLE_TOKEN: <CircleCI API token>
|
36
|
-
|
33
|
+
ACCESSLINT_TOKEN: <API token from https://accesslint.com>
|
34
|
+
ACCESSLINT_GITHUB_USER: <GitHub user authenticated at https://accesslint.com>
|
37
35
|
node:
|
38
36
|
version: 6.1.0
|
39
37
|
|
data/accesslint-ci.gemspec
CHANGED
@@ -20,11 +20,12 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.12"
|
23
|
-
spec.add_development_dependency "
|
23
|
+
spec.add_development_dependency "climate_control", "~> 0.0.3"
|
24
|
+
spec.add_development_dependency "dotenv", "~> 2.1.1"
|
25
|
+
spec.add_development_dependency "pry-byebug", "~> 3.3.0"
|
24
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
27
|
spec.add_development_dependency "rspec", "~> 3.0"
|
26
|
-
spec.add_development_dependency "dotenv"
|
27
28
|
|
28
|
-
spec.add_dependency "rest-client"
|
29
|
-
spec.add_dependency "thor"
|
29
|
+
spec.add_dependency "rest-client", "~> 2.0"
|
30
|
+
spec.add_dependency "thor", "~> 0.19"
|
30
31
|
end
|
@@ -3,79 +3,64 @@ require "rest-client"
|
|
3
3
|
module Accesslint
|
4
4
|
module Ci
|
5
5
|
class Commenter
|
6
|
+
class CommenterError < StandardError; end
|
7
|
+
|
6
8
|
def self.perform(*args)
|
7
9
|
new(*args).perform
|
8
10
|
end
|
9
11
|
|
10
|
-
def initialize(
|
11
|
-
@
|
12
|
+
def initialize(errors)
|
13
|
+
@errors = errors
|
12
14
|
end
|
13
15
|
|
14
16
|
def perform
|
15
|
-
RestClient.post(
|
17
|
+
RestClient.post(accesslint_service_url, body: payload)
|
18
|
+
rescue CommenterError => e
|
19
|
+
puts e.message
|
16
20
|
end
|
17
21
|
|
18
22
|
private
|
19
23
|
|
20
|
-
attr_reader :
|
21
|
-
|
22
|
-
def
|
23
|
-
@
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
)
|
24
|
+
attr_reader :errors
|
25
|
+
|
26
|
+
def accesslint_service_url
|
27
|
+
@accesslint_service_url ||= URI(
|
28
|
+
File.join([
|
29
|
+
"https://#{authentication}@accesslint.com/api/v1/projects/",
|
30
|
+
project_path,
|
31
|
+
"pulls",
|
32
|
+
pull_request_number,
|
33
|
+
"comments",
|
34
|
+
])
|
35
|
+
).to_s
|
32
36
|
end
|
33
37
|
|
34
|
-
def
|
35
|
-
"
|
38
|
+
def authentication
|
39
|
+
"#{ENV.fetch('ACCESSLINT_GITHUB_USER')}:#{ENV.fetch('ACCESSLINT_API_TOKEN')}"
|
36
40
|
end
|
37
41
|
|
38
42
|
def pull_request_number
|
39
43
|
if ENV["CI_PULL_REQUEST"]
|
40
44
|
ENV.fetch("CI_PULL_REQUEST").match(/(\d+)/)[0]
|
41
45
|
else
|
42
|
-
|
46
|
+
raise CommenterError.new("Failed to comment: missing CI_PULL_REQUEST.")
|
43
47
|
end
|
44
48
|
end
|
45
49
|
|
46
|
-
def pull_requests
|
47
|
-
@prs ||= JSON.parse(
|
48
|
-
RestClient.get(
|
49
|
-
"#{github_host}/pulls?head=#{pull_request_head}"
|
50
|
-
)
|
51
|
-
)
|
52
|
-
end
|
53
|
-
|
54
|
-
def pull_request_head
|
55
|
-
"#{ENV.fetch('CIRCLE_PROJECT_USERNAME')}:#{ENV.fetch('CIRCLE_BRANCH')}"
|
56
|
-
end
|
57
|
-
|
58
50
|
def payload
|
59
|
-
{
|
60
|
-
body: message,
|
61
|
-
}.to_json
|
51
|
+
{ errors: errors }.to_json
|
62
52
|
end
|
63
53
|
|
64
|
-
def
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
def snippet
|
69
|
-
diff.join("\n")
|
54
|
+
def github_user
|
55
|
+
ENV.fetch("CIRCLE_PROJECT_USERNAME")
|
70
56
|
end
|
71
57
|
|
72
58
|
def project_path
|
73
59
|
[
|
74
|
-
|
60
|
+
github_user,
|
75
61
|
ENV.fetch("CIRCLE_PROJECT_REPONAME"),
|
76
62
|
].join("/")
|
77
63
|
end
|
78
64
|
end
|
79
65
|
end
|
80
66
|
end
|
81
|
-
|
@@ -33,7 +33,9 @@ module Accesslint
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def artifacts
|
36
|
-
@artifacts ||= JSON.parse(
|
36
|
+
@artifacts ||= JSON.parse(
|
37
|
+
RestClient.get("#{artifacts_uri}?#{query}")
|
38
|
+
)
|
37
39
|
rescue RestClient::NotFound
|
38
40
|
raise MissingArtifactError.new("No existing artifacts.")
|
39
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: accesslint-ci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cameron Cundiff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -25,89 +25,103 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.12'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: climate_control
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.0.3
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.0.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: dotenv
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 2.1.1
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 2.1.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: pry-byebug
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 3.3.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 3.3.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '10.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '10.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rest-client
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- - "
|
101
|
+
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
103
|
+
version: '2.0'
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- - "
|
108
|
+
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
110
|
+
version: '2.0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: thor
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - "
|
115
|
+
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
117
|
+
version: '0.19'
|
104
118
|
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - "
|
122
|
+
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
124
|
+
version: '0.19'
|
111
125
|
description: accesslint-ci runs accessibility tests in CircleCI and comments on corresponding
|
112
126
|
GitHub pull requests
|
113
127
|
email:
|
@@ -159,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
159
173
|
version: '0'
|
160
174
|
requirements: []
|
161
175
|
rubyforge_project:
|
162
|
-
rubygems_version: 2.
|
176
|
+
rubygems_version: 2.6.8
|
163
177
|
signing_key:
|
164
178
|
specification_version: 4
|
165
179
|
summary: Run accessibility tests in CircleCI builds
|