Skip to content

Commit 23c0c9c

Browse files
committed
Added a release date format check to the linter
1 parent d84ffbb commit 23c0c9c

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

_data/releases.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@
339339
# 3.3 series
340340

341341
- version: 3.3.10
342-
date: '2025-10-23'
342+
date: 2025-10-23
343343
post: "/en/news/2025/10/23/ruby-3-3-10-released/"
344344
url:
345345
gz: https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.10.tar.gz
@@ -363,7 +363,7 @@
363363
zip: 70ee931fe6ceca0f105e270c882fc019299450fbe75b3da4cadc14a544270eda876eb8cba47a164cac2ada3116b70e6c24efa7061ceab62c1d4af20a16caaf35
364364

365365
- version: 3.3.9
366-
date: '2025-07-24'
366+
date: 2025-07-24
367367
post: "/en/news/2025/07/24/ruby-3-3-9-released/"
368368
url:
369369
gz: https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.9.tar.gz
@@ -727,7 +727,7 @@
727727
# 3.2 series
728728

729729
- version: 3.2.9
730-
date: '2025-07-24'
730+
date: 2025-07-24
731731
post: "/en/news/2025/07/24/ruby-3-2-9-released/"
732732
url:
733733
gz: https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.9.tar.gz

lib/linter.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ def check_releases
125125
errors[release] << invalid_url_message(release.post) if release.post_url_invalid?
126126
errors[release] << "release date and post date do not match" if release.date_mismatch?
127127
errors[release] << missing_post_message(release.post_filename) if release.post_missing?
128+
errors[release] << "release date is a string, not a Date object" if release.date.is_a?(String)
128129
end
129130
end
130131

test/test_linter_invalid_release_data.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,15 @@
5757
create_file("_data/releases.yml", content)
5858
_(linter_output).must_match "release date and post date do not match"
5959
end
60+
61+
it "reports release data with wrong date format" do
62+
content = <<~YAML
63+
- version: 2.7.1
64+
date: '2020-01-01'
65+
post: /en/news/2020/01/01/post/
66+
YAML
67+
68+
create_file("_data/releases.yml", content)
69+
_(linter_output).must_match "release date is a string, not a Date object"
70+
end
6071
end

0 commit comments

Comments
 (0)