Skip to content

Various improvements - #387

Merged
alex-leb merged 11 commits into
mailgun:masterfrom
n-rodriguez:wip/gemspec
Oct 14, 2026
Merged

alex-leb merged 11 commits into
mailgun:masterfrom
n-rodriguez:wip/gemspec

Conversation

@n-rodriguez

@n-rodriguez n-rodriguez commented Mar 28, 2026 •

Copy link
Copy Markdown
Contributor

Note: better reviewed commit by commit

Thank you!

@alex-leb
alex-leb self-requested a review April 3, 2026 20:23
@n-rodriguez

Copy link
Copy Markdown
Contributor Author

ping @alex-leb thank you!

@alex-leb

alex-leb commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Thanks for this, @n-rodriguez, and sorry it sat so long. The lib/ changes, binstubs, spec:all default and slimmer gem all look good. I pushed a few commits on top to get CI green:

  • Reverted the simplecov formatter swap (8887296). Our CI coverage step (joshmfrankel/simplecov-check-action) reads files[].covered_percent from coverage/coverage.json, which only simplecov-json writes. With simplecov_json_formatter that step would crash on master. Moving to the official formatter needs a CI change, so let's do that separately.
  • Kept RuboCop's default excludes (40cd26f). Setting AllCops/Exclude replaces the defaults (vendor/**/*, …), so CI linted the gems in vendor/bundle and crashed. Added inherit_mode: merge: [Exclude].
  • Grouped the dev/test gems in the Gemfile (1d80ea6) so BUNDLE_WITHOUT=development still skips them, and required rubocop-performance >= 1.24, which plugins: needs.
  • Built the gem from git ls-files (385e05b) for the same paths, so untracked files under lib/ can't end up in a release. The file list is the same as yours today.

The Ruby 4.0 job will still show a 403 from the coverage step. That happens on every PR from a fork (read-only token) and is on our side.

Thanks again!

This reverts commit 144dc21.

CI's simplecov-check-action reads files[].covered_percent from
coverage/coverage.json, which is the simplecov-json format.
simplecov_json_formatter writes meta/coverage/groups instead, so the
coverage step would crash with nil.select on master.
Setting AllCops/Exclude replaces RuboCop's defaults (vendor/**/*,
tmp/**/*, ...), so CI's rubocop job linted gems under vendor/bundle and
crashed on a gem's .rubocop.yml. Merge with the defaults instead.
As gemspec development dependencies these were skipped with
BUNDLE_WITHOUT=development; keep that working now they live in the
Gemfile. Also require rubocop-performance >= 1.24, the first release
that can be loaded under plugins: in .rubocop.yml.
Dir[] would pick up untracked files under lib/ (scratch files, WIP) at
release time. Use git ls-files for the same paths so only committed
files ship; the file list is unchanged today.
@alex-leb alex-leb closed this Oct 14, 2026
@alex-leb alex-leb reopened this Oct 14, 2026
@alex-leb
alex-leb merged commit 4448937 into mailgun:master Oct 14, 2026
12 of 14 checks passed
@n-rodriguez

Copy link
Copy Markdown
Contributor Author

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants