Skip to content

build: assert bin/* contents in built gem to prevent global pollution.#29915

Merged
iBotPeaches merged 1 commit into
fastlane:masterfrom
iBotPeaches:bin-test
Mar 22, 2026
Merged

build: assert bin/* contents in built gem to prevent global pollution.#29915
iBotPeaches merged 1 commit into
fastlane:masterfrom
iBotPeaches:bin-test

Conversation

@iBotPeaches

@iBotPeaches iBotPeaches commented Feb 19, 2026

Copy link
Copy Markdown
Member

Problem

We sometimes emit more bin binaries than intended. Development binaries should not be exposed, especially something as generic as "console".

Solution

Add CI to test what we emit in /bin. This will prevent the issue in #29914 from re-appearing.

@iBotPeaches iBotPeaches changed the title build: confirm bin/ contents in gem build: assert bin/* contents in built gem to prevent global pollution. Feb 19, 2026
@iBotPeaches iBotPeaches marked this pull request as ready for review February 19, 2026 11:48
export PATH="$GEM_HOME/bin:$PATH"

# Verify executables
ruby -e "require 'rubygems/package'; spec = Gem::Package.new('${{ steps.build.outputs.gem_file }}').spec; expected = %w(bin-proxy fastlane match_file); puts \"Gem executables: #{spec.executables}\"; exit(1) unless spec.executables.sort == expected.sort"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Is there any advantages of having all these scripts in github as opposed to a single sanity_test.sh test script that we could run locally as well?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I felt kinda dirty polluting scripts in main area, thats why I moved this one into .github - https://github.com/fastlane/fastlane/tree/master/.github/scripts

I figure only those really in-tune would run it on their own and CI is pretty quick with these tests at least.

@iBotPeaches iBotPeaches merged commit 5835bdd into fastlane:master Mar 22, 2026
9 checks passed

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @iBotPeaches 👋

Thank you for your contribution to fastlane and congrats on getting this pull request merged 🎉
The code change now lives in the master branch, however it wasn't released to RubyGems yet.
We usually ship about once a month, and your PR will be included in the next one.

Please let us know if this change requires an immediate release by adding a comment here 👍
We'll notify you once we shipped a new release with your changes 🚀"

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulations! 🎉 This was released as part of fastlane 2.233.0 🚀

@github-actions github-actions Bot locked and limited conversation to collaborators Jun 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants