timecop-rspec 1.0.1 → 1.0.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 (144) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +36 -2
  4. data/CONTRIBUTING.md +1 -3
  5. data/README.md +39 -13
  6. data/checksums/timecop-rspec-1.0.2.gem.sha256 +1 -0
  7. data/checksums/timecop-rspec-1.0.2.gem.sha512 +1 -0
  8. data/checksums/timecop-rspec-1.0.3.gem.sha256 +1 -0
  9. data/checksums/timecop-rspec-1.0.3.gem.sha512 +1 -0
  10. data/lib/timecop/rspec/version.rb +1 -1
  11. data.tar.gz.sig +2 -1
  12. metadata +53 -140
  13. metadata.gz.sig +0 -0
  14. data/.devcontainer/devcontainer.json +0 -26
  15. data/.env.local.example +0 -3
  16. data/.envrc +0 -41
  17. data/.github/FUNDING.yml +0 -13
  18. data/.github/dependabot.yml +0 -12
  19. data/.github/workflows/ancient.yml +0 -77
  20. data/.github/workflows/auto-assign.yml +0 -21
  21. data/.github/workflows/codeql-analysis.yml +0 -70
  22. data/.github/workflows/coverage.yml +0 -126
  23. data/.github/workflows/current.yml +0 -85
  24. data/.github/workflows/dependency-review.yml +0 -20
  25. data/.github/workflows/deps_locked.yml +0 -75
  26. data/.github/workflows/deps_unlocked.yml +0 -84
  27. data/.github/workflows/discord-notifier.yml +0 -38
  28. data/.github/workflows/heads.yml +0 -84
  29. data/.github/workflows/jruby.yml +0 -75
  30. data/.github/workflows/legacy.yml +0 -67
  31. data/.github/workflows/style.yml +0 -64
  32. data/.github/workflows/supported.yml +0 -82
  33. data/.github/workflows/truffle.yml +0 -75
  34. data/.github/workflows/unsupported.yml +0 -75
  35. data/.gitignore +0 -45
  36. data/.gitlab-ci.yml +0 -44
  37. data/.idea/.gitignore +0 -8
  38. data/.idea/GitLink.xml +0 -6
  39. data/.idea/misc.xml +0 -4
  40. data/.idea/modules.xml +0 -8
  41. data/.idea/timecop-rspec.iml +0 -122
  42. data/.idea/vcs.xml +0 -6
  43. data/.junie/TASK_NOTE.md +0 -1
  44. data/.junie/guidelines.md +0 -139
  45. data/.qlty/qlty.toml +0 -79
  46. data/.rspec +0 -8
  47. data/.rubocop.yml +0 -15
  48. data/.rubocop_gradual.lock +0 -76
  49. data/.simplecov +0 -11
  50. data/.tool-versions +0 -1
  51. data/.yard_gfm_support.rb +0 -22
  52. data/.yardopts +0 -11
  53. data/Appraisal.root.gemfile +0 -12
  54. data/Appraisals +0 -104
  55. data/CNAME +0 -1
  56. data/Gemfile +0 -38
  57. data/Gemfile.lock +0 -293
  58. data/Rakefile +0 -287
  59. data/bin/appraisal +0 -16
  60. data/bin/bundle-audit +0 -16
  61. data/bin/bundler-audit +0 -16
  62. data/bin/code_climate_reek +0 -16
  63. data/bin/coderay +0 -16
  64. data/bin/console +0 -12
  65. data/bin/erb +0 -16
  66. data/bin/gem_checksums +0 -16
  67. data/bin/htmldiff +0 -16
  68. data/bin/irb +0 -16
  69. data/bin/kramdown +0 -16
  70. data/bin/ldiff +0 -16
  71. data/bin/nokogiri +0 -16
  72. data/bin/pry +0 -16
  73. data/bin/racc +0 -16
  74. data/bin/rake +0 -16
  75. data/bin/rdbg +0 -16
  76. data/bin/rdoc +0 -16
  77. data/bin/reek +0 -16
  78. data/bin/ri +0 -16
  79. data/bin/rspec +0 -16
  80. data/bin/rubocop +0 -16
  81. data/bin/rubocop-gradual +0 -16
  82. data/bin/ruby-parse +0 -16
  83. data/bin/ruby-rewrite +0 -16
  84. data/bin/setup +0 -7
  85. data/bin/standardrb +0 -16
  86. data/bin/thor +0 -16
  87. data/bin/yard +0 -16
  88. data/bin/yard-junk +0 -16
  89. data/bin/yardoc +0 -16
  90. data/bin/yri +0 -16
  91. data/certs/pboling.pem +0 -27
  92. data/docs/Timecop/Rspec/ExampleDecorator.html +0 -626
  93. data/docs/Timecop/Rspec/SequentialTimeMachine.html +0 -338
  94. data/docs/Timecop/Rspec/TimeMachine.html +0 -357
  95. data/docs/Timecop/Rspec/TravelLog.html +0 -440
  96. data/docs/Timecop/Rspec/Traveler.html +0 -353
  97. data/docs/Timecop/Rspec/Version.html +0 -154
  98. data/docs/Timecop/Rspec.html +0 -476
  99. data/docs/Timecop.html +0 -143
  100. data/docs/_index.html +0 -224
  101. data/docs/class_list.html +0 -54
  102. data/docs/css/common.css +0 -1
  103. data/docs/css/full_list.css +0 -58
  104. data/docs/css/style.css +0 -503
  105. data/docs/file.CHANGELOG.html +0 -110
  106. data/docs/file.CITATION.html +0 -92
  107. data/docs/file.CODE_OF_CONDUCT.html +0 -201
  108. data/docs/file.CONTRIBUTING.html +0 -220
  109. data/docs/file.LICENSE.html +0 -70
  110. data/docs/file.README.html +0 -531
  111. data/docs/file.REEK.html +0 -71
  112. data/docs/file.RUBOCOP.html +0 -171
  113. data/docs/file.SECURITY.html +0 -101
  114. data/docs/file.rspec.html +0 -109
  115. data/docs/file.timecop-rspec-1.0.0.gem.html +0 -71
  116. data/docs/file.timecop.html +0 -72
  117. data/docs/file_list.html +0 -119
  118. data/docs/frames.html +0 -22
  119. data/docs/index.html +0 -531
  120. data/docs/js/app.js +0 -344
  121. data/docs/js/full_list.js +0 -242
  122. data/docs/js/jquery.js +0 -4
  123. data/docs/method_list.html +0 -198
  124. data/docs/top-level-namespace.html +0 -110
  125. data/gemfiles/audit.gemfile +0 -10
  126. data/gemfiles/coverage.gemfile +0 -10
  127. data/gemfiles/current.gemfile +0 -8
  128. data/gemfiles/deps_unlocked.gemfile +0 -13
  129. data/gemfiles/head.gemfile +0 -9
  130. data/gemfiles/modular/audit.gemfile +0 -5
  131. data/gemfiles/modular/coverage.gemfile +0 -6
  132. data/gemfiles/modular/documentation.gemfile +0 -11
  133. data/gemfiles/modular/style.gemfile +0 -14
  134. data/gemfiles/ruby_2_3.gemfile +0 -5
  135. data/gemfiles/ruby_2_4.gemfile +0 -5
  136. data/gemfiles/ruby_2_5.gemfile +0 -5
  137. data/gemfiles/ruby_2_6.gemfile +0 -8
  138. data/gemfiles/ruby_2_7.gemfile +0 -8
  139. data/gemfiles/ruby_3_0.gemfile +0 -8
  140. data/gemfiles/ruby_3_1.gemfile +0 -8
  141. data/gemfiles/ruby_3_2.gemfile +0 -8
  142. data/gemfiles/ruby_3_3.gemfile +0 -8
  143. data/gemfiles/style.gemfile +0 -10
  144. data/timecop-rspec.gemspec +0 -146
@@ -1,77 +0,0 @@
1
- name: MRI 2.3, 2.4, 2.5 (EOL)
2
-
3
- on:
4
- push:
5
- branches:
6
- - 'main'
7
- tags:
8
- - '!*' # Do not execute on tags
9
- pull_request:
10
- branches:
11
- - '*'
12
- # Allow manually triggering the workflow.
13
- workflow_dispatch:
14
-
15
- # Cancels all previous workflow runs for the same branch that have not yet completed.
16
- concurrency:
17
- # The concurrency group contains the workflow name and the branch name.
18
- group: "${{ github.workflow }}-${{ github.ref }}"
19
- cancel-in-progress: true
20
-
21
- jobs:
22
- test:
23
- name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
24
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
25
- runs-on: ubuntu-22.04
26
- continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
27
- env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
28
- BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
29
- strategy:
30
- fail-fast: false
31
- matrix:
32
- include:
33
- # Ruby 2.3
34
- - ruby: "ruby-2.3"
35
- appraisal: "ruby-2-3"
36
- exec_cmd: "rake test"
37
- gemfile: "Appraisal.root"
38
- rubygems: "3.3.27"
39
- bundler: "2.3.27"
40
-
41
- # Ruby 2.4
42
- - ruby: "ruby-2.4"
43
- appraisal: "ruby-2-4"
44
- exec_cmd: "rake test"
45
- gemfile: "Appraisal.root"
46
- rubygems: "3.3.27"
47
- bundler: "2.3.27"
48
-
49
- # Ruby 2.5
50
- - ruby: "ruby-2.5"
51
- appraisal: "ruby-2-5"
52
- exec_cmd: "rake test"
53
- gemfile: "Appraisal.root"
54
- rubygems: "3.3.27"
55
- bundler: "2.3.27"
56
-
57
- steps:
58
- - name: Checkout
59
- uses: actions/checkout@v5
60
-
61
- - name: Setup Ruby & RubyGems
62
- uses: ruby/setup-ruby@v1
63
- with:
64
- ruby-version: ${{ matrix.ruby }}
65
- rubygems: ${{ matrix.rubygems }}
66
- bundler: ${{ matrix.bundler }}
67
- bundler-cache: false
68
-
69
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
70
- # We need to do this first to get appraisal installed.
71
- # NOTE: This does not use the main Gemfile at all.
72
- - name: Install Root Appraisal
73
- run: bundle
74
- - name: Appraisal for ${{ matrix.appraisal }}
75
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
76
- - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
77
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
@@ -1,21 +0,0 @@
1
- name: Auto Assign
2
- on:
3
- issues:
4
- types: [opened]
5
- pull_request:
6
- types: [opened]
7
- jobs:
8
- run:
9
- runs-on: ubuntu-latest
10
- permissions:
11
- issues: write
12
- pull-requests: write
13
- steps:
14
- - name: 'Auto-assign issue'
15
- uses: pozil/auto-assign-issue@v2
16
- with:
17
- repo-token: ${{ secrets.GITHUB_TOKEN }}
18
- assignees: pboling
19
- abortIfPreviousAssignees: true
20
- allowSelfAssign: true
21
- numOfAssignee: 1
@@ -1,70 +0,0 @@
1
- # For most projects, this workflow file will not need changing; you simply need
2
- # to commit it to your repository.
3
- #
4
- # You may wish to alter this file to override the set of languages analyzed,
5
- # or to provide custom queries or build logic.
6
- #
7
- # ******** NOTE ********
8
- # We have attempted to detect the languages in your repository. Please check
9
- # the `language` matrix defined below to confirm you have the correct set of
10
- # supported CodeQL languages.
11
- #
12
- name: "CodeQL"
13
-
14
- on:
15
- push:
16
- branches: [ main, "*-stable" ]
17
- pull_request:
18
- # The branches below must be a subset of the branches above
19
- branches: [ main, "*-stable" ]
20
- schedule:
21
- - cron: '35 1 * * 5'
22
-
23
- jobs:
24
- analyze:
25
- name: Analyze
26
- runs-on: ubuntu-latest
27
- permissions:
28
- actions: read
29
- contents: read
30
- security-events: write
31
-
32
- strategy:
33
- fail-fast: false
34
- matrix:
35
- language: [ 'ruby' ]
36
- # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37
- # Learn more about CodeQL language support at https://git.io/codeql-language-support
38
-
39
- steps:
40
- - name: Checkout repository
41
- uses: actions/checkout@v5
42
-
43
- # Initializes the CodeQL tools for scanning.
44
- - name: Initialize CodeQL
45
- uses: github/codeql-action/init@v3
46
- with:
47
- languages: ${{ matrix.language }}
48
- # If you wish to specify custom queries, you can do so here or in a config file.
49
- # By default, queries listed here will override any specified in a config file.
50
- # Prefix the list here with "+" to use these queries and those in the config file.
51
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
52
-
53
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
54
- # If this step fails, then you should remove it and run the build manually (see below)
55
- - name: Autobuild
56
- uses: github/codeql-action/autobuild@v3
57
-
58
- # ℹ️ Command-line programs to run using the OS shell.
59
- # 📚 https://git.io/JvXDl
60
-
61
- # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
62
- # and modify them (or add more) to build your code if your project
63
- # uses a compiled language
64
-
65
- #- run: |
66
- # make bootstrap
67
- # make release
68
-
69
- - name: Perform CodeQL Analysis
70
- uses: github/codeql-action/analyze@v3
@@ -1,126 +0,0 @@
1
- name: Test Coverage
2
-
3
- permissions:
4
- contents: read
5
- pull-requests: write
6
- id-token: write
7
-
8
- env:
9
- K_SOUP_COV_MIN_BRANCH: 92
10
- K_SOUP_COV_MIN_LINE: 100
11
- K_SOUP_COV_MIN_HARD: true
12
- K_SOUP_COV_FORMATTERS: "xml,rcov,lcov,tty"
13
- K_SOUP_COV_DO: true
14
- K_SOUP_COV_MULTI_FORMATTERS: true
15
- K_SOUP_COV_COMMAND_NAME: "Test Coverage"
16
-
17
- on:
18
- push:
19
- branches:
20
- - 'main'
21
- tags:
22
- - '!*' # Do not execute on tags
23
- pull_request:
24
- branches:
25
- - '*'
26
- # Allow manually triggering the workflow.
27
- workflow_dispatch:
28
-
29
- # Cancels all previous workflow runs for the same branch that have not yet completed.
30
- concurrency:
31
- # The concurrency group contains the workflow name and the branch name.
32
- group: "${{ github.workflow }}-${{ github.ref }}"
33
- cancel-in-progress: true
34
-
35
- jobs:
36
- coverage:
37
- name: Code Coverage on ${{ matrix.ruby }}@current
38
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
39
- runs-on: ubuntu-latest
40
- continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
41
- env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
42
- BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
43
- strategy:
44
- fail-fast: false
45
- matrix:
46
- include:
47
- # Coverage
48
- - ruby: "ruby"
49
- appraisal: "coverage"
50
- exec_cmd: "rake test"
51
- gemfile: "Appraisal.root"
52
- rubygems: latest
53
- bundler: latest
54
-
55
- steps:
56
- - name: Checkout
57
- uses: actions/checkout@v5
58
-
59
- - name: Setup Ruby & RubyGems
60
- uses: ruby/setup-ruby@v1
61
- with:
62
- ruby-version: "${{ matrix.ruby }}"
63
- rubygems: "${{ matrix.rubygems }}"
64
- bundler: "${{ matrix.bundler }}"
65
- bundler-cache: false
66
-
67
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
68
- # We need to do this first to get appraisal installed.
69
- # NOTE: This does not use the main Gemfile at all.
70
- - name: Install Root Appraisal
71
- run: bundle
72
- - name: Appraisal for ${{ matrix.appraisal }}
73
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
74
- - name: Tests for ${{ matrix.ruby }}@current via ${{ matrix.exec_cmd }}
75
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
76
-
77
- # Do SaaS coverage uploads first
78
- - name: Upload coverage to Coveralls
79
- if: ${{ !env.ACT }}
80
- uses: coverallsapp/github-action@master
81
- with:
82
- github-token: ${{ secrets.GITHUB_TOKEN }}
83
- continue-on-error: ${{ matrix.experimental != 'false' }}
84
-
85
- - name: Upload coverage to QLTY
86
- if: ${{ !env.ACT }}
87
- uses: qltysh/qlty-action/coverage@main
88
- with:
89
- token: ${{secrets.QLTY_COVERAGE_TOKEN}}
90
- files: coverage/.resultset.json
91
- continue-on-error: ${{ matrix.experimental != 'false' }}
92
-
93
- # Build will fail here if coverage upload fails
94
- # which will hopefully be noticed for the lack of code coverage comments
95
- - name: Upload coverage to CodeCov
96
- if: ${{ !env.ACT }}
97
- uses: codecov/codecov-action@v5
98
- with:
99
- use_oidc: true
100
- fail_ci_if_error: true # optional (default = false)
101
- files: coverage/lcov.info,coverage/coverage.xml
102
- verbose: true # optional (default = false)
103
-
104
- # Then PR comments
105
- - name: Code Coverage Summary Report
106
- if: ${{ !env.ACT && github.event_name == 'pull_request' }}
107
- uses: irongut/CodeCoverageSummary@v1.3.0
108
- with:
109
- filename: ./coverage/coverage.xml
110
- badge: true
111
- fail_below_min: true
112
- format: markdown
113
- hide_branch_rate: false
114
- hide_complexity: true
115
- indicators: true
116
- output: both
117
- thresholds: '100 92'
118
- continue-on-error: ${{ matrix.experimental != 'false' }}
119
-
120
- - name: Add Coverage PR Comment
121
- uses: marocchino/sticky-pull-request-comment@v2
122
- if: ${{ !env.ACT && github.event_name == 'pull_request' }}
123
- with:
124
- recreate: true
125
- path: code-coverage-results.md
126
- continue-on-error: ${{ matrix.experimental != 'false' }}
@@ -1,85 +0,0 @@
1
- # Targets the evergreen latest release of ruby, truffleruby, and jruby
2
- name: Current
3
-
4
- env:
5
- K_SOUP_COV_DO: false
6
-
7
- on:
8
- push:
9
- branches:
10
- - 'main'
11
- tags:
12
- - '!*' # Do not execute on tags
13
- pull_request:
14
- branches:
15
- - '*'
16
- # Allow manually triggering the workflow.
17
- workflow_dispatch:
18
-
19
- permissions:
20
- contents: read
21
-
22
- # Cancels all previous workflow runs for the same branch that have not yet completed.
23
- concurrency:
24
- # The concurrency group contains the workflow name and the branch name.
25
- group: "${{ github.workflow }}-${{ github.ref }}"
26
- cancel-in-progress: true
27
-
28
- jobs:
29
- test:
30
- name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
31
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
32
- runs-on: ubuntu-latest
33
- continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
34
- env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
35
- BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
36
- strategy:
37
- matrix:
38
- include:
39
- # Ruby 3.4
40
- - ruby: "ruby"
41
- appraisal: "current"
42
- exec_cmd: "rake test"
43
- gemfile: "Appraisal.root"
44
- rubygems: latest
45
- bundler: latest
46
-
47
- # truffleruby-24.1
48
- # (according to documentation: targets Ruby 3.3 compatibility)
49
- # (according to runtime: targets Ruby 3.2 compatibility)
50
- - ruby: "truffleruby"
51
- appraisal: "current"
52
- exec_cmd: "rake test"
53
- gemfile: "Appraisal.root"
54
- rubygems: default
55
- bundler: default
56
-
57
- # jruby-10.0 (targets Ruby 3.4 compatibility)
58
- - ruby: "jruby"
59
- appraisal: "current"
60
- exec_cmd: "rake test"
61
- gemfile: "Appraisal.root"
62
- rubygems: default
63
- bundler: default
64
-
65
- steps:
66
- - name: Checkout
67
- uses: actions/checkout@v5
68
-
69
- - name: Setup Ruby & RubyGems
70
- uses: ruby/setup-ruby@v1
71
- with:
72
- ruby-version: ${{ matrix.ruby }}
73
- rubygems: ${{ matrix.rubygems }}
74
- bundler: ${{ matrix.bundler }}
75
- bundler-cache: false
76
-
77
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
78
- # We need to do this first to get appraisal installed.
79
- # NOTE: This does not use the main Gemfile at all.
80
- - name: Install Root Appraisal
81
- run: bundle
82
- - name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}
83
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
84
- - name: Tests for ${{ matrix.ruby }}@${{ matrix.appraisal }} via ${{ matrix.exec_cmd }}
85
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
@@ -1,20 +0,0 @@
1
- # Dependency Review Action
2
- #
3
- # 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.
4
- #
5
- # Source repository: https://github.com/actions/dependency-review-action
6
- # Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
7
- name: 'Dependency Review'
8
- on: [pull_request]
9
-
10
- permissions:
11
- contents: read
12
-
13
- jobs:
14
- dependency-review:
15
- runs-on: ubuntu-latest
16
- steps:
17
- - name: 'Checkout Repository'
18
- uses: actions/checkout@v5
19
- - name: 'Dependency Review'
20
- uses: actions/dependency-review-action@v4
@@ -1,75 +0,0 @@
1
- ---
2
- # Lock/Unlock Deps Pattern
3
- #
4
- # Two often conflicting goals resolved!
5
- #
6
- # - deps_unlocked.yml
7
- # - All runtime & dev dependencies, but does not have a `gemfiles/*.gemfile.lock` committed
8
- # - Uses an Appraisal2 "deps_unlocked" gemfile, and the current MRI Ruby release
9
- # - Know when new dependency releases will break local dev with unlocked dependencies
10
- # - Broken workflow indicates that new releases of dependencies may not work
11
- #
12
- # - deps_locked.yml
13
- # - All runtime & dev dependencies, and has a `Gemfile.lock` committed
14
- # - Uses the project's main Gemfile, and the current MRI Ruby release
15
- # - Matches what contributors and maintainers use locally for development
16
- # - Broken workflow indicates that a new contributor will have a bad time
17
- #
18
- name: Deps Locked
19
-
20
- permissions:
21
- contents: read
22
-
23
- env:
24
- KITCHEN_SINK: true
25
-
26
- on:
27
- push:
28
- branches:
29
- - 'main'
30
- - '*-stable'
31
- tags:
32
- - '!*' # Do not execute on tags
33
- pull_request:
34
- branches:
35
- - '*'
36
- # Allow manually triggering the workflow.
37
- workflow_dispatch:
38
-
39
- # Cancels all previous workflow runs for the same branch that have not yet completed.
40
- concurrency:
41
- # The concurrency group contains the workflow name and the branch name.
42
- group: "${{ github.workflow }}-${{ github.ref }}"
43
- cancel-in-progress: true
44
-
45
- jobs:
46
- test:
47
- name: Default rake task w/ main Gemfile.lock ${{ matrix.name_extra || '' }}
48
- if: ${{ !contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]') }}
49
- runs-on: ubuntu-latest
50
- continue-on-error: ${{ matrix.experimental }}
51
- strategy:
52
- fail-fast: false
53
- matrix:
54
- include:
55
- # Ruby <whichever version is current, e.g., 3.4 as of 2025-07-12>
56
- - ruby: "ruby"
57
- exec_cmd: "rake"
58
- rubygems: latest
59
- bundler: latest
60
- experimental: false
61
-
62
- steps:
63
- - name: Checkout
64
- uses: actions/checkout@v5
65
-
66
- - name: Setup Ruby & RubyGems
67
- uses: ruby/setup-ruby@v1
68
- with:
69
- ruby-version: ${{ matrix.ruby }}
70
- rubygems: ${{ matrix.rubygems }}
71
- bundler: ${{ matrix.bundler }}
72
- bundler-cache: true
73
-
74
- - name: Checks the kitchen sink via ${{ matrix.exec_cmd }}
75
- run: bundle exec ${{ matrix.exec_cmd }}
@@ -1,84 +0,0 @@
1
- ---
2
- # Lock/Unlock Deps Pattern
3
- #
4
- # Two often conflicting goals resolved!
5
- #
6
- # - deps_unlocked.yml
7
- # - All runtime & dev dependencies, but does not have a `gemfiles/*.gemfile.lock` committed
8
- # - Uses an Appraisal2 "deps_unlocked" gemfile, and the current MRI Ruby release
9
- # - Know when new dependency releases will break local dev with unlocked dependencies
10
- # - Broken workflow indicates that new releases of dependencies may not work
11
- #
12
- # - deps_locked.yml
13
- # - All runtime & dev dependencies, and has a `Gemfile.lock` committed
14
- # - Uses the project's main Gemfile, and the current MRI Ruby release
15
- # - Matches what contributors and maintainers use locally for development
16
- # - Broken workflow indicates that a new contributor will have a bad time
17
- #
18
- name: Deps Unlocked
19
-
20
- permissions:
21
- contents: read
22
-
23
- env:
24
- K_SOUP_COV_DO: false
25
-
26
- on:
27
- push:
28
- branches:
29
- - 'main'
30
- - "*-stable"
31
- tags:
32
- - '!*' # Do not execute on tags
33
- pull_request:
34
- branches:
35
- - '*'
36
- # Allow manually triggering the workflow.
37
- workflow_dispatch:
38
-
39
- # Cancels all previous workflow runs for the same branch that have not yet completed.
40
- concurrency:
41
- # The concurrency group contains the workflow name and the branch name.
42
- group: "${{ github.workflow }}-${{ github.ref }}"
43
- cancel-in-progress: true
44
-
45
- jobs:
46
- test:
47
- name: Default rake task w/ unlocked deps ${{ matrix.name_extra || '' }}
48
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
49
- runs-on: ubuntu-latest
50
- continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
51
- env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
52
- BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
53
- strategy:
54
- matrix:
55
- include:
56
- # Ruby <whichever version is current, e.g., 3.4 as of 2025-07-12>
57
- - ruby: "ruby"
58
- appraisal_name: "deps_unlocked"
59
- exec_cmd: "rake"
60
- gemfile: "Appraisal.root"
61
- rubygems: latest
62
- bundler: latest
63
-
64
- steps:
65
- - name: Checkout
66
- uses: actions/checkout@v5
67
-
68
- - name: Setup Ruby & RubyGems
69
- uses: ruby/setup-ruby@v1
70
- with:
71
- ruby-version: ${{ matrix.ruby }}
72
- rubygems: ${{ matrix.rubygems }}
73
- bundler: ${{ matrix.bundler }}
74
- bundler-cache: false
75
-
76
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
77
- # We need to do this first to get appraisal installed.
78
- # NOTE: This does not use the main Gemfile at all.
79
- - name: Install Root Appraisal
80
- run: bundle
81
- - name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
82
- run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle
83
- - name: Run ${{ matrix.exec_cmd }} on ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
84
- run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle exec ${{ matrix.exec_cmd }}
@@ -1,38 +0,0 @@
1
- name: Discord Notify
2
-
3
- on:
4
- check_run:
5
- types: [completed]
6
- discussion:
7
- types: [ created ]
8
- discussion_comment:
9
- types: [ created ]
10
- fork:
11
- gollum:
12
- issues:
13
- types: [ opened ]
14
- issue_comment:
15
- types: [ created ]
16
- pull_request:
17
- types: [ opened, reopened, closed ]
18
- release:
19
- types: [ published ]
20
- watch:
21
- types: [ started ]
22
-
23
- # A workflow run is made up of one or more jobs that can run sequentially or in parallel
24
- jobs:
25
- # This workflow contains a single job called "build"
26
- notify:
27
- # The type of runner that the job will run on
28
- runs-on: ubuntu-latest
29
-
30
- # Steps represent a sequence of tasks that will be executed as part of the job
31
- steps:
32
- - name: Actions Status Discord
33
- uses: sarisia/actions-status-discord@v1
34
- if: always()
35
- with:
36
- webhook: ${{ secrets.DISCORD_WEBHOOK }}
37
- status: ${{ job.status }}
38
- username: GitHub Actions
@@ -1,84 +0,0 @@
1
- name: Heads
2
-
3
- env:
4
- K_SOUP_COV_DO: false
5
-
6
- on:
7
- push:
8
- branches:
9
- - 'main'
10
- tags:
11
- - '!*' # Do not execute on tags
12
- pull_request:
13
- branches:
14
- - '*'
15
- # Allow manually triggering the workflow.
16
- workflow_dispatch:
17
-
18
- permissions:
19
- contents: read
20
-
21
- # Cancels all previous workflow runs for the same branch that have not yet completed.
22
- concurrency:
23
- # The concurrency group contains the workflow name and the branch name.
24
- group: "${{ github.workflow }}-${{ github.ref }}"
25
- cancel-in-progress: true
26
-
27
- jobs:
28
- test:
29
- name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
30
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
31
- runs-on: ubuntu-latest
32
- continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
33
- env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
34
- BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
35
- strategy:
36
- fail-fast: true
37
- matrix:
38
- include:
39
- # NOTE: Heads use default rubygems / bundler; their defaults are custom, unreleased, and from the future!
40
- # ruby-head
41
- - ruby: "ruby-head"
42
- appraisal: "head"
43
- exec_cmd: "rake test"
44
- gemfile: "Appraisal.root"
45
- rubygems: default
46
- bundler: default
47
-
48
- # # truffleruby-head
49
- # - ruby: "truffleruby-head"
50
- # appraisal: "head"
51
- # exec_cmd: "rake test"
52
- # gemfile: "Appraisal.root"
53
- # rubygems: default
54
- # bundler: default
55
-
56
- # jruby-head
57
- - ruby: "jruby-head"
58
- appraisal: "head"
59
- exec_cmd: "rake test"
60
- gemfile: "Appraisal.root"
61
- rubygems: default
62
- bundler: default
63
-
64
- steps:
65
- - name: Checkout
66
- uses: actions/checkout@v5
67
-
68
- - name: Setup Ruby & RubyGems
69
- uses: ruby/setup-ruby@v1
70
- with:
71
- ruby-version: ${{ matrix.ruby }}
72
- rubygems: ${{ matrix.rubygems }}
73
- bundler: ${{ matrix.bundler }}
74
- bundler-cache: false
75
-
76
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
77
- # We need to do this first to get appraisal installed.
78
- # NOTE: This does not use the main Gemfile at all.
79
- - name: Install Root Appraisal
80
- run: bundle
81
- - name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}
82
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
83
- - name: Tests for ${{ matrix.ruby }}@${{ matrix.appraisal }} via ${{ matrix.exec_cmd }}
84
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}