Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • oauth-xx/version_gem
  • Fryguy/version_gem
2 results
Show changes
Commits on Source (48)
Showing with 628 additions and 344 deletions
name: Code Coverage
name: Ruby - Coverage
env:
CI_CODECOV: true
COVER_ALL: true
K_SOUP_COV_MIN_BRANCH: 82
K_SOUP_COV_MIN_LINE: 94
K_SOUP_COV_MIN_HARD: true
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
......@@ -19,50 +19,56 @@ on:
# Allow manually triggering the workflow.
workflow_dispatch:
permissions:
contents: read
# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref }}
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
test:
name: Specs with Coverage - Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
CI_CODECOV: true
COVER_ALL: true
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
experimental: [false]
rubygems:
- latest
bundler:
- latest
gemfile:
- coverage
ruby:
- "2.7"
- '3.1'
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
steps:
- uses: amancevice/setup-code-climate@v0
name: CodeClimate Install
if: matrix.ruby == '2.7' && github.event_name != 'pull_request' && always()
- name: CodeClimate Install
uses: amancevice/setup-code-climate@v1
if: ${{ github.event_name != 'pull_request' }}
with:
cc_test_reporter_id: ${{ secrets.CC_TEST_REPORTER_ID }}
cc_test_reporter_id: "${{ secrets.CC_TEST_REPORTER_ID }}"
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Ruby & Bundle
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
rubygems: ${{ matrix.rubygems }}
bundler: ${{ matrix.bundler }}
ruby-version: "${{ matrix.ruby }}"
rubygems: "${{ matrix.rubygems }}"
bundler: "${{ matrix.bundler }}"
bundler-cache: true
- name: CodeClimate Pre-build Notification
run: cc-test-reporter before-build
if: matrix.ruby == '2.7' && github.event_name != 'pull_request' && always()
if: ${{ github.event_name != 'pull_request' }}
continue-on-error: ${{ matrix.experimental != 'false' }}
- name: Run tests
......@@ -70,26 +76,27 @@ jobs:
- name: CodeClimate Post-build Notification
run: cc-test-reporter after-build
if: matrix.ruby == '2.7' && github.event_name != 'pull_request' && always()
if: ${{ github.event_name != 'pull_request' }}
continue-on-error: ${{ matrix.experimental != 'false' }}
- name: Code Coverage Summary Report
uses: irongut/CodeCoverageSummary@v1.2.0
uses: irongut/CodeCoverageSummary@v1.3.0
if: ${{ github.event_name == 'pull_request' }}
with:
filename: ./coverage/coverage.xml
badge: true
fail_below_min: true
format: markdown
hide_branch_rate: true
hide_branch_rate: false
hide_complexity: true
indicators: true
output: both
thresholds: '86 88'
thresholds: '93 82'
continue-on-error: ${{ matrix.experimental != 'false' }}
- name: Add Coverage PR Comment
uses: marocchino/sticky-pull-request-comment@v2
if: matrix.ruby == '2.7' && always()
if: ${{ github.event_name == 'pull_request' }}
with:
recreate: true
path: code-coverage-results.md
......@@ -97,18 +104,6 @@ jobs:
- name: Coveralls
uses: coverallsapp/github-action@master
if: matrix.ruby == '2.7' && github.event_name != 'pull_request' && always()
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
github-token: "${{ secrets.GITHUB_TOKEN }}"
continue-on-error: ${{ matrix.experimental != 'false' }}
# Using the codecov gem instead.
# - name: CodeCov
# uses: codecov/codecov-action@v2
# if: matrix.ruby == '2.7' && github.event_name != 'pull_request' && always()
# with:
# files: ./coverage/coverage.xml
# flags: unittests
# name: codecov-upload
# fail_ci_if_error: true
# continue-on-error: ${{ matrix.experimental != 'false' }}
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency Review'
on: [pull_request]
permissions:
contents: read
jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
uses: actions/dependency-review-action@v2
name: Ruby HEAD Support
name: Ruby Heads Matrix
env:
K_SOUP_COV_DO: false
on:
push:
branches:
- 'main'
- '*-dev'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
......@@ -14,39 +17,47 @@ on:
# Allow manually triggering the workflow.
workflow_dispatch:
permissions:
contents: read
# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref }}
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
test:
name: Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
name: Specs - Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
runs-on: ubuntu-latest
strategy:
fail-fast: false
fail-fast: true
matrix:
experimental: [true]
rubygems:
- latest
bundler:
- latest
gemfile:
- vanilla
ruby:
# rubocop supports JRuby, but I can't get it to work on jruby-head (and the problem might be in JRuby!)
- "ruby-head"
- head
# TODO: Use rspec-pending_for to exempt (and document) truffleruby-head from specific tests that are failing
# - truffleruby-head
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Ruby & Bundle
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
rubygems: ${{ matrix.rubygems }}
bundler: ${{ matrix.bundler }}
ruby-version: "${{ matrix.ruby }}"
rubygems: "${{ matrix.rubygems }}"
bundler: "${{ matrix.bundler }}"
bundler-cache: true
- name: Run tests
run: bundle exec rake test
......@@ -4,9 +4,8 @@ on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
......@@ -25,6 +24,8 @@ jobs:
test:
name: Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
strategy:
fail-fast: false
matrix:
......@@ -33,7 +34,11 @@ jobs:
- "2.7.11"
bundler:
- none
gemfile:
- vanilla
ruby:
- "3.0"
- "2.7"
- "2.6"
- "2.5"
- "2.4"
......
name: Code Style Checks
# RuboCop Gradual isn't able to parse something in this repo.
# Not sure what exactly, and reported here:
# https://github.com/skryukov/rubocop-gradual/issues/12
# As a result this workflow must allow failure.
name: Ruby - Style
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
......@@ -15,18 +18,26 @@ on:
jobs:
rubocop:
name: Rubocop
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
name: RuboCop
strategy:
fail-fast: false
matrix:
experimental: [false]
experimental: [true]
rubygems:
- latest
bundler:
- latest
gemfile:
- style
ruby:
- "2.2"
runs-on: ubuntu-20.04
- "3.2"
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Ruby & Bundle
uses: ruby/setup-ruby@v1
with:
......@@ -34,5 +45,5 @@ jobs:
rubygems: ${{ matrix.rubygems }}
bundler: ${{ matrix.bundler }}
bundler-cache: true
- name: Run Rubocop
run: bundle exec rubocop -DES
- name: Run RuboCop
run: bundle exec rake rubocop_gradual:check
name: Current Ruby Support
name: Ruby Current Matrix
env:
K_SOUP_COV_DO: false
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
......@@ -15,40 +17,48 @@ on:
# Allow manually triggering the workflow.
workflow_dispatch:
permissions:
contents: read
# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref }}
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
test:
name: Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
name: Specs - Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
experimental: [false]
rubygems:
- latest
bundler:
- latest
gemfile:
- vanilla
ruby:
- "2.7"
- "3.0"
- "3.1"
#- '3.1' - 3.1 tests are run by coverage.yml
- '3.2'
- '3.3'
# TODO: Use rspec-pending_for to exempt (and document) truffleruby from specific tests that are failing
# - truffleruby
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Ruby & Bundle
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
rubygems: ${{ matrix.rubygems }}
bundler: ${{ matrix.bundler }}
ruby-version: "${{ matrix.ruby }}"
rubygems: "${{ matrix.rubygems }}"
bundler: "${{ matrix.bundler }}"
bundler-cache: true
- name: Run tests
run: bundle exec rake test
name: Unofficial Support
env:
K_SOUP_COV_DO: false
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
......@@ -18,17 +20,21 @@ on:
# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: false
jobs:
test:
name: Specs - Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
name: Ruby ${{ matrix.ruby }} ${{matrix.gemfile}} ${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
strategy:
fail-fast: false
matrix:
experimental: [false]
experimental: [true]
gemfile:
- vanilla
ruby:
- "2.2"
......@@ -36,7 +42,7 @@ jobs:
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Ruby & Bundle
uses: ruby/setup-ruby@v1
with:
......
......@@ -11,9 +11,4 @@
.rspec_status
/.idea/
# Gemfile Lock files
Gemfile.lock
.ruby-version
.tool-versions
*.gem
\ No newline at end of file
*.gem
inherit_from: .rubocop_todo.yml
inherit_gem:
rubocop-lts: rubocop-lts.yml
Metrics/BlockLength:
ExcludedMethods:
- context
- describe
- it
- shared_context
- shared_examples
- shared_examples_for
- namespace
- draw
rubocop-lts: config/rubygem_rspec.yml
{
"bin/checksums:2906467651": [
[12, 28, 2, "Lint/Syntax: unexpected token error\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 5858765],
[14, 18, 2, "Lint/Syntax: unexpected token error\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 5858765],
[20, 1, 4, "Lint/Syntax: unexpected token kELSE\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 2087423834],
[33, 1, 3, "Lint/Syntax: unexpected token kEND\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 193405706],
[45, 11, 2, "Lint/Syntax: unexpected token tLSHFT\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 5859461],
[46, 21, 1, "Lint/Syntax: unexpected token tSTAR\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 177551],
[47, 14, 1, "Lint/Syntax: `-' interpreted as argument prefix\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 177544],
[47, 17, 1, "Lint/Syntax: unexpected token tSTRING_BEG\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 177543],
[53, 9, 3, "Lint/Syntax: unexpected token tCONSTANT\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 193466585],
[54, 14, 3, "Lint/Syntax: unexpected token tCONSTANT\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 193467647],
[54, 21, 1, "Lint/Syntax: unexpected token tCOLON\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 177567],
[55, 21, 1, "Lint/Syntax: unexpected token tCOLON\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 177567],
[56, 22, 4, "Lint/Syntax: unexpected token tCONSTANT\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 2089414472],
[57, 22, 4, "Lint/Syntax: unexpected token tCONSTANT\n(Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)", 2089414472]
]
}
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2022-06-20 17:42:48 +0700 using RuboCop version 0.68.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
# Offense count: 1
Metrics/AbcSize:
Max: 17
# Offense count: 1
# Configuration parameters: CountComments, ExcludedMethods.
# ExcludedMethods: refine
Metrics/BlockLength:
Max: 27
# Offense count: 1
Metrics/CyclomaticComplexity:
Max: 8
# Offense count: 1
# Configuration parameters: CountComments, ExcludedMethods.
Metrics/MethodLength:
Max: 11
# Offense count: 1
Metrics/PerceivedComplexity:
Max: 8
# Offense count: 3
Style/Documentation:
Exclude:
- 'spec/**/*'
- 'test/**/*'
- 'lib/version_gem.rb'
- 'lib/version_gem/api.rb'
- 'lib/version_gem/version.rb'
# Offense count: 18
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Metrics/LineLength:
Max: 198
# frozen_string_literal: true
require "kettle/soup/cover/config"
# To get coverage
# On Local, default (HTML) output, it just works, coverage is turned on:
# bundle exec rspec spec
# On Local, all output formats:
# COVER_ALL=true bundle exec rspec spec
#
# On CI, all output formats, the ENV variables CI is always set,
# and COVER_ALL, and CI_CODECOV, are set in the coverage.yml workflow only,
# so coverage only runs in that workflow, and outputs all formats.
#
if RUN_COVERAGE
SimpleCov.start do
enable_coverage :branch
primary_coverage :branch
add_filter "spec"
track_files "lib/**/*.rb"
if ALL_FORMATTERS
command_name "#{ENV["GITHUB_WORKFLOW"]} Job #{ENV["GITHUB_RUN_ID"]}:#{ENV["GITHUB_RUN_NUMBER"]}"
else
formatter SimpleCov::Formatter::HTMLFormatter
end
minimum_coverage(85)
end
else
puts "Not running coverage on #{RUBY_ENGINE} #{RUBY_VERSION}"
end
SimpleCov.start
ruby 3.2.3
--plugin junk
......@@ -10,6 +10,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
### Removed
## [1.1.4] 2024-03-21 ([tag][1.1.4t])
### Added
- Ruby 3.3 to CI (@pboling)
### Fixed
- Remove the executable bit from non-executable files (@Fryguy)
## [1.1.3] 2023-06-05 ([tag][1.1.3t])
### Added
- More test coverage (now 100% 🎉) (@pboling)
- Improved documentation (now 77% 🎉) (@pboling)
- Gemfile context pattern (@pboling)
- Improved linting (via rubocop-lts) (@pboling)
- More robust GHA config (@pboling)
- (dev) Dependencies (@pboling)
- yard-junk
- redcarpet
- pry, IRB alternative
- pry-suite
- debase, for IDE debugging
- (dev) Rake task for rubocop_gradual (@pboling)
### Fixed
- (dev) `yard` documentation task (@pboling)
## [1.1.2] - 2023-03-17 ([tag][1.1.2t])
### Added
- `VersionGem::Ruby` to help library CI integration against many different versions of Ruby (@pboling)
- Experimental, optional, require (not loaded by default, which is why this can be in a patch)
- Spec coverage is now 100%, lines and branches, including the fabled `version.rb` (@pboling)
- Full RBS Signatures (@pboling)
## [1.1.1] - 2022-09-19 ([tag][1.1.1t])
### Added
- Alternatives section to README.md (@pboling)
......@@ -42,7 +72,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Initial release, with basic version parsing API (@pboling)
[Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.1...HEAD
[Unreleased]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.4...HEAD
[1.1.4]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.3...v1.1.4
[1.1.4t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.4
[1.1.3]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.2...v1.1.3
[1.1.3t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.3
[1.1.2]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.1...v1.1.2
[1.1.2t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.2
[1.1.1]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.1.0...v1.1.1
[1.1.1t]: https://gitlab.com/oauth-xx/oauth2/-/tags/v1.1.1
[1.1.0]: https://gitlab.com/oauth-xx/version_gem/-/compare/v1.0.2...v1.1.0
......
## Contributing
Bug reports and pull requests are welcome on GitHub at [https://github.com/pboling/version_gem][source]
Bug reports and pull requests are welcome on GitHub at [https://gitlab.com/oauth-xx/version_gem][🚎src-main]
. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
the [code of conduct][conduct].
the [code of conduct][🤝conduct].
To submit a patch, please fork the project and create a patch with
tests. Once you're happy with it send a pull request and post a message to the
[google group][⛳mail-list] or on the [gitter chat][🏘chat].
## Release
To release a new version:
1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check
2. Update the version number in `version.rb`
3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
4. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
5. Run `git push` to trigger the final CI pipeline before release, & merge PRs
a. NOTE: Remember to [check the build][🧪build]!
6. Run `git checkout main` (Or whichever branch is considered `trunk`, e.g. `master`)
7. Run `git pull origin main` to ensure you will release the latest trunk code.
8. Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use same timestamp, and generate same checksums
a. Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS` (you'll need the zsh/datetime module, if running zsh)
9. Run `bundle exec rake build`
10. Run [`bin/checksums`](https://github.com/rubygems/guides/pull/325) to create SHA-256 and SHA-512 checksums
a. Checksums will be committed automatically by the script, but not pushed
11. Run `bundle exec rake release` which will create a git tag for the version,
push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
To submit a patch, please fork the project and create a patch with tests. Once you're happy with it send a pull request!
NOTE: You will need to have a public key in `certs/`, and list your cert in the
`gemspec`, in order to sign the new release.
See: [RubyGems Security Guide][🔒️rubygems-security-guide]
## Contributors
[![Contributors](https://contrib.rocks/image?repo=pboling/version_gem)][contributors]
[![Contributors](https://contrib.rocks/image?repo=oauth-xx/version_gem)][🖐contributors]
Made with [contributors-img][contrib-rocks].
Made with [contributors-img][🖐contrib-rocks].
[comment]: <> (Following links are used by README, CONTRIBUTING)
Also see GitLab Contributors: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors]
[conduct]: https://github.com/pboling/version_gem/blob/main/CODE_OF_CONDUCT.md
## Contributing
[contrib-rocks]: https://contrib.rocks
Bug reports and pull requests are welcome on GitLab at [https://gitlab.com/oauth-xx/version_gem][🚎src-main]
. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
the [code of conduct][conduct].
[contributors]: https://github.com/pboling/version_gem/graphs/contributors
To submit a patch, please fork the project and create a patch with
tests. Once you're happy with it send a pull request and post a message to the
[google group][⛳mail-list] or on the [gitter chat][🏘chat].
[comment]: <> (Following links are used by README, CONTRIBUTING, Homepage)
## Release
To release a new version:
1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check.
2. update the version number in `version.rb`
3. run `bundle exec rake build:checksum`
4. move the built gem to project root
5. run `bin/checksum` to create the missing SHA256 checksum
6. move the built gem back to `pkg/`
7. commit the changes
8. run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org][rubygems].
NOTE: You will need to have a public key in `certs/`, and list your cert in the
`gemspec`, in order to sign the new release.
See: [RubyGems Security Guide][rubygems-security-guide]
## Contributors
[comment]: <> (Following links are used by README, CONTRIBUTING)
[source]: https://github.com/pboling/version_gem
[🚎contributors]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
[⛳mail-list]: http://groups.google.com/group/oauth-ruby
[🚎src-main]: https://gitlab.com/oauth-xx/version_gem
[🧪build]: https://github.com/oauth-xx/version_gem/actions
[🏘chat]: https://matrix.to/#/#pboling_version_gem:gitter.im
[🤝conduct]: https://gitlab.com/oauth-xx/version_gem/-/blob/main/CODE_OF_CONDUCT.md
[🖐contrib-rocks]: https://contrib.rocks
[🖐contributors]: https://github.com/oauth-xx/version_gem/graphs/contributors
[💎rubygems]: https://rubygems.org
[🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
[🚎src-main]: https://github.com/oauth-xx/version_gem
# frozen_string_literal: true
source 'https://rubygems.org'
# Specify your gem's dependencies in gitmoji-regex.gemspec
gemspec
source "https://rubygems.org"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
git_source(:gitlab) { |repo_name| "https://gitlab.com/#{repo_name}" }
gem 'rake', '~> 13.0'
gem 'rspec', '~> 3.0'
ruby_version = Gem::Version.new(RUBY_VERSION)
minimum_version = ->(version, engine = 'ruby') { ruby_version >= Gem::Version.new(version) && RUBY_ENGINE == engine }
coverage = minimum_version.call('2.6')
debugging = minimum_version.call('2.7')
# Include dependencies from <gem name>.gemspec
gemspec
platforms :mri do
if coverage
gem 'codecov', '~> 0.6' # For CodeCov
gem 'simplecov', '~> 0.21', require: false
gem 'simplecov-cobertura' # XML for Jenkins
gem 'simplecov-json' # For CodeClimate
gem 'simplecov-lcov', '~> 0.8', require: false
end
if debugging
# Add `byebug` to your code where you want to drop to REPL
gem 'byebug'
gem 'pry-byebug'
end
platform :mri do
# Debugging
gem "byebug", ">= 11"
end
platforms :jruby do
# Add `binding.pry` to your code where you want to drop to REPL
gem 'pry-debugger-jruby'
end
# Coverage
gem "kettle-soup-cover", "~> 1.0", ">= 1.0.2"
# Linting
gem "rubocop-lts", "~> 8.1", ">= 8.1.1" # Linting for Ruby >= 2.2
gem "rubocop-packaging", "~> 0.5", ">= 0.5.2"
gem "rubocop-rspec", "~> 2.10"
PATH
remote: .
specs:
version_gem (1.1.4)
GEM
remote: https://rubygems.org/
specs:
ansi (1.5.0)
ast (2.4.2)
byebug (11.1.3)
coderay (1.1.3)
diff-lcs (1.5.1)
diffy (3.4.2)
docile (1.4.0)
json (2.7.1)
kettle-soup-cover (1.0.2)
simplecov (~> 0.22)
simplecov-cobertura (~> 2.1)
simplecov-console (~> 0.9, >= 0.9.1)
simplecov-html (~> 0.12)
simplecov-lcov (~> 0.8)
simplecov-rcov (~> 0.3, >= 0.3.3)
simplecov_json_formatter (~> 0.1, >= 0.1.4)
version_gem (~> 1.1, >= 1.1.3)
language_server-protocol (3.17.0.3)
lint_roller (1.1.0)
method_source (1.0.0)
parallel (1.24.0)
parser (3.3.0.5)
ast (~> 2.4.1)
racc
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
racc (1.7.3)
rainbow (3.1.1)
rake (13.1.0)
regexp_parser (2.9.0)
rexml (3.2.6)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-block_is_expected (1.0.5)
rspec-core (3.13.0)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.1)
rubocop (1.62.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.31.2)
parser (>= 3.3.0.4)
rubocop-capybara (2.20.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.25.1)
rubocop (~> 1.41)
rubocop-gradual (0.3.4)
diff-lcs (>= 1.2.0, < 2.0)
diffy (~> 3.0)
parallel (~> 1.10)
rainbow (>= 2.2.2, < 4.0)
rubocop (~> 1.0)
rubocop-lts (8.1.1)
rubocop-ruby2_2 (>= 2.0.3, < 3)
standard-rubocop-lts (>= 1.0.3, < 3)
version_gem (>= 1.1.2, < 3)
rubocop-md (1.2.2)
rubocop (>= 1.0)
rubocop-packaging (0.5.2)
rubocop (>= 1.33, < 2.0)
rubocop-performance (1.20.2)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
rubocop-rspec (2.27.1)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
rubocop-ruby2_2 (2.0.5)
rubocop-gradual (~> 0.3, >= 0.3.1)
rubocop-md (~> 1.2)
rubocop-rake (~> 0.6)
rubocop-shopify (~> 2.14)
rubocop-thread_safety (~> 0.5, >= 0.5.1)
standard-rubocop-lts (~> 1.0, >= 1.0.7)
version_gem (>= 1.1.3, < 3)
rubocop-shopify (2.15.1)
rubocop (~> 1.51)
rubocop-thread_safety (0.5.1)
rubocop (>= 0.90.0)
ruby-progressbar (1.13.0)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-cobertura (2.1.0)
rexml
simplecov (~> 0.19)
simplecov-console (0.9.1)
ansi
simplecov
terminal-table
simplecov-html (0.12.3)
simplecov-lcov (0.8.0)
simplecov-rcov (0.3.7)
simplecov (>= 0.4.1)
simplecov_json_formatter (0.1.4)
standard (1.35.1)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.0)
rubocop (~> 1.62.0)
standard-custom (~> 1.0.0)
standard-performance (~> 1.3)
standard-custom (1.0.2)
lint_roller (~> 1.0)
rubocop (~> 1.50)
standard-performance (1.3.1)
lint_roller (~> 1.1)
rubocop-performance (~> 1.20.2)
standard-rubocop-lts (1.0.9)
standard (>= 1.31.1, < 2)
standard-custom (>= 1.0.1, < 2)
standard-performance (>= 1.2, < 2)
version_gem (>= 1.1.3, < 4)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.5.0)
PLATFORMS
arm64-darwin-22
x86_64-darwin-19
x86_64-linux
DEPENDENCIES
byebug (>= 11)
kettle-soup-cover (~> 1.0, >= 1.0.2)
pry (~> 0.14)
rake (~> 13.0)
rspec (~> 3.12)
rspec-block_is_expected (~> 1.0)
rubocop-lts (~> 8.1, >= 8.1.1)
rubocop-packaging (~> 0.5, >= 0.5.2)
rubocop-rspec (~> 2.10)
version_gem!
BUNDLED WITH
2.5.6
The MIT License (MIT)
Copyright (c) 2022 Peter Boling
Copyright (c) 2022 - 2023 Peter Boling
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
......
This diff is collapsed.