Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
ce18f48
Add Ruby 3 to required Ruby versions
KitaitiMakoto Jan 27, 2021
4c5d191
>= 2.4 and <= 3.0.0 instead of ~>
gonzedge Jan 28, 2021
bcaf039
Merge pull request #18 from KitaitiMakoto/ruby3
gonzedge Jan 28, 2021
7f1e35e
Bump min version to 2.5
gonzedge Jan 28, 2021
7c782ad
Add latest supported versions to CI
gonzedge Jan 28, 2021
a1b5da4
Bump version to 2.2.0
gonzedge Jan 28, 2021
913fee0
Add v2.2.0 compare to CHANGELOG
gonzedge Jan 28, 2021
8c57c12
Support ruby version 3.0.x
as181920 Jun 18, 2021
73d4fac
Merge pull request #21 from as181920/master
gonzedge Jun 18, 2021
2b226cf
Update CHANGELOG and README with ruby 3.0.x support
gonzedge Jun 18, 2021
2c595e9
Add ruby 2.7.3, 2.6.7, 2.5.9 to CI build
gonzedge Jun 19, 2021
f191aef
Upgrade dev dependencies to latest
gonzedge Jun 19, 2021
fbb87e3
Don't use YAML.safe_load's legacy API
KitaitiMakoto Dec 27, 2021
6cbdc2a
Include Ruby 3.1 in supported versions
KitaitiMakoto Dec 27, 2021
fec3dcd
Add block to Coveralls.wear! to prevent SimpleCove.start being called…
KitaitiMakoto Dec 27, 2021
1b571b0
add ruby 3.2 support
agate Mar 15, 2023
73e9a3b
make sure gem also support all the sub version of 3.2
agate Mar 15, 2023
96ba2b3
use new coveralls_reborn to support new ruby
agate Mar 15, 2023
a227e08
Merge pull request #22 from KitaitiMakoto/ruby-3.1
gonzedge Mar 25, 2023
fb44f38
Merge branch 'master' into ruby-3-2
gonzedge Mar 31, 2023
3c9a0b5
Merge pull request #23 from agate/ruby-3-2
gonzedge Mar 31, 2023
efbb345
Update required ruby version bounds to `>= 2.7, < 4`
gonzedge Mar 31, 2023
69d8f6c
Drop support for Ruby 2.5.x and 2.6.x
gonzedge Mar 31, 2023
a7a0cdf
Add Ruby 2.7.8, 3.0.6, 3.1.4, 3.2.2 to supported versions
gonzedge Mar 31, 2023
247c31c
Upgrade development dependencies
gonzedge Mar 31, 2023
e5c65e2
Update documentation links to min required ruby version (2.7)
gonzedge Mar 31, 2023
3d781ea
Update CHANGELOG with ruby 3.1.x and 3.2.x support
gonzedge Mar 31, 2023
60fcb54
Bump version to 2.3.0
gonzedge Mar 31, 2023
a740389
Fix `Rambling::Trie.load` docs in README
gonzedge Apr 2, 2023
2a09fcf
Destructure args hash before passing to performance rake task
gonzedge Apr 2, 2023
aeb23ed
Update copyright years
gonzedge Apr 2, 2023
d86e791
Attempt to clear gem version badge being cached by GitHub (?)
gonzedge Apr 2, 2023
0fb0d38
Set up semaphore
gonzedge Apr 2, 2023
112e77d
Be more lax with file size (#26)
gonzedge May 4, 2023
c01f547
Add missing `compress!` in container spec (#25)
gonzedge May 4, 2023
2848687
Rubocop: upgrade and apply (#24)
gonzedge May 4, 2023
e4bcc5e
Rubocop part 2: indentation and spaces on new tests (#27)
gonzedge May 5, 2023
143b183
More thorough serializer tests (#28)
gonzedge May 9, 2023
abb0ac6
Update badges, CI and coveralls reporting (#29)
gonzedge May 9, 2023
310ac54
GH Actions: ruby, codeql, dependency-review (#30)
gonzedge May 9, 2023
cd200b6
GH Actions: Actually specify the main branch (#31)
gonzedge May 9, 2023
0cc1330
GH Actions: only run dependency-review on pull_request event (#32)
gonzedge May 9, 2023
6b18926
Reduce semaphore config to latest ruby (#33)
gonzedge May 9, 2023
2f6d939
Rename GH actions and steps for better badges (#34)
gonzedge May 9, 2023
6d8bba3
Add codeclimate coverage step to build GH action (#35)
gonzedge May 10, 2023
7d7166d
Ensure all serializer `#dump` methods return the size of the file (#36)
gonzedge May 11, 2023
5afafa4
Ensure `#each`/`#each_word` return `Enumerator`/`self` (#37)
gonzedge May 11, 2023
2e71b1f
Improve API documentation (#38)
gonzedge May 11, 2023
8aea445
Add explicit changelog and docs urls to `.gemspec` (#39)
gonzedge May 11, 2023
d4163ed
Bump version to `2.3.1` for release (#40)
gonzedge May 11, 2023
0e79ca8
Bump badge URL to version 2.3.1 (#41)
gonzedge May 11, 2023
e98dfbb
Code inspections in `lib/` - use `%w` and `https` in gemspec (#45)
gonzedge May 12, 2023
4ad3908
Handle code inspections in `tasks/` (#44)
gonzedge May 12, 2023
57f5833
Use `RSpec::Config`'s `filter_run_when_matching` (#43)
gonzedge May 12, 2023
91da344
Use `@return [self]` in `Node#terminal!` rubydoc (#42)
gonzedge May 12, 2023
3eba897
Update `CallTreeProfiler` to use new `RubyProf::Profiler` format (#46)
gonzedge May 12, 2023
91ee8b2
Add version specs to ensure `README/CHANGELOG` update before release …
gonzedge May 12, 2023
dc7cb17
Exclude `spec/` from `simplecov` coverage (#48)
gonzedge May 12, 2023
e93c755
Add CodeClimate plugin: fixme (#50)
gonzedge May 15, 2023
7741c13
Add CodeClimate plugin: markdownlint (#51)
gonzedge May 15, 2023
ff8aecd
Add CodeClimate plugin: rubocop (#53)
gonzedge May 16, 2023
bd058ad
Add CodeClimate plugin: flog (#52)
gonzedge May 16, 2023
978717b
GitHub Action: semgrep (#54)
gonzedge May 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,22 @@
exclude_paths:
exclude_patterns:
- 'tasks/'
plugins:
# No to-dos or similar
fixme:
enabled: true
exclude_patterns:
- '.rubocop.*'
# ABC-complexity
flog:
enabled: true
config:
score_threshold: 25.0
exclude_patterns:
- 'spec/'
# Markdown lint with rules from https://github.com/markdownlint/markdownlint/blob/main/docs/RULES.md
markdownlint:
enabled: true
# Ruby lint
rubocop:
enabled: true
channel: rubocop-1-50-2
2 changes: 1 addition & 1 deletion .coveralls.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
service_name: travis-ci
service_name: semaphore
73 changes: 73 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: codeql

on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: '45 10 * * 6'

jobs:
analyze:
name: analyze
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'ruby' ]

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: /language:${{matrix.language}}
23 changes: 23 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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:
branches:
- master

permissions:
contents: read

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Dependency Review
uses: actions/dependency-review-action@v2
82 changes: 82 additions & 0 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: build

on:
push:
branches:
- master
pull_request:
branches:
- master

permissions:
contents: read

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: Run rubocop
run: bundle exec rubocop
spec:
runs-on: ubuntu-latest
strategy:
matrix:
ruby-version:
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.7.8
- 2.7.7
- 2.7.6
- 2.7.5
- 2.7.4
- 2.7.3
- 2.7.2
- 2.7.1
- 2.7.0
steps:
- uses: actions/checkout@v3
- name: Set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Run rspec
run: bundle exec rspec
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: Report rspec test coverage to coveralls.io
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: bundle exec rspec
- name: Report rspec test coverage to codeclimate.com
uses: paambaati/[email protected]
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageCommand: bundle exec rspec
25 changes: 25 additions & 0 deletions .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: semgrep
on:
workflow_dispatch: {}
pull_request: {}
push:
branches:
- main
- master
paths:
- .github/workflows/semgrep.yml
schedule:
# random HH:MM to avoid a load spike on GitHub Actions at 00:00
- cron: '42 4 * * *'
jobs:
semgrep:
name: semgrep
runs-on: ubuntu-20.04
env:
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
container:
image: returntocorp/semgrep
if: (github.actor != 'dependabot[bot]')
steps:
- uses: actions/checkout@v3
- run: semgrep ci
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Vim
# Vim / IDEs
*.swp
*.swo
.idea/

# RVM
.rvmrc
Expand Down
4 changes: 4 additions & 0 deletions .mdl_style.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# frozen_string_literal: true

rule 'MD013', line_length: 120
rule 'MD029', style: 'ordered'
1 change: 1 addition & 0 deletions .mdlrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
style '.mdl_style.rb'
10 changes: 0 additions & 10 deletions .rubocop.disabled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,6 @@ Layout/MultilineAssignmentLayout:
# Description: 'Checks unsafe usage of number conversion methods.'
# Enabled: false

# By default, the rails cops are not run. Override in project or home
# directory .rubocop.yml files, or by giving the -R/--rails option.
Rails:
Enabled: false

Rails/SaveBang:
Description: 'Identifies possible cases where Active Record save! or related should be used.'
StyleGuide: 'https://github.com/bbatsov/rails-style-guide#save-bang'
Enabled: false

Style/AutoResourceCleanup:
Description: 'Suggests the usage of an auto resource cleanup version of a method (if available).'
Enabled: false
Expand Down
Loading