git_lib 1.2.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2c3b82cc9214aa0d0faecd8aa639ae16fee57179d0be17aebc365ebebe52e43f
4
+ data.tar.gz: 24b88e76619b9ab4138ebe07eca7c849f09377a2eec21afe384545d6e674df61
5
+ SHA512:
6
+ metadata.gz: eb5e0a487b3adad39dc3bc3d3f3fe94097a143ea0d7fdbccef27d1f5515a4612e98ecd44251d7926b5c4d51aeffd1a0efd819db024564574089dc7428cb9b6f2
7
+ data.tar.gz: 75f854dba8e98489dc373fd829c8792ba8fc581624f5b5191bce97978dba6eade70e89b42a4b16a20ef76f784f42f8c08984841eb246b6647e0e49b11471db92
@@ -0,0 +1,10 @@
1
+ ---
2
+ version: 1
3
+ update_configs:
4
+ - package_manager: "ruby:bundler"
5
+ directory: "/"
6
+ update_schedule: "weekly"
7
+ version_requirement_updates: "off"
8
+ commit_message:
9
+ prefix: "No-Jira"
10
+ include_scope: true
@@ -0,0 +1,37 @@
1
+ ---
2
+ on:
3
+ push:
4
+ tags:
5
+ - 'v*'
6
+
7
+ name: Create Release
8
+
9
+ jobs:
10
+ build:
11
+ name: Create Release
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Get version from tag
15
+ id: tag_name
16
+ shell: bash
17
+ run: |
18
+ echo ::set-output name=current_version::${GITHUB_REF#refs/tags/v}
19
+ - name: Checkout code
20
+ uses: actions/checkout@v2
21
+ - name: Get Changelog Entry
22
+ id: changelog_reader
23
+ uses: mindsers/changelog-reader-action@v1
24
+ with:
25
+ version: ${{ steps.tag_name.outputs.current_version }}
26
+ path: ./CHANGELOG.md
27
+ - name: Create Release
28
+ id: create_release
29
+ uses: actions/create-release@v1
30
+ env:
31
+ GITHUB_TOKEN: ${{ secrets.GEM_RELEASE_GIT_TOKEN }}
32
+ with:
33
+ tag_name: ${{ github.ref }}
34
+ release_name: Release ${{ github.ref }}
35
+ body: ${{ steps.changelog_reader.outputs.log_entry }}
36
+ draft: false
37
+ prerelease: false
@@ -0,0 +1,53 @@
1
+ *.gem
2
+ *.rbc
3
+ /*.pem
4
+ /.config
5
+ /coverage/
6
+ /InstalledFiles
7
+ /pkg/
8
+ /spec/reports/
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+ *secrets*
13
+ /shared/
14
+
15
+ ## Specific to RubyMotion:
16
+ .dat*
17
+ .repl_history
18
+ build/
19
+ shared/
20
+
21
+ ## Documentation cache and generated files:
22
+ /.yardoc/
23
+ /_yardoc/
24
+ /doc/
25
+ /rdoc/
26
+
27
+ ## Environment normalisation:
28
+ /.bundle/
29
+ /vendor/bundle
30
+ /lib/bundler/man/
31
+
32
+ # for a library or gem, you might want to ignore these files since the code is
33
+ # intended to run in multiple environments; otherwise, check them in:
34
+ # Gemfile.lock
35
+ # .ruby-version
36
+ # .ruby-gemset
37
+
38
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
39
+ .rvmrc
40
+
41
+ # rubymine
42
+ .idea
43
+
44
+ # mac
45
+ .DS_Store
46
+
47
+ # Ignore all logfiles and tempfiles.
48
+ /log/*
49
+ !/log/.keep
50
+ /tmp
51
+ /log
52
+
53
+ gemfiles/*.lock
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/groovy
2
+ @Library('jenkins-pipeline@v0.4.5')
3
+ import com.invoca.docker.*;
4
+
5
+ pipeline {
6
+ agent {
7
+ kubernetes {
8
+ defaultContainer "ruby"
9
+ yamlFile ".jenkins/ruby_build_pod.yml"
10
+ }
11
+ }
12
+
13
+ environment {
14
+ GITHUB_TOKEN = credentials('github_token')
15
+ BUNDLE_GEM__FURY__IO = credentials('gemfury_deploy_token')
16
+ }
17
+
18
+ stages {
19
+ stage('Setup') {
20
+ steps {
21
+ updateGitHubStatus('clean-build', 'pending', 'Running unit tests...')
22
+ sh 'bundle install'
23
+ sh 'bundle exec appraisal install'
24
+ }
25
+ }
26
+
27
+ stage('Appraisals') {
28
+ parallel {
29
+ stage('Current') {
30
+ environment { JUNIT_OUTPUT = 'spec/reports/current/rspec.xml' }
31
+ steps { sh 'bundle exec rspec' }
32
+ post { always { junit JUNIT_OUTPUT } }
33
+ }
34
+
35
+ stage('Rails 4') {
36
+ environment { JUNIT_OUTPUT = 'spec/reports/rails-4/rspec.xml' }
37
+ steps { sh 'bundle exec appraisal rails-4 rspec' }
38
+ post { always { junit JUNIT_OUTPUT } }
39
+ }
40
+
41
+ stage('Rails 5') {
42
+ environment { JUNIT_OUTPUT = 'spec/reports/rails-5/rspec.xml' }
43
+ steps { sh 'bundle exec appraisal rails-5 rspec' }
44
+ post { always { junit JUNIT_OUTPUT } }
45
+ }
46
+
47
+ stage('Rails 6') {
48
+ environment { JUNIT_OUTPUT = 'spec/reports/rails-6/rspec.xml' }
49
+ steps { sh 'bundle exec appraisal rails-6 rspec' }
50
+ post { always { junit JUNIT_OUTPUT } }
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+ post {
57
+ success { updateGitHubStatus('clean-build', 'success', 'Unit tests passed') }
58
+ failure { updateGitHubStatus('clean-build', 'failure', 'Unit tests failed') }
59
+ }
60
+ }
61
+
62
+ void updateGitHubStatus(String context, String status, String description) {
63
+ gitHubStatus([
64
+ repoSlug: 'Invoca/git_lib',
65
+ sha: env.GIT_COMMIT,
66
+ description: description,
67
+ context: context,
68
+ targetURL: env.RUN_DISPLAY_URL,
69
+ token: env.GITHUB_TOKEN,
70
+ status: status
71
+ ])
72
+ }
@@ -0,0 +1,19 @@
1
+ ---
2
+ apiVersion: v1
3
+ kind: Pod
4
+ metadata:
5
+ labels:
6
+ jenkins/git-lib: 'true'
7
+ namespace: jenkins
8
+ name: git-lib
9
+ spec:
10
+ containers:
11
+ - name: ruby
12
+ image: ruby:2.6.1
13
+ tty: true
14
+ resources:
15
+ requests:
16
+ memory: "100Mi"
17
+ command:
18
+ - cat
19
+
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --require spec_helper
2
+ --color
3
+ --format progress
@@ -0,0 +1,43 @@
1
+ require: rubocop-rspec
2
+
3
+ Metrics/LineLength:
4
+ Max: 120
5
+ Style/Lambda:
6
+ Enabled: false
7
+ Style/Documentation:
8
+ Enabled: false
9
+ Style/IfUnlessModifier:
10
+ Enabled: false
11
+ Style/GuardClause:
12
+ Enabled: false
13
+ Metrics/MethodLength:
14
+ Enabled: false
15
+ Metrics/ClassLength:
16
+ Enabled: false
17
+ Metrics/CyclomaticComplexity:
18
+ Enabled: false
19
+ Metrics/AbcSize:
20
+ Enabled: false
21
+ Metrics/PerceivedComplexity:
22
+ Enabled: false
23
+ RSpec/InstanceVariable:
24
+ Enabled: false
25
+ RSpec/ExampleLength:
26
+ Enabled: false
27
+ RSpec/AnyInstance:
28
+ Enabled: false
29
+ Style/RegexpLiteral:
30
+ Enabled: false
31
+ Style/WordArray:
32
+ Enabled: false
33
+ RSpec/DescribeClass:
34
+ Enabled: false
35
+ RSpec/DescribedClass:
36
+ Enabled: false
37
+ Style/NumericLiterals:
38
+ Enabled: false
39
+ Metrics/ParameterLists:
40
+ Enabled: false
41
+ AllCops:
42
+ Include:
43
+ - '**/*.rb'
@@ -0,0 +1 @@
1
+ 2.6.1
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise 'rails-4' do
4
+ gem 'activesupport', '~> 4.2'
5
+ end
6
+
7
+ appraise 'rails-5' do
8
+ gem 'activesupport', '~> 5.2'
9
+ end
10
+
11
+ appraise 'rails-6' do
12
+ gem 'activesupport', '~> 6.0'
13
+ end
@@ -0,0 +1,24 @@
1
+ # CHANGELOG for `git_lib`
2
+
3
+ Inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
4
+
5
+ Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [1.2.0] - 2020-07-13
8
+ ### Added
9
+ - Add support for Rails 5 and 6.
10
+ - Add Appraisal and Jenkinsfile to test Rails 4, 5, 6.
11
+
12
+ ### Changed
13
+ - Modernize gemspec and Gemfile some more.
14
+ - Allow Activesupport > 4.
15
+
16
+ ## [1.1.1] - 2020-06-23
17
+ ### Changed
18
+ - Allow Rails '~> 4.2'.
19
+ - Clean up gemspec and Gemfile; bundle update.
20
+ - Add magic frozen_string_literal: true comment everywhere.
21
+ - Clean up Rakefile.
22
+
23
+ [1.2.0]: https://github.com/Invoca/git_lib/compare/v1.1.1...v1.2.0
24
+ [1.1.1]: https://github.com/Invoca/git_lib/compare/v1.1.0...v1.1.1
data/Gemfile ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ gem 'activesupport', '>= 5.2.4.3'
8
+ gem 'appraisal'
9
+ gem 'bundler', '~> 1.17'
10
+ gem 'bundler-audit', require: false
11
+ gem 'climate_control', '~> 0.2'
12
+ gem 'coveralls', require: false
13
+ gem 'fakefs', '~> 0.9', require: 'fakefs/safe'
14
+ gem 'json', '~> 1.8'
15
+ gem 'pry'
16
+ gem 'pry-byebug'
17
+ gem 'rake'
18
+ gem 'rspec', '~> 3.5'
19
+ gem "rspec_junit_formatter"
20
+ gem 'rubocop', require: false
21
+ gem 'rubocop-rspec', require: false
@@ -0,0 +1,121 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ git_lib (1.2.0)
5
+ activesupport (>= 4.2, < 7)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activesupport (5.2.4.3)
11
+ concurrent-ruby (~> 1.0, >= 1.0.2)
12
+ i18n (>= 0.7, < 2)
13
+ minitest (~> 5.1)
14
+ tzinfo (~> 1.1)
15
+ appraisal (2.3.0)
16
+ bundler
17
+ rake
18
+ thor (>= 0.14.0)
19
+ ast (2.4.1)
20
+ bundler-audit (0.7.0.1)
21
+ bundler (>= 1.2.0, < 3)
22
+ thor (>= 0.18, < 2)
23
+ byebug (11.1.3)
24
+ climate_control (0.2.0)
25
+ coderay (1.1.3)
26
+ concurrent-ruby (1.1.6)
27
+ coveralls (0.8.23)
28
+ json (>= 1.8, < 3)
29
+ simplecov (~> 0.16.1)
30
+ term-ansicolor (~> 1.3)
31
+ thor (>= 0.19.4, < 2.0)
32
+ tins (~> 1.6)
33
+ diff-lcs (1.3)
34
+ docile (1.3.2)
35
+ fakefs (0.20.1)
36
+ i18n (1.8.3)
37
+ concurrent-ruby (~> 1.0)
38
+ json (1.8.6)
39
+ method_source (1.0.0)
40
+ minitest (5.14.1)
41
+ parallel (1.19.2)
42
+ parser (2.7.1.3)
43
+ ast (~> 2.4.0)
44
+ pry (0.13.1)
45
+ coderay (~> 1.1)
46
+ method_source (~> 1.0)
47
+ pry-byebug (3.9.0)
48
+ byebug (~> 11.0)
49
+ pry (~> 0.13.0)
50
+ rainbow (3.0.0)
51
+ rake (13.0.1)
52
+ regexp_parser (1.7.1)
53
+ rexml (3.2.4)
54
+ rspec (3.9.0)
55
+ rspec-core (~> 3.9.0)
56
+ rspec-expectations (~> 3.9.0)
57
+ rspec-mocks (~> 3.9.0)
58
+ rspec-core (3.9.2)
59
+ rspec-support (~> 3.9.3)
60
+ rspec-expectations (3.9.2)
61
+ diff-lcs (>= 1.2.0, < 2.0)
62
+ rspec-support (~> 3.9.0)
63
+ rspec-mocks (3.9.1)
64
+ diff-lcs (>= 1.2.0, < 2.0)
65
+ rspec-support (~> 3.9.0)
66
+ rspec-support (3.9.3)
67
+ rspec_junit_formatter (0.4.1)
68
+ rspec-core (>= 2, < 4, != 2.12.0)
69
+ rubocop (0.85.1)
70
+ parallel (~> 1.10)
71
+ parser (>= 2.7.0.1)
72
+ rainbow (>= 2.2.2, < 4.0)
73
+ regexp_parser (>= 1.7)
74
+ rexml
75
+ rubocop-ast (>= 0.0.3)
76
+ ruby-progressbar (~> 1.7)
77
+ unicode-display_width (>= 1.4.0, < 2.0)
78
+ rubocop-ast (0.0.3)
79
+ parser (>= 2.7.0.1)
80
+ rubocop-rspec (1.40.0)
81
+ rubocop (>= 0.68.1)
82
+ ruby-progressbar (1.10.1)
83
+ simplecov (0.16.1)
84
+ docile (~> 1.1)
85
+ json (>= 1.8, < 3)
86
+ simplecov-html (~> 0.10.0)
87
+ simplecov-html (0.10.2)
88
+ sync (0.5.0)
89
+ term-ansicolor (1.7.1)
90
+ tins (~> 1.0)
91
+ thor (1.0.1)
92
+ thread_safe (0.3.6)
93
+ tins (1.25.0)
94
+ sync
95
+ tzinfo (1.2.7)
96
+ thread_safe (~> 0.1)
97
+ unicode-display_width (1.7.0)
98
+
99
+ PLATFORMS
100
+ ruby
101
+
102
+ DEPENDENCIES
103
+ activesupport (>= 5.2.4.3)
104
+ appraisal
105
+ bundler (~> 1.17)
106
+ bundler-audit
107
+ climate_control (~> 0.2)
108
+ coveralls
109
+ fakefs (~> 0.9)
110
+ git_lib!
111
+ json (~> 1.8)
112
+ pry
113
+ pry-byebug
114
+ rake
115
+ rspec (~> 3.5)
116
+ rspec_junit_formatter
117
+ rubocop
118
+ rubocop-rspec
119
+
120
+ BUNDLED WITH
121
+ 1.17.3
@@ -0,0 +1,9 @@
1
+ # Git Lib
2
+ The GitLib is a simple wrapper around the Git command line tool.
3
+
4
+ ## Requirements
5
+ It requires git version 2.6.2 or greater
6
+
7
+ ## Code Status
8
+ [![Build Status](https://semaphoreci.com/api/v1/mikeweaver/git_lib/branches/master/badge.svg)](https://semaphoreci.com/mikeweaver/git_lib)
9
+ [![Coverage Status](https://coveralls.io/repos/github/mikeweaver/git_lib/badge.svg?branch=master)](https://coveralls.io/github/mikeweaver/git_lib?branch=master)