From 23c0c9ca56d2f6508c1a74626a338a7d16678ee6 Mon Sep 17 00:00:00 2001 From: Dmytro Shteflyuk Date: Tue, 4 Nov 2025 16:16:09 -0500 Subject: [PATCH] Added a release date format check to the linter --- _data/releases.yml | 6 +++--- lib/linter.rb | 1 + test/test_linter_invalid_release_data.rb | 11 +++++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/_data/releases.yml b/_data/releases.yml index 3407132d34..3e8e8ac2c6 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -339,7 +339,7 @@ # 3.3 series - version: 3.3.10 - date: '2025-10-23' + date: 2025-10-23 post: "/en/news/2025/10/23/ruby-3-3-10-released/" url: gz: https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.10.tar.gz @@ -363,7 +363,7 @@ zip: 70ee931fe6ceca0f105e270c882fc019299450fbe75b3da4cadc14a544270eda876eb8cba47a164cac2ada3116b70e6c24efa7061ceab62c1d4af20a16caaf35 - version: 3.3.9 - date: '2025-07-24' + date: 2025-07-24 post: "/en/news/2025/07/24/ruby-3-3-9-released/" url: gz: https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.9.tar.gz @@ -727,7 +727,7 @@ # 3.2 series - version: 3.2.9 - date: '2025-07-24' + date: 2025-07-24 post: "/en/news/2025/07/24/ruby-3-2-9-released/" url: gz: https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.9.tar.gz diff --git a/lib/linter.rb b/lib/linter.rb index f3254ffdfc..63d9e807bf 100644 --- a/lib/linter.rb +++ b/lib/linter.rb @@ -125,6 +125,7 @@ def check_releases errors[release] << invalid_url_message(release.post) if release.post_url_invalid? errors[release] << "release date and post date do not match" if release.date_mismatch? errors[release] << missing_post_message(release.post_filename) if release.post_missing? + errors[release] << "release date is a string, not a Date object" if release.date.is_a?(String) end end diff --git a/test/test_linter_invalid_release_data.rb b/test/test_linter_invalid_release_data.rb index 24efe49272..b57176760f 100644 --- a/test/test_linter_invalid_release_data.rb +++ b/test/test_linter_invalid_release_data.rb @@ -57,4 +57,15 @@ create_file("_data/releases.yml", content) _(linter_output).must_match "release date and post date do not match" end + + it "reports release data with wrong date format" do + content = <<~YAML + - version: 2.7.1 + date: '2020-01-01' + post: /en/news/2020/01/01/post/ + YAML + + create_file("_data/releases.yml", content) + _(linter_output).must_match "release date is a string, not a Date object" + end end