danger-spm_version_updates 0.1.2 → 0.1.3

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.
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