danger 9.0.0 → 9.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/lib/danger/ci_source/appcircle.rb +83 -0
- data/lib/danger/ci_source/bitrise.rb +7 -7
- data/lib/danger/ci_source/circle.rb +1 -1
- data/lib/danger/ci_source/gitlab_ci.rb +1 -1
- data/lib/danger/ci_source/jenkins.rb +1 -1
- data/lib/danger/comment_generators/gitlab_inline.md.erb +1 -1
- data/lib/danger/danger_core/dangerfile.rb +1 -1
- data/lib/danger/danger_core/plugins/dangerfile_local_only_plugin.rb +1 -1
- data/lib/danger/request_sources/vsts_api.rb +2 -2
- data/lib/danger/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fc4bd35f1d805c6e3ef5b0467cd59281f0251c10b0580ebb138002e3b370e62
|
4
|
+
data.tar.gz: 29df2722f598ead34bee294304b60b3f6343c6147cce87054772aac2b40f1f2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 304581c49ae31baa62f135883e006536e993a824a6cea8a920a37d58b232ea3118eccf773ffc760281c8a49b70446b51b955c952379e9d41e12e9d9e9842a4d7
|
7
|
+
data.tar.gz: d68b392bcb4075b852cc988fdaa3e9e2fd3df080417dd31d1cb314bf9ec1a4f3af5fdf759f7f106e5071b60e48ae4affb78750ae58a43ecadb94d533d9e80d83
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) 2015-present Orta, Felix Krause
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# https://docs.appcircle.io/environment-variables/managing-variables
|
2
|
+
# https://docs.appcircle.io/build/build-profile-configuration#environment-variables-configuration
|
3
|
+
require "danger/request_sources/github/github"
|
4
|
+
require "danger/request_sources/gitlab"
|
5
|
+
module Danger
|
6
|
+
# ### CI Setup
|
7
|
+
#
|
8
|
+
# Add a Custom Script step to your workflow and set it as a bash:
|
9
|
+
#
|
10
|
+
# ```shell
|
11
|
+
# cd $AC_REPOSITORY_DIR
|
12
|
+
# bundle install
|
13
|
+
# bundle exec danger
|
14
|
+
# ```
|
15
|
+
# ### Token Setup
|
16
|
+
#
|
17
|
+
# Login to Appcircle and select your build profile. Go to your *Config* and
|
18
|
+
# choose *Environment Variables*.
|
19
|
+
# https://docs.appcircle.io/environment-variables/managing-variables
|
20
|
+
#
|
21
|
+
# #### GitHub
|
22
|
+
# Add the `DANGER_GITHUB_API_TOKEN` to your profile's ENV.
|
23
|
+
#
|
24
|
+
# #### GitLab
|
25
|
+
# Add the `DANGER_GITLAB_API_TOKEN` to your profile's ENV.
|
26
|
+
#
|
27
|
+
# #### Bitbucket Cloud
|
28
|
+
# Add the `DANGER_BITBUCKETSERVER_USERNAME`, `DANGER_BITBUCKETSERVER_PASSWORD`
|
29
|
+
# to your profile's ENV.
|
30
|
+
#
|
31
|
+
# #### Bitbucket server
|
32
|
+
# Add the `DANGER_BITBUCKETSERVER_USERNAME`, `DANGER_BITBUCKETSERVER_PASSWORD`
|
33
|
+
# and `DANGER_BITBUCKETSERVER_HOST` to your profile's ENV.
|
34
|
+
#
|
35
|
+
class Appcircle < CI
|
36
|
+
def self.validates_as_ci?(env)
|
37
|
+
env.key? "AC_APPCIRCLE"
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.validates_as_pr?(env)
|
41
|
+
return false unless env.key? "AC_PULL_NUMBER"
|
42
|
+
env["AC_PULL_NUMBER"].to_i > 0
|
43
|
+
end
|
44
|
+
|
45
|
+
def supported_request_sources
|
46
|
+
@supported_request_sources ||= [
|
47
|
+
Danger::RequestSources::GitHub,
|
48
|
+
Danger::RequestSources::BitbucketCloud,
|
49
|
+
Danger::RequestSources::BitbucketServer,
|
50
|
+
Danger::RequestSources::GitLab
|
51
|
+
]
|
52
|
+
end
|
53
|
+
|
54
|
+
def initialize(env)
|
55
|
+
self.pull_request_id = env["AC_PULL_NUMBER"]
|
56
|
+
self.repo_url = env["AC_GIT_URL"]
|
57
|
+
self.repo_slug = repo_slug_from(self.repo_url)
|
58
|
+
end
|
59
|
+
|
60
|
+
def repo_slug_from(url)
|
61
|
+
if url =~ URI::regexp
|
62
|
+
# Try to parse the URL as a valid URI. This should cover the cases of http/https/ssh URLs.
|
63
|
+
begin
|
64
|
+
uri = URI.parse(url)
|
65
|
+
return uri.path.sub(/^(\/)/,'').sub(/(.git)$/,'')
|
66
|
+
rescue URI::InvalidURIError
|
67
|
+
# In case URL could not be parsed fallback to git URL parsing.
|
68
|
+
repo_slug_asgiturl(url)
|
69
|
+
end
|
70
|
+
else
|
71
|
+
# In case URL could not be parsed fallback to git URL parsing. git@github.com:organization/repo.git
|
72
|
+
repo_slug_asgiturl(url)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def repo_slug_asgiturl(url)
|
77
|
+
matcher_url = url
|
78
|
+
repo_matches = matcher_url.match(%r{([\/:])(([^\/]+\/)+[^\/]+?)(\.git$|$)})[2]
|
79
|
+
return repo_matches unless repo_matches.nil?
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
@@ -19,13 +19,13 @@ module Danger
|
|
19
19
|
#
|
20
20
|
# Add the `DANGER_GITHUB_API_TOKEN` to your workflow's [Secret App Env Vars](https://blog.bitrise.io/anyone-even-prs-can-have-secrets).
|
21
21
|
#
|
22
|
-
# ### bitbucket server and
|
22
|
+
# ### bitbucket server and bitrise
|
23
23
|
#
|
24
|
-
# Danger will read the environment variable GIT_REPOSITORY_URL to construct the Bitbucket Server API URL
|
25
|
-
# finding the project and repo slug in the GIT_REPOSITORY_URL variable. This GIT_REPOSITORY_URL variable
|
26
|
-
# comes from the App Settings tab for your
|
27
|
-
# Git Clone Repo step, you may need to set adjust this
|
28
|
-
# The patterns used are `(%r{\.com/(.*)})` and `(%r{\.com:(.*)})` and .split(/\.git$|$/) to remove ".git" if the URL contains it.
|
24
|
+
# Danger will read the environment variable GIT_REPOSITORY_URL to construct the Bitbucket Server API URL
|
25
|
+
# finding the project and repo slug in the GIT_REPOSITORY_URL variable. This GIT_REPOSITORY_URL variable
|
26
|
+
# comes from the App Settings tab for your Bitrise App. If you are manually setting a repo URL in the
|
27
|
+
# Git Clone Repo step, you may need to set adjust this property in the settings tab, maybe even fake it.
|
28
|
+
# The patterns used are `(%r{\.com/(.*)})` and `(%r{\.com:(.*)})` and .split(/\.git$|$/) to remove ".git" if the URL contains it.
|
29
29
|
#
|
30
30
|
class Bitrise < CI
|
31
31
|
def self.validates_as_ci?(env)
|
@@ -48,7 +48,7 @@ module Danger
|
|
48
48
|
def initialize(env)
|
49
49
|
self.pull_request_id = env["BITRISE_PULL_REQUEST"]
|
50
50
|
self.repo_url = env["GIT_REPOSITORY_URL"]
|
51
|
-
|
51
|
+
|
52
52
|
matcher_url = self.repo_url
|
53
53
|
self.repo_slug = repo_slug_from(self.repo_url)
|
54
54
|
end
|
@@ -31,7 +31,7 @@ module Danger
|
|
31
31
|
# to retrieve PR metadata, which will require an API token.
|
32
32
|
#
|
33
33
|
# 1. Go to your project > Settings > API Permissions. Create a token with scope "view-builds" and a label like "DANGER_CIRCLE_CI_API_TOKEN".
|
34
|
-
# 2. Settings >
|
34
|
+
# 2. Settings > Environment Variables. Add the token as a CircleCI environment variable, which exposes it to the Danger process.
|
35
35
|
#
|
36
36
|
# There is no difference here for OSS vs Closed, both scenarios will need this environment variable.
|
37
37
|
#
|
@@ -48,7 +48,7 @@ module Danger
|
|
48
48
|
|
49
49
|
client_version = Gem::Version.new(client.version.version)
|
50
50
|
if (client_version >= Gem::Version.new("10.7"))
|
51
|
-
#Use the 'list merge requests associated with a commit' API, for
|
51
|
+
#Use the 'list merge requests associated with a commit' API, for speed
|
52
52
|
# (GET /projects/:id/repository/commits/:sha/merge_requests) available for GitLab >= 10.7
|
53
53
|
merge_request = client.commit_merge_requests(project_path, base_commit, state: :opened).first
|
54
54
|
if (client_version >= Gem::Version.new("13.8"))
|
@@ -31,7 +31,7 @@ module Danger
|
|
31
31
|
#
|
32
32
|
# #### General
|
33
33
|
#
|
34
|
-
# People occasionally see issues with Danger not classing your CI runs as a PR, to give you
|
34
|
+
# People occasionally see issues with Danger not classing your CI runs as a PR, to give you visibility
|
35
35
|
# the Jenkins side of Danger expects to see one of these env vars:
|
36
36
|
# - ghprbPullId
|
37
37
|
# - CHANGE_ID
|
@@ -17,5 +17,5 @@
|
|
17
17
|
<%= current %>
|
18
18
|
<%# the previous line has to be aligned far to the left, otherwise markdown can break easily %>
|
19
19
|
<%- end -%>
|
20
|
-
<%# Add the generated_by_ as a html
|
20
|
+
<%# Add the generated_by_ as a html comment to identify comments from danger. %>
|
21
21
|
<!-- "generated_by_<%= @danger_id %>" -->
|
@@ -3,7 +3,7 @@ require "danger/plugin_support/plugin"
|
|
3
3
|
# Danger
|
4
4
|
module Danger
|
5
5
|
# Handles interacting with local only plugin inside a Dangerfile.
|
6
|
-
# It is support
|
6
|
+
# It is support plugin for dry_run command and does not expose any methods.
|
7
7
|
# But you can still use other plugins like git
|
8
8
|
#
|
9
9
|
# @example Check that added lines contains agreed form of words
|
@@ -28,9 +28,9 @@ module Danger
|
|
28
28
|
|
29
29
|
def supports_comments?
|
30
30
|
major_version = @api_version.split(".").first.to_i
|
31
|
-
|
31
|
+
minimum_version_for_comments = self.min_api_version_for_comments.split(".").first.to_i
|
32
32
|
|
33
|
-
major_version >=
|
33
|
+
major_version >= minimum_version_for_comments
|
34
34
|
end
|
35
35
|
|
36
36
|
def inspect
|
data/lib/danger/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Orta Therox
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-11-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: claide
|
@@ -206,6 +206,7 @@ files:
|
|
206
206
|
- lib/assets/DangerfileTemplate
|
207
207
|
- lib/danger.rb
|
208
208
|
- lib/danger/ci_source/appcenter.rb
|
209
|
+
- lib/danger/ci_source/appcircle.rb
|
209
210
|
- lib/danger/ci_source/appveyor.rb
|
210
211
|
- lib/danger/ci_source/azure_pipelines.rb
|
211
212
|
- lib/danger/ci_source/bamboo.rb
|
@@ -343,7 +344,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
343
344
|
- !ruby/object:Gem::Version
|
344
345
|
version: '0'
|
345
346
|
requirements: []
|
346
|
-
|
347
|
+
rubyforge_project:
|
348
|
+
rubygems_version: 2.7.6.2
|
347
349
|
signing_key:
|
348
350
|
specification_version: 4
|
349
351
|
summary: Like Unit Tests, but for your Team Culture.
|