Skip to content

Commit de565fb

Browse files
committed
Initial commit: Add fastlane plugin for Instabug stores upload
0 parents  commit de565fb

21 files changed

+807
-0
lines changed

.bundle/config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
BUNDLE_PATH: "vendor/bundle"

.circleci/config.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Ruby CircleCI 2.0 configuration file
2+
#
3+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
4+
#
5+
version: 2
6+
jobs:
7+
build:
8+
docker:
9+
# specify the version you desire here
10+
- image: circleci/ruby:2.5
11+
12+
working_directory: ~/repo
13+
14+
steps:
15+
- checkout
16+
17+
# Download and cache dependencies
18+
- restore_cache:
19+
keys:
20+
- v1-dependencies-{{ checksum "Gemfile" }}
21+
# fallback to using the latest cache if no exact match is found
22+
- v1-dependencies-
23+
24+
- run:
25+
name: install dependencies
26+
command: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle
27+
28+
- save_cache:
29+
paths:
30+
- ./vendor
31+
key: v1-dependencies-{{ checksum "Gemfile" }}
32+
33+
# run tests!
34+
- run:
35+
name: run tests
36+
command: bundle exec rake
37+
38+
# collect reports
39+
- store_test_results:
40+
path: ~/repo/test-results
41+
- store_artifacts:
42+
path: ~/repo/test-results
43+
destination: test-results

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
*.gem
2+
Gemfile.lock
3+
4+
## Documentation cache and generated files:
5+
/.yardoc/
6+
/_yardoc/
7+
/doc/
8+
/rdoc/
9+
fastlane/README.md
10+
fastlane/report.xml
11+
coverage
12+
test-results
13+
/vendor/

.rspec

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
--require spec_helper
2+
--color
3+
--format d
4+
--format RspecJunitFormatter
5+
--out test-results/rspec/rspec.xml

.rubocop.yml

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
---
2+
require:
3+
- rubocop/require_tools
4+
- rubocop-performance
5+
AllCops:
6+
TargetRubyVersion: 2.6
7+
NewCops: enable
8+
Include:
9+
- "**/*.rb"
10+
- "**/*file"
11+
- "**/*.gemspec"
12+
- "*/lib/assets/*Template"
13+
- "*/lib/assets/*TemplateAndroid"
14+
Exclude:
15+
- "**/lib/assets/custom_action_template.rb"
16+
- "./vendor/**/*"
17+
- "**/lib/assets/DefaultFastfileTemplate"
18+
- "**/lib/assets/MatchfileTemplate"
19+
- "**/spec/fixtures/broken_files/broken_file.rb"
20+
- "**/*.provisionprofile"
21+
Lint/ErbNewArguments:
22+
Enabled: false
23+
Style/SlicingWithRange:
24+
Enabled: false
25+
Style/MultipleComparison:
26+
Enabled: false
27+
Style/PercentLiteralDelimiters:
28+
Enabled: false
29+
Style/ClassCheck:
30+
EnforcedStyle: kind_of?
31+
Style/FrozenStringLiteralComment:
32+
Enabled: false
33+
Style/SafeNavigation:
34+
Enabled: false
35+
Performance/RegexpMatch:
36+
Enabled: false
37+
Performance/StringReplacement:
38+
Enabled: false
39+
Style/NumericPredicate:
40+
Enabled: false
41+
Metrics/BlockLength:
42+
Enabled: false
43+
Metrics/ModuleLength:
44+
Enabled: false
45+
Naming/VariableNumber:
46+
Enabled: false
47+
Style/MissingRespondToMissing:
48+
Enabled: false
49+
Style/MultilineBlockChain:
50+
Enabled: false
51+
Style/NumericLiteralPrefix:
52+
Enabled: false
53+
Style/TernaryParentheses:
54+
Enabled: false
55+
Style/EmptyMethod:
56+
Enabled: false
57+
Lint/UselessAssignment:
58+
Exclude:
59+
- "**/spec/**/*"
60+
Require/MissingRequireStatement:
61+
Exclude:
62+
- "**/spec/**/*.rb"
63+
- "**/spec_helper.rb"
64+
- spaceship/lib/spaceship/babosa_fix.rb
65+
- fastlane_core/lib/fastlane_core/ui/disable_colors.rb
66+
- "**/Fastfile"
67+
- "**/*.gemspec"
68+
- rakelib/**/*
69+
- "**/*.rake"
70+
- "**/Rakefile"
71+
- fastlane/**/*
72+
- supply/**/*
73+
Layout/FirstHashElementIndentation:
74+
Enabled: false
75+
Layout/HashAlignment:
76+
Enabled: false
77+
Layout/DotPosition:
78+
Enabled: false
79+
Style/DoubleNegation:
80+
Enabled: false
81+
Style/SymbolArray:
82+
Enabled: false
83+
Layout/HeredocIndentation:
84+
Enabled: false
85+
Style/MixinGrouping:
86+
Exclude:
87+
- "**/spec/**/*"
88+
Lint/SuppressedException:
89+
Enabled: false
90+
Lint/UnusedBlockArgument:
91+
Enabled: false
92+
Lint/AmbiguousBlockAssociation:
93+
Enabled: false
94+
Style/GlobalVars:
95+
Enabled: false
96+
Style/ClassAndModuleChildren:
97+
Enabled: false
98+
Style/SpecialGlobalVars:
99+
Enabled: false
100+
Metrics/AbcSize:
101+
Enabled: false
102+
Metrics/MethodLength:
103+
Enabled: false
104+
Metrics/CyclomaticComplexity:
105+
Enabled: false
106+
Style/WordArray:
107+
MinSize: 19
108+
Style/SignalException:
109+
Enabled: false
110+
Style/RedundantReturn:
111+
Enabled: false
112+
Style/IfUnlessModifier:
113+
Enabled: false
114+
Style/AndOr:
115+
Enabled: true
116+
EnforcedStyle: conditionals
117+
Metrics/ClassLength:
118+
Max: 320
119+
Layout/LineLength:
120+
Max: 370
121+
Metrics/ParameterLists:
122+
Max: 17
123+
Style/GuardClause:
124+
Enabled: false
125+
Style/StringLiterals:
126+
Enabled: false
127+
Style/QuotedSymbols:
128+
Enabled: false
129+
Style/ConditionalAssignment:
130+
Enabled: false
131+
Style/RedundantSelf:
132+
Enabled: false
133+
Lint/UnusedMethodArgument:
134+
Enabled: false
135+
Lint/ParenthesesAsGroupedExpression:
136+
Exclude:
137+
- "**/spec/**/*"
138+
Naming/PredicateName:
139+
Enabled: false
140+
Style/PerlBackrefs:
141+
Enabled: false
142+
Layout/SpaceAroundOperators:
143+
Exclude:
144+
- "**/spec/actions_specs/xcodebuild_spec.rb"
145+
Naming/FileName:
146+
Exclude:
147+
- "**/Dangerfile"
148+
- "**/Brewfile"
149+
- "**/Gemfile"
150+
- "**/Podfile"
151+
- "**/Rakefile"
152+
- "**/Fastfile"
153+
- "**/Deliverfile"
154+
- "**/Snapfile"
155+
- "**/Pluginfile"
156+
- "**/*.gemspec"
157+
Style/Documentation:
158+
Enabled: false
159+
Style/MutableConstant:
160+
Enabled: false
161+
Style/ZeroLengthPredicate:
162+
Enabled: false
163+
Style/IfInsideElse:
164+
Enabled: false
165+
Style/CollectionMethods:
166+
Enabled: false
167+
Style/MethodCallWithArgsParentheses:
168+
Enabled: true
169+
AllowedMethods:
170+
- require
171+
- require_relative
172+
- fastlane_require
173+
- gem
174+
- program
175+
- command
176+
- raise
177+
- attr_accessor
178+
- attr_reader
179+
- desc
180+
- lane
181+
- private_lane
182+
- platform
183+
- to
184+
- not_to
185+
- describe
186+
- it
187+
- be
188+
- context
189+
- before
190+
- after
191+
Bundler/OrderedGems:
192+
Enabled: true
193+
TreatCommentsAsGroupSeparators: false
194+
Gemspec/DevelopmentDependencies:
195+
Enabled: true
196+
EnforcedStyle: Gemfile

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# os: osx # enable this if you need macOS support
2+
language: ruby
3+
rvm:
4+
- 3.2.2

Gemfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
source('https://rubygems.org')
2+
3+
gemspec
4+
5+
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
6+
eval_gemfile(plugins_path) if File.exist?(plugins_path)

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2025 yousif-ahmed <[email protected]>
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# instabug-stores-upload plugin
2+
3+
[![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-instabug-stores-upload)
4+
5+
## Getting Started
6+
7+
This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To get started with `fastlane-plugin-instabug-stores-upload`, add it to your project by running:
8+
9+
```bash
10+
fastlane add_plugin instabug-stores-upload
11+
```
12+
13+
## About instabug-stores-upload
14+
15+
Wrapper plugin for uploading builds to App Store and Play Store with Instabug-specific metadata reporting.
16+
17+
**Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here.
18+
19+
## Example
20+
21+
Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
22+
23+
**Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary)
24+
25+
## Run tests for this plugin
26+
27+
To run both the tests, and code style validation, run
28+
29+
```
30+
rake
31+
```
32+
33+
To automatically fix many of the styling issues, use
34+
```
35+
rubocop -a
36+
```
37+
38+
## Issues and Feedback
39+
40+
For any other issues and feedback about this plugin, please submit it to this repository.
41+
42+
## Troubleshooting
43+
44+
If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.fastlane.tools/plugins/plugins-troubleshooting/) guide.
45+
46+
## Using _fastlane_ Plugins
47+
48+
For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://docs.fastlane.tools/plugins/create-plugin/).
49+
50+
## About _fastlane_
51+
52+
_fastlane_ is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out [fastlane.tools](https://fastlane.tools).

Rakefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require 'bundler/gem_tasks'
2+
3+
require 'rspec/core/rake_task'
4+
RSpec::Core::RakeTask.new
5+
6+
require 'rubocop/rake_task'
7+
RuboCop::RakeTask.new(:rubocop)
8+
9+
task(default: [:spec, :rubocop])

0 commit comments

Comments
 (0)