danger 9.0.0 → 9.1.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 +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.
|