rbs 4.0.1 → 4.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cef77dc4a4c3abe7192ddcd40da72ec04727c214031893d20f70388ed427340c
4
- data.tar.gz: c2f8cb98f97f6fa3961a0da6fdcf5de657fa2aed7e1372a9973ff47613372194
3
+ metadata.gz: 1da4c0401b4c4e3d9227c23723bf0e3cc51f58e9c911f1534526a7fe750eae78
4
+ data.tar.gz: 4e12069d325cdfca8da57b3acf1ccf422cafc7d2152dcb3e1c83ebb07f52f132
5
5
  SHA512:
6
- metadata.gz: d43c6ab7581b9e5c317743f14430edb8afb1f3b71dbf35cd0b28b876981c0fc49b78eef11bd7ae745a181c720d0eb2b5bc0a95e02aa40f070d31f3951730953f
7
- data.tar.gz: 43b3322fec01f1cf126bbd3df6843a0054c3c5196eeecbab593f5c62c7b8ae188a126ef8bbfa160a434ce7ed5f47f1cba0cf87057de1b027c8d03fd7ef249800
6
+ metadata.gz: 8db2b3a45fd8208c86b2273da9dbc3fd660692b33cd4a42dc7d821d07a00afb3508cf8bbec734de990a43dfc6eac485a76fd53efd763583f16a1704ddcc45f0c
7
+ data.tar.gz: ef0b3baac7b77b777fc6741b3d0b12aec8b0d03a7a93a2188f872dd18f39fc77687dc106128c5765413c9daa18a998e456226271d6790d41b92f87a3937e17d4
@@ -0,0 +1,80 @@
1
+ name: Check milestone
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, edited, labeled, unlabeled, milestoned, demilestoned, synchronize]
6
+
7
+ jobs:
8
+ check:
9
+ runs-on: ubuntu-latest
10
+
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+
14
+ - name: Extract RBS::Version
15
+ id: version
16
+ run: |
17
+ # Extract version string from lib/rbs/version.rb
18
+ version=$(ruby -e 'load "lib/rbs/version.rb"; print RBS::VERSION')
19
+ echo "version=$version" >> "$GITHUB_OUTPUT"
20
+
21
+ # Parse major.minor.patch
22
+ IFS='.' read -r major minor patch _rest <<< "$version"
23
+ echo "major=$major" >> "$GITHUB_OUTPUT"
24
+ echo "minor=$minor" >> "$GITHUB_OUTPUT"
25
+ echo "patch=$patch" >> "$GITHUB_OUTPUT"
26
+
27
+ echo "RBS::VERSION = $version (major=$major, minor=$minor, patch=$patch)"
28
+
29
+ - name: Check milestone
30
+ uses: actions/github-script@v7
31
+ with:
32
+ script: |
33
+ const pr = context.payload.pull_request;
34
+ const milestone = pr.milestone;
35
+ const labels = pr.labels.map(l => l.name);
36
+
37
+ const version = '${{ steps.version.outputs.version }}';
38
+ const major = '${{ steps.version.outputs.major }}';
39
+ const minor = '${{ steps.version.outputs.minor }}';
40
+ const patch = parseInt('${{ steps.version.outputs.patch }}', 10);
41
+
42
+ if (!milestone) {
43
+ if (labels.includes('no-milestone')) {
44
+ core.info('No milestone set, but no-milestone label is present — OK');
45
+ return;
46
+ }
47
+ core.setFailed(
48
+ 'No milestone set. Add a milestone or add the "no-milestone" label.'
49
+ );
50
+ return;
51
+ }
52
+
53
+ if (labels.includes('no-milestone')) {
54
+ core.setFailed(
55
+ 'Milestone is set but "no-milestone" label is present. Remove the label or the milestone.'
56
+ );
57
+ return;
58
+ }
59
+
60
+ const milestoneName = milestone.title;
61
+ core.info(`Milestone: "${milestoneName}", RBS::VERSION: ${version}`);
62
+
63
+ // Expected milestone based on version:
64
+ // patch == 0 → "RBS major.minor" (e.g. "RBS 4.0")
65
+ // patch >= 1 → "RBS major.minor.x" (e.g. "RBS 4.0.x")
66
+ let expectedMilestone;
67
+ if (patch === 0) {
68
+ expectedMilestone = `RBS ${major}.${minor}`;
69
+ } else {
70
+ expectedMilestone = `RBS ${major}.${minor}.x`;
71
+ }
72
+
73
+ if (milestoneName !== expectedMilestone) {
74
+ core.setFailed(
75
+ `Milestone "${milestoneName}" does not match RBS::VERSION ${version}. ` +
76
+ `Expected milestone: "${expectedMilestone}"`
77
+ );
78
+ } else {
79
+ core.info(`Milestone "${milestoneName}" matches RBS::VERSION ${version}`);
80
+ }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 4.0.2 (2026-03-25)
4
+
5
+ ### Library changes
6
+
7
+ #### rbs collection
8
+
9
+ * Fix: pathname not written to lockfile. ([#2889](https://github.com/ruby/rbs/pull/2889))
10
+
11
+ ### Miscellaneous
12
+
13
+ * Fix test failure on Windows in `ruby/ruby` ([#2900](https://github.com/ruby/rbs/pull/2900))
14
+ * Fix test for Ruby 4.1 ([#2899](https://github.com/ruby/rbs/pull/2899))
15
+
3
16
  ## 4.0.1 (2026-03-23)
4
17
 
5
18
  This is a minor release to fix Ruby CI failure, which was caused by symlinks included in the `rust` directory.
@@ -221,6 +234,14 @@ This release also introduces two language changes: type argument support for sin
221
234
  * Skip loading ruby_memcheck ([#2349](https://github.com/ruby/rbs/pull/2349))
222
235
  * Forcibly uninstall gems even if there is a dependency problem. ([#2346](https://github.com/ruby/rbs/pull/2346))
223
236
 
237
+ ## 3.10.4 (2026-03-25)
238
+
239
+ ### Library changes
240
+
241
+ #### rbs collection
242
+
243
+ * [Backport] [3.10] Fix: pathname not written to lockfile. ([#2896](https://github.com/ruby/rbs/pull/2896))
244
+
224
245
  ## 3.10.3 (2026-01-30)
225
246
 
226
247
  This is a minor fix around the dependency to `tsort`.
@@ -188,8 +188,8 @@ module RBS
188
188
  lockfile.gems[name] = { name: name, version: "0", source: source }
189
189
  end
190
190
  return
191
- when 'set', 'pathname'
192
- # set and pathname is migrated to core from stdlib.
191
+ when 'set'
192
+ # set is migrated to core from stdlib.
193
193
  RBS.logger.info {
194
194
  from = from_gem || "rbs_collection.yaml"
195
195
  "`#{name}` is a part of the Ruby core library. The dependency to the library can be safely deleted from #{from}."
data/lib/rbs/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RBS
4
- VERSION = "4.0.1"
4
+ VERSION = "4.0.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
@@ -68,6 +68,7 @@ files:
68
68
  - ".github/workflows/c-check.yml"
69
69
  - ".github/workflows/comments.yml"
70
70
  - ".github/workflows/dependabot.yml"
71
+ - ".github/workflows/milestone.yml"
71
72
  - ".github/workflows/ruby.yml"
72
73
  - ".github/workflows/rust.yml"
73
74
  - ".github/workflows/typecheck.yml"