From 273080d70475dbd7d89cd4e32f1aed139a4166f8 Mon Sep 17 00:00:00 2001 From: cb-alish Date: Thu, 2 Jul 2026 09:32:12 +0530 Subject: [PATCH] ci: fail release if gem manifest is out of date The release workflow built the gem directly without regenerating the s.files manifest in chargebee.gemspec. When new files were added but the manifest was not updated, they were silently excluded from the published gem. Add a step that runs `make update-manifest` and fails the release if chargebee.gemspec differs, preventing missing build artifacts. Co-authored-by: Cursor --- .github/workflows/release.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a6a9322..133d0ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,6 +31,20 @@ jobs: fi echo "✅ Tag matches gemspec version." + - name: Verify gem manifest is up to date + run: | + make update-manifest + if ! git diff --quiet -- chargebee.gemspec; then + echo "❌ Gem manifest in chargebee.gemspec is out of date." + echo "Some files tracked in the repo are missing from (or stale in) s.files," + echo "which means they would not be packaged into the released gem." + echo "Run 'make update-manifest' locally and commit the updated chargebee.gemspec." + echo "----- diff -----" + git --no-pager diff -- chargebee.gemspec + exit 1 + fi + echo "✅ Gem manifest is up to date." + - name: Build gem run: gem build chargebee.gemspec