-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Filter allowed process type characters #237
Conversation
327c0cd
to
e565d36
Compare
d5f67b2
to
8ba461d
Compare
e565d36
to
cb4eb55
Compare
cb4eb55
to
04c1da9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Future improvements to consider:
Longer term we'll also likely need to update a few things (here and in other components) due to the upcoming RFC1123 subdomain format validation change:
https://github.com/heroku/lyra-runtime/pulls?q=is%3Apr+RFC1123
https://salesforce-internal.slack.com/archives/CCKDG0FAT/p1741792195879209
https://salesforce-internal.slack.com/archives/CAJNZ67FF/p1733907948659819
## heroku/dotnet ### Changed - The buildpack now sanitizes launch process type names, based on project assembly names, by filtering out invalid characters. ([#237](#237)) - Launch process commands with paths containing special characters (including spaces) are now properly quoted. ([#239](#239)) - The `test` launch process, added when targeting the test execution environment, now properly handles solution/project filenames containing special characters (including spaces). ([#240](#240))
## heroku/dotnet ### Changed - The buildpack now sanitizes launch process type names, based on project assembly names, by filtering out invalid characters. ([#237](#237)) - Launch process commands with paths containing special characters (including spaces) are now properly quoted. ([#239](#239)) - The `test` launch process, added when targeting the test execution environment, now properly handles solution/project filenames containing special characters (including spaces). ([#240](#240)) Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
## heroku/dotnet ### Changed - The buildpack now sanitizes launch process type names, based on project assembly names, by filtering out invalid characters. ([#237](heroku/buildpacks-dotnet#237)) - Launch process commands with paths containing special characters (including spaces) are now properly quoted. ([#239](heroku/buildpacks-dotnet#239)) - The `test` launch process, added when targeting the test execution environment, now properly handles solution/project filenames containing special characters (including spaces). ([#240](heroku/buildpacks-dotnet#240))
## heroku/dotnet ### Changed - The buildpack now sanitizes launch process type names, based on project assembly names, by filtering out invalid characters. ([#237](heroku/buildpacks-dotnet#237)) - Launch process commands with paths containing special characters (including spaces) are now properly quoted. ([#239](heroku/buildpacks-dotnet#239)) - The `test` launch process, added when targeting the test execution environment, now properly handles solution/project filenames containing special characters (including spaces). ([#240](heroku/buildpacks-dotnet#240)) Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
We currently use the project assembly name to build launch process types. However, assembly names can include several characters that are not allowed in the CNB spec.
This PR changes the launch process type to only include characters allowed by the CNB spec, eliminating the need to warn users when an invalid character is included in the assembly name. It also allows us to safely make the
detect_solution_process
infallible, reducing code complexity in the process.Future improvements to consider:
foo+bar.csproj
,foobar.csproj
,foo bar.csproj
will all use thefoobar
process type name), which the CNB spec doesn't allow..
and upper-case characters #188, we may want to also filter out.
, even if it's allowed under the CNB spec, to increase compatibility with theProcfile
spec (which only allows alphanumeric characters + hyphens and underscores). Using.
in .NET project names (e.g.MyApp.Frontend
) is fairly common, so this is more likely to cause issues for users of this buildpack.