lifecycle
lifecycle copied to clipboard
Launcher fails to find default process when process type contains `.`
trafficstars
Summary
This was initially uncovered in https://github.com/paketo-buildpacks/dotnet-publish/pull/356, where the Paketo buildpacks use .NET Core project names as process types. Some of these look like Steeltoe.Demo. It's common for .NET project names to contain .. The buildpacks spec states that . is a valid character in a process type name. However, when process types contain this character, the launcher fails to identify the default process at app launch time. The launcher fails with the error
ERROR: failed to launch: determine start command: when there is no default process a command is required
Reproduction
Steps
Follow the reproduction steps in the README.md for this minimal sample buildpack + sample app: https://github.com/fg-j/explorations/tree/main/launcher-bug
Current behavior
docker run --rm -it sample-app
ERROR: failed to launch: determine start command: when there is no default process a command is required
Expected
docker run --rm -it sample-app
Default entrypoint process
Context
lifecycle version
pack builder inspect cnbs/sample-builder:bionic
Inspecting builder: cnbs/sample-builder:bionic
REMOTE:
Created By:
Name: Pack CLI
Version: 0.27.0+git-f4f5be1.build-3382
Trusted: No
Stack:
ID: io.buildpacks.samples.stacks.bionic
Lifecycle:
Version: 0.14.1
Buildpack APIs:
Deprecated: (none)
Supported: 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8
Platform APIs:
Deprecated: (none)
Supported: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9
Run Images:
cnbs/sample-stack-run:bionic
platform version(s)
pack report
Pack:
Version: 0.27.0+git-f4f5be1.build-3382
OS/Arch: darwin/amd64
Default Lifecycle Version: 0.14.1
Supported Platform APIs: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9