danger-spm_version_updates 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +1 -1
  4. data/danger-spm_version_updates.gemspec +1 -1
  5. data/lib/spm_version_updates/gem_version.rb +1 -1
  6. data/lib/spm_version_updates/git.rb +56 -0
  7. data/lib/spm_version_updates/plugin.rb +14 -102
  8. data/lib/spm_version_updates/xcode.rb +67 -0
  9. metadata +4 -29
  10. data/.editorconfig +0 -15
  11. data/.github/workflows/docs.yml +0 -43
  12. data/.github/workflows/lint_and_test.yml +0 -32
  13. data/.github/workflows/push_gem.yml +0 -26
  14. data/.github/workflows/readme.yml +0 -21
  15. data/.gitignore +0 -136
  16. data/.idea/.gitignore +0 -8
  17. data/.idea/danger-plugin-spm-version-updates.iml +0 -130
  18. data/.idea/misc.xml +0 -4
  19. data/.idea/modules.xml +0 -8
  20. data/.idea/vcs.xml +0 -6
  21. data/.markdownlint.jsonc +0 -6
  22. data/.reek.yml +0 -129
  23. data/.rubocop.yml +0 -508
  24. data/spec/spec_helper.rb +0 -61
  25. data/spec/spm_version_updates_spec.rb +0 -194
  26. data/spec/support/fixtures/Branch.xcodeproj/project.pbxproj +0 -80
  27. data/spec/support/fixtures/Branch.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  28. data/spec/support/fixtures/ExactVersion.xcodeproj/project.pbxproj +0 -80
  29. data/spec/support/fixtures/ExactVersion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  30. data/spec/support/fixtures/NoResolvedVersion.xcodeproj/project.pbxproj +0 -80
  31. data/spec/support/fixtures/NoResolvedVersion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -256
  32. data/spec/support/fixtures/UpToNextMajor.xcodeproj/project.pbxproj +0 -80
  33. data/spec/support/fixtures/UpToNextMajor.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  34. data/spec/support/fixtures/VersionRange.xcodeproj/project.pbxproj +0 -81
  35. data/spec/support/fixtures/VersionRange.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  36. data/spec/support/fixtures/github_pr.json +0 -268
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f3edb5f215f830ec9996754f188804ca79629de571e3f6d5d462c4e6a78f4ed
4
- data.tar.gz: cc4e01f131130d1564fc0e5e65d64ff2f0ebe9beeae315c303117a932e805bd8
3
+ metadata.gz: 45434b8470d53708ee3261e6415b61eb6ca22dd4c3bd2080cbb0f28014c48276
4
+ data.tar.gz: c41a9d67f408fdaeaec72bdca65a8b0abefd998c0e852d9ce1f4c4ed76bda79c
5
5
  SHA512:
6
- metadata.gz: 45ac718c4f0506e142277fcbe61a1fe6879bc0e0e49b760d240941076418cb0d7ccc491fa89e1e57b6bb203381e6557032ee45bf87c900821151ab4c356d5ccc
7
- data.tar.gz: 40045fcf48475db57dec502b84934adfaea9c3a2d73794df73799d963d5d16d115e877fd54fe4cb8de3d9576e910f2ea93187709c0df11e9c0b50149843a8690
6
+ metadata.gz: 949714767a85ebbf99c10aa1e8b424344a54a0cd3d8c7e1dcaae759b3f656a92f45b6df6adf9bf90468448f80636025ec659758c9309bf1a3c723f2c24ccfe18
7
+ data.tar.gz: 75e265f2a49a1efddae3c0272818ef67e2254739ce100bf3551306e670fe0e7e9fc5b608a49e91aa7b218bde1a92ae2d856ee87bd8e58276d4d01d53e18932ee
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- danger-spm_version_updates (0.1.2)
4
+ danger-spm_version_updates (0.1.3)
5
5
  danger-plugin-api (~> 1.0)
6
6
  semantic (~> 1.6)
7
7
  xcodeproj (~> 1.24)
data/README.md CHANGED
@@ -45,7 +45,7 @@ spm_version_updates.report_above_maximum = true
45
45
  # Whether to report pre-release versions, default false
46
46
  spm_version_updates.report_pre_releases = true
47
47
 
48
- # A list of repositories to ignore entirely, must exactly match the URL as configured in the Xcode project
48
+ # A list of repository URLs for packages to ignore entirely
49
49
  spm_version_updates.ignore_repos = ["https://github.com/pointfreeco/swift-snapshot-testing"]
50
50
  ```
51
51
 
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.license = "MIT"
16
16
  spec.required_ruby_version = ">= 3.0"
17
17
 
18
- spec.files = `git ls-files`.split($/)
18
+ spec.files = Dir['lib/*'] + Dir['lib/**/*'] + Dir['*']
19
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
  spec.metadata["rubygems_mfa_required"] = "true"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SpmVersionUpdates
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Git
4
+ # Removes protocol and trailing .git from a repo URL
5
+ # @param [String] repo_url
6
+ # The URL of the repository
7
+ # @return [String]
8
+ def self.trim_repo_url(repo_url)
9
+ repo_url.split("://").last.gsub(/\.git$/, "")
10
+ end
11
+
12
+ # Extract a readable name for the repo given the url, generally org/repo
13
+ # @return [String]
14
+ def self.repo_name(repo_url)
15
+ match = repo_url.match(%r{([\w-]+/[\w-]+)(.git)?$})
16
+
17
+ if match
18
+ match[1] || match[0]
19
+ else
20
+ repo_url
21
+ end
22
+ end
23
+
24
+ # Call git to list tags
25
+ # @param [String] repo_url
26
+ # The URL of the dependency's repository
27
+ # @return [Array<Semantic::Version>]
28
+ def self.version_tags(repo_url)
29
+ versions = `git ls-remote -t #{repo_url}`
30
+ .split("\n")
31
+ .map { |line| line.split("/tags/").last }
32
+ .filter_map { |line|
33
+ begin
34
+ Semantic::Version.new(line)
35
+ rescue ArgumentError
36
+ nil
37
+ end
38
+ }
39
+ versions.sort!
40
+ versions.reverse!
41
+ versions
42
+ end
43
+
44
+ # Call git to find the last commit on a branch
45
+ # @param [String] repo_url
46
+ # The URL of the dependency's repository
47
+ # @param [String] branch_name
48
+ # The name of the branch on which to find the last commit
49
+ # @return [String]
50
+ def self.branch_last_commit(repo_url, branch_name)
51
+ `git ls-remote -h #{repo_url}`
52
+ .split("\n")
53
+ .find { |line| line.split("\trefs/heads/")[1] == branch_name }
54
+ .split("\trefs/heads/")[0]
55
+ end
56
+ end
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "semantic"
4
- require "xcodeproj"
4
+ require_relative "git"
5
+ require_relative "xcode"
5
6
 
6
7
  module Danger
7
8
  # A Danger plugin for checking if there are versions upgrades available for SPM dependencies
@@ -25,38 +26,42 @@ module Danger
25
26
  # @return [Boolean]
26
27
  attr_accessor :report_pre_releases
27
28
 
28
- # A list of repositories to ignore entirely, must exactly match the URL as configured in the Xcode project
29
+ # A list of repository URLs for packages to ignore entirely
29
30
  # @return [Array<String>]
30
31
  attr_accessor :ignore_repos
31
32
 
32
33
  # A method that you can call from your Dangerfile
33
34
  # @param [String] xcodeproj_path
34
35
  # The path to your Xcode project
36
+ # @raise [XcodeprojPathMustBeSet] if the xcodeproj_path is blank
35
37
  # @return [void]
36
38
  def check_for_updates(xcodeproj_path)
37
- remote_packages = get_remote_package(xcodeproj_path)
38
- resolved_versions = get_resolved_versions(xcodeproj_path)
39
+ remote_packages = Xcode.get_packages(xcodeproj_path)
40
+ resolved_versions = Xcode.get_resolved_versions(xcodeproj_path)
41
+ $stderr.puts("Found resolved versions for #{resolved_versions.size} packages")
42
+
43
+ self.ignore_repos = self.ignore_repos&.map! { |repo| Git.trim_repo_url(repo) }
39
44
 
40
45
  remote_packages.each { |repository_url, requirement|
41
- next if ignore_repos&.include?(repository_url)
46
+ next if self.ignore_repos&.include?(repository_url)
42
47
 
43
- name = repo_name(repository_url)
48
+ name = Git.repo_name(repository_url)
44
49
  resolved_version = resolved_versions[repository_url]
45
50
  kind = requirement["kind"]
46
51
 
47
52
  if resolved_version.nil?
48
- $stderr.puts("Unable to locate the current version for #{name} (#{repository_url}) in #{find_packages_resolved_file(xcodeproj_path)}")
53
+ $stderr.puts("Unable to locate the current version for #{name} (#{repository_url})")
49
54
  next
50
55
  end
51
56
 
52
57
  if kind == "branch"
53
58
  branch = requirement["branch"]
54
- last_commit = git_branch_last_commit(repository_url, branch)
59
+ last_commit = Git.branch_last_commit(repository_url, branch)
55
60
  warn("Newer commit available for #{name} (#{branch}): #{last_commit}") unless last_commit == resolved_version
56
61
  next
57
62
  end
58
63
 
59
- available_versions = git_versions(repository_url)
64
+ available_versions = Git.version_tags(repository_url)
60
65
  next if available_versions.first.to_s == resolved_version
61
66
 
62
67
  if kind == "exactVersion" && @check_when_exact
@@ -71,60 +76,6 @@ module Danger
71
76
  }
72
77
  end
73
78
 
74
- # Extracts remote packages from an Xcode project
75
- # @param [String] xcodeproj_path
76
- # The path to your Xcode project
77
- # @return [Hash<String, Hash>]
78
- def get_remote_package(xcodeproj_path)
79
- raise(XcodeprojPathMustBeSet) if xcodeproj_path.nil?
80
-
81
- filter_remote_packages(Xcodeproj::Project.open(xcodeproj_path))
82
- end
83
-
84
- # Extracts resolved versions from Package.resolved relative to an Xcode project
85
- # @param [String] xcodeproj_path
86
- # The path to your Xcode project
87
- # @return [Hash<String, String>]
88
- def get_resolved_versions(xcodeproj_path)
89
- resolved_path = find_packages_resolved_file(xcodeproj_path)
90
- raise(CouldNotFindResolvedFile) unless File.exist?(resolved_path)
91
-
92
- JSON.load_file!(resolved_path)["pins"]
93
- .to_h { |pin| [pin["location"], pin["state"]["version"] || pin["state"]["revision"]] }
94
- end
95
-
96
- # Extract a readable name for the repo given the url, generally org/repo
97
- # @return [String]
98
- def repo_name(repo_url)
99
- match = repo_url.match(%r{([\w-]+/[\w-]+)(.git)?$})
100
-
101
- if match
102
- match[1] || match[0]
103
- else
104
- repo_url
105
- end
106
- end
107
-
108
- # Find the configured SPM dependencies in the xcodeproj
109
- # @return [Hash<String, Hash>]
110
- def filter_remote_packages(project)
111
- project.objects.select { |obj|
112
- obj.kind_of?(Xcodeproj::Project::Object::XCRemoteSwiftPackageReference) &&
113
- obj.requirement["kind"] != "commit"
114
- }
115
- .to_h { |package| [package.repositoryURL, package.requirement] }
116
- end
117
-
118
- # Find the Packages.resolved file
119
- # @return [String]
120
- def find_packages_resolved_file(xcodeproj_path)
121
- if Dir.exist?(xcodeproj_path.sub("xcodeproj", "xcworkspace"))
122
- File.join(xcodeproj_path.sub("xcodeproj", "xcworkspace"), "xcshareddata", "swiftpm", "Package.resolved")
123
- else
124
- File.join(xcodeproj_path, "project.xcworkspace", "xcshareddata", "swiftpm", "Package.resolved")
125
- end
126
- end
127
-
128
79
  private
129
80
 
130
81
  def warn_for_new_versions_exact(available_versions, name, resolved_version)
@@ -173,44 +124,5 @@ Newest version of #{name}: #{available_versions.first} (but this package is conf
173
124
  TEXT
174
125
  ) unless newest_above_reqs == newest_meeting_reqs || newest_meeting_reqs.to_s == resolved_version
175
126
  end
176
-
177
- # Call git to list tags
178
- # @param [String] repo_url
179
- # The URL of the dependency's repository
180
- # @return [Array<Semantic::Version>]
181
- def git_versions(repo_url)
182
- versions = `git ls-remote -t #{repo_url}`
183
- .split("\n")
184
- .map { |line| line.split("/tags/").last }
185
- .filter_map { |line|
186
- begin
187
- Semantic::Version.new(line)
188
- rescue ArgumentError
189
- nil
190
- end
191
- }
192
- versions.sort!
193
- versions.reverse!
194
- versions
195
- end
196
-
197
- # Calkl git to find the last commit on a branch
198
- # @param [String] repo_url
199
- # The URL of the dependency's repository
200
- # @param [String] branch_name
201
- # The name of the branch on which to find the last commit
202
- # @return [String]
203
- def git_branch_last_commit(repo_url, branch_name)
204
- `git ls-remote -h #{repo_url}`
205
- .split("\n")
206
- .find { |line| line.split("\trefs/heads/")[1] == branch_name }
207
- .split("\trefs/heads/")[0]
208
- end
209
- end
210
-
211
- class XcodeprojPathMustBeSet < StandardError
212
- end
213
-
214
- class CouldNotFindResolvedFile < StandardError
215
127
  end
216
128
  end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "xcodeproj"
4
+
5
+ module Xcode
6
+ # Find the configured SPM dependencies in the xcodeproj
7
+ # @param [String] xcodeproj_path
8
+ # The path of the Xcode project
9
+ # @return [Hash<String, Hash>]
10
+ def self.get_packages(xcodeproj_path)
11
+ raise(XcodeprojPathMustBeSet) if xcodeproj_path.nil? || xcodeproj_path.empty?
12
+
13
+ project = Xcodeproj::Project.open(xcodeproj_path)
14
+ project.objects.select { |obj|
15
+ obj.kind_of?(Xcodeproj::Project::Object::XCRemoteSwiftPackageReference) &&
16
+ obj.requirement["kind"] != "commit"
17
+ }
18
+ .to_h { |package|
19
+ [Git.trim_repo_url(package.repositoryURL), package.requirement]
20
+ }
21
+ end
22
+
23
+ # Extracts resolved versions from Package.resolved relative to an Xcode project
24
+ # @param [String] xcodeproj_path
25
+ # The path to your Xcode project
26
+ # @raise [CouldNotFindResolvedFile] if no Package.resolved files were found
27
+ # @return [Hash<String, String>]
28
+ def self.get_resolved_versions(xcodeproj_path)
29
+ resolved_paths = find_packages_resolved_file(xcodeproj_path)
30
+ raise(CouldNotFindResolvedFile) if resolved_paths.empty?
31
+
32
+ resolved_versions = resolved_paths.map { |resolved_path|
33
+ JSON.load_file!(resolved_path)["pins"]
34
+ .to_h { |pin|
35
+ [Git.trim_repo_url(pin["location"]), pin["state"]["version"] || pin["state"]["revision"]]
36
+ }
37
+ }
38
+ resolved_versions.reduce(:merge!)
39
+ end
40
+
41
+ # Find the Packages.resolved file
42
+ # @return [Array<String>]
43
+ def self.find_packages_resolved_file(xcodeproj_path)
44
+ locations = []
45
+ # First check the workspace for a resolved file
46
+ workspace = xcodeproj_path.sub("xcodeproj", "xcworkspace")
47
+ if Dir.exist?(workspace)
48
+ path = File.join(workspace, "xcshareddata", "swiftpm", "Package.resolved")
49
+ locations << path if File.exist?(path)
50
+ end
51
+
52
+ # Then check the project for a resolved file
53
+ path = File.join(xcodeproj_path, "project.xcworkspace", "xcshareddata", "swiftpm", "Package.resolved")
54
+ locations << path if File.exist?(path)
55
+
56
+ $stderr.puts("Searching for resolved packages in: #{locations}")
57
+ locations
58
+ end
59
+
60
+ private_class_method :find_packages_resolved_file
61
+
62
+ class XcodeprojPathMustBeSet < StandardError
63
+ end
64
+
65
+ class CouldNotFindResolvedFile < StandardError
66
+ end
67
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-spm_version_updates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harold Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-18 00:00:00.000000000 Z
11
+ date: 2024-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api
@@ -284,20 +284,6 @@ executables: []
284
284
  extensions: []
285
285
  extra_rdoc_files: []
286
286
  files:
287
- - ".editorconfig"
288
- - ".github/workflows/docs.yml"
289
- - ".github/workflows/lint_and_test.yml"
290
- - ".github/workflows/push_gem.yml"
291
- - ".github/workflows/readme.yml"
292
- - ".gitignore"
293
- - ".idea/.gitignore"
294
- - ".idea/danger-plugin-spm-version-updates.iml"
295
- - ".idea/misc.xml"
296
- - ".idea/modules.xml"
297
- - ".idea/vcs.xml"
298
- - ".markdownlint.jsonc"
299
- - ".reek.yml"
300
- - ".rubocop.yml"
301
287
  - CODE_OF_CONDUCT.md
302
288
  - Gemfile
303
289
  - Gemfile.lock
@@ -309,20 +295,9 @@ files:
309
295
  - lib/danger_plugin.rb
310
296
  - lib/danger_spm_version_updates.rb
311
297
  - lib/spm_version_updates/gem_version.rb
298
+ - lib/spm_version_updates/git.rb
312
299
  - lib/spm_version_updates/plugin.rb
313
- - spec/spec_helper.rb
314
- - spec/spm_version_updates_spec.rb
315
- - spec/support/fixtures/Branch.xcodeproj/project.pbxproj
316
- - spec/support/fixtures/Branch.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
317
- - spec/support/fixtures/ExactVersion.xcodeproj/project.pbxproj
318
- - spec/support/fixtures/ExactVersion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
319
- - spec/support/fixtures/NoResolvedVersion.xcodeproj/project.pbxproj
320
- - spec/support/fixtures/NoResolvedVersion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
321
- - spec/support/fixtures/UpToNextMajor.xcodeproj/project.pbxproj
322
- - spec/support/fixtures/UpToNextMajor.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
323
- - spec/support/fixtures/VersionRange.xcodeproj/project.pbxproj
324
- - spec/support/fixtures/VersionRange.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
325
- - spec/support/fixtures/github_pr.json
300
+ - lib/spm_version_updates/xcode.rb
326
301
  homepage: https://github.com/hbmartin/danger-spm_version_updates
327
302
  licenses:
328
303
  - MIT
data/.editorconfig DELETED
@@ -1,15 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- end_of_line = lf
5
- insert_final_newline = true
6
- charset = utf-8
7
- trim_trailing_whitespace = true
8
-
9
- [*.{rb,yml,gemspec}]
10
- indent_style = space
11
- indent_size = 2
12
-
13
- [Dangerfile, Rakefile, Guardfile, Gemfile]
14
- indent_style = space
15
- indent_size = 2
@@ -1,43 +0,0 @@
1
- name: Publish Yard HTML to GitHub Pages
2
-
3
- on:
4
- push:
5
- tags:
6
- - v*
7
- workflow_dispatch:
8
-
9
- jobs:
10
- build:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - uses: actions/checkout@v3
14
- - name: Set up Ruby
15
- uses: ruby/setup-ruby@v1
16
- with:
17
- ruby-version: 3.2
18
- bundler-cache: true
19
- - name: Build HTML docs
20
- run: bundle exec yard
21
- - name: Upload artifact
22
- uses: actions/upload-pages-artifact@v2
23
- with:
24
- path: ./doc
25
- deploy:
26
- needs: build
27
-
28
- # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
29
- permissions:
30
- pages: write # to deploy to Pages
31
- id-token: write # to verify the deployment originates from an appropriate source
32
-
33
- # Deploy to the github-pages environment
34
- environment:
35
- name: github-pages
36
- url: ${{ steps.deployment.outputs.page_url }}
37
-
38
- # Specify runner + deployment step
39
- runs-on: ubuntu-latest
40
- steps:
41
- - name: Deploy to GitHub Pages
42
- id: deployment
43
- uses: actions/deploy-pages@v2 # or the latest "vX.X.X" version tag for this action
@@ -1,32 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [ main ]
6
- pull_request:
7
- branches: [ main ]
8
-
9
- jobs:
10
- build:
11
- strategy:
12
- matrix:
13
- ruby-version:
14
- - "3.0"
15
- - "3.1"
16
- - "3.2"
17
- runs-on: ubuntu-latest
18
- steps:
19
- - uses: actions/checkout@v4
20
- - name: Set up Ruby
21
- uses: ruby/setup-ruby@v1
22
- with:
23
- ruby-version: ${{ matrix.ruby-version }}
24
- bundler-cache: true
25
- - name: Running Tests
26
- run: bundle exec rake spec
27
- - name: Upload coverage reports to Codecov
28
- uses: codecov/codecov-action@v4
29
- with:
30
- fail_ci_if_error: true
31
- env:
32
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -1,26 +0,0 @@
1
- name: Push Gem
2
-
3
- on:
4
- push:
5
- tags:
6
- - v*
7
-
8
- jobs:
9
- push:
10
- runs-on: ubuntu-latest
11
-
12
- permissions:
13
- contents: write
14
- id-token: write
15
-
16
- steps:
17
- # Set up
18
- - uses: actions/checkout@v4
19
- - name: Set up Ruby
20
- uses: ruby/setup-ruby@v1
21
- with:
22
- bundler-cache: true
23
- ruby-version: ruby
24
-
25
- # Release
26
- - uses: rubygems/release-gem@v1
@@ -1,21 +0,0 @@
1
- name: Readme formatting and typo checking
2
-
3
- on:
4
- push:
5
- branches: ["main"]
6
- pull_request:
7
- branches: ["main"]
8
-
9
- jobs:
10
- lint:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - name: Check out repository code
14
- uses: actions/checkout@v4
15
- - name: Markdown Lint
16
- uses: avto-dev/markdown-lint@v1.5.0
17
- with:
18
- args: "./README.md"
19
- config: "./.markdownlint.jsonc"
20
- - name: Typos
21
- uses: crate-ci/typos@v1.19.0
data/.gitignore DELETED
@@ -1,136 +0,0 @@
1
- .DS_Store
2
-
3
- *.gem
4
- *.rbc
5
- /.config
6
- /coverage/
7
- /InstalledFiles
8
- /pkg/
9
- /spec/reports/
10
- /spec/examples.txt
11
- /test/tmp/
12
- /test/version_tmp/
13
- /tmp/
14
-
15
- # Used by dotenv library to load environment variables.
16
- # .env
17
-
18
- # Ignore Byebug command history file.
19
- .byebug_history
20
-
21
- ## Specific to RubyMotion:
22
- .dat*
23
- .repl_history
24
- build/
25
- *.bridgesupport
26
- build-iPhoneOS/
27
- build-iPhoneSimulator/
28
-
29
- ## Specific to RubyMotion (use of CocoaPods):
30
- #
31
- # We recommend against adding the Pods directory to your .gitignore. However
32
- # you should judge for yourself, the pros and cons are mentioned at:
33
- # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
34
- #
35
- # vendor/Pods/
36
-
37
- ## Documentation cache and generated files:
38
- /.yardoc/
39
- /_yardoc/
40
- /doc/
41
- /rdoc/
42
-
43
- ## Environment normalization:
44
- /.bundle/
45
- /vendor/bundle
46
- /lib/bundler/man/
47
-
48
- # for a library or gem, you might want to ignore these files since the code is
49
- # intended to run in multiple environments; otherwise, check them in:
50
- # Gemfile.lock
51
- # .ruby-version
52
- # .ruby-gemset
53
-
54
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
55
- .rvmrc
56
-
57
- # Used by RuboCop. Remote config files pulled in from inherit_from directive.
58
- .rubocop-https?--*
59
-
60
- # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
61
- # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
62
-
63
- # User-specific stuff
64
- .idea/**/workspace.xml
65
- .idea/**/tasks.xml
66
- .idea/**/usage.statistics.xml
67
- .idea/**/dictionaries
68
- .idea/**/shelf
69
-
70
- # AWS User-specific
71
- .idea/**/aws.xml
72
-
73
- # Generated files
74
- .idea/**/contentModel.xml
75
-
76
- # Sensitive or high-churn files
77
- .idea/**/dataSources/
78
- .idea/**/dataSources.ids
79
- .idea/**/dataSources.local.xml
80
- .idea/**/sqlDataSources.xml
81
- .idea/**/dynamic.xml
82
- .idea/**/uiDesigner.xml
83
- .idea/**/dbnavigator.xml
84
-
85
- # Gradle
86
- .idea/**/gradle.xml
87
- .idea/**/libraries
88
-
89
- # Gradle and Maven with auto-import
90
- # When using Gradle or Maven with auto-import, you should exclude module files,
91
- # since they will be recreated, and may cause churn. Uncomment if using
92
- # auto-import.
93
- # .idea/artifacts
94
- # .idea/compiler.xml
95
- # .idea/jarRepositories.xml
96
- # .idea/modules.xml
97
- # .idea/*.iml
98
- # .idea/modules
99
- # *.iml
100
- # *.ipr
101
-
102
- # CMake
103
- cmake-build-*/
104
-
105
- # Mongo Explorer plugin
106
- .idea/**/mongoSettings.xml
107
-
108
- # File-based project format
109
- *.iws
110
-
111
- # IntelliJ
112
- out/
113
-
114
- # mpeltonen/sbt-idea plugin
115
- .idea_modules/
116
-
117
- # JIRA plugin
118
- atlassian-ide-plugin.xml
119
-
120
- # Cursive Clojure plugin
121
- .idea/replstate.xml
122
-
123
- # SonarLint plugin
124
- .idea/sonarlint/
125
-
126
- # Crashlytics plugin (for Android Studio and IntelliJ)
127
- com_crashlytics_export_strings.xml
128
- crashlytics.properties
129
- crashlytics-build.properties
130
- fabric.properties
131
-
132
- # Editor-based Rest Client
133
- .idea/httpRequests
134
-
135
- # Android studio 3.1+ serialized cache file
136
- .idea/caches/build_file_checksums.ser
data/.idea/.gitignore DELETED
@@ -1,8 +0,0 @@
1
- # Default ignored files
2
- /shelf/
3
- /workspace.xml
4
- # Editor-based HTTP Client requests
5
- /httpRequests/
6
- # Datasource local storage ignored files
7
- /dataSources/
8
- /dataSources.local.xml