-
Notifications
You must be signed in to change notification settings - Fork 6
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
Internal Buildpacks Error with new heroku/procfile@3.0.0
version
#214
Comments
Ref: heroku/buildpacks-procfile#214 Ref: heroku/libcnb.rs@033f612 Add `CNB_TARGET_OS` and `CNB_TARGET_ARCH` to fix error during the detect phase, where the target system cannot be detected: ``` [Error: Internal Buildpack Error] Couldn't determine target os: environment variable not found err: heroku/procfile@3.0.0 (1) ======== Output: heroku/procfile@3.0.0 ======== ``` There seems to be a changed behavior that was introduced in the common buildpacks library that is in use that expects these environment variables to be present to detect the target system OS and architecture. Signed-off-by: Matthias Diester <matthias.diester@de.ibm.com>
Ref: heroku/buildpacks-procfile#214 Ref: heroku/libcnb.rs@033f612 Add `CNB_TARGET_OS` and `CNB_TARGET_ARCH` to fix error during the detect phase, where the target system cannot be detected: ``` [Error: Internal Buildpack Error] Couldn't determine target os: environment variable not found err: heroku/procfile@3.0.0 (1) ======== Output: heroku/procfile@3.0.0 ======== ``` There seems to be a changed behavior that was introduced in the common buildpacks library that is in use that expects these environment variables to be present to detect the target system OS and architecture. Signed-off-by: Matthias Diester <matthias.diester@de.ibm.com>
@HeavyWombat Hi! The v3.0.0 release of Procfile CNB upgraded the buildpack from Buildpack API 0.8 to 0.10, mentioned in the changelog here: In Buildpack API 0.10, the spec states that when the buildpack is run, various If you're seeing that error message, it means that the env var The error message could make this a little clearer - I've filed heroku/libcnb.rs#803 to improve it. We didn't really expect anyone to see that error message, since it's a spec violation if the env var is not set. What Buildpack API 0.10 requires at least lifecycle However, I would have thought older |
Also, I'm pretty sure you shouldn't need to set those env vars manually (since that's something that However, I'm not completely familiar with invoking Or on their Slack: |
@edmorley Thanks for the detailed explanation, it now becomes more clear to me how we ended up with the error in the first place. To be honest, my Shipwright PR was mostly done based on a gut feeling and a local test that showed that adding these environment variables made the test cases work again, since the library changes clearly pointed into this direction. I did browse over the release notes and change logs, but I obviously missed that note, so thanks for that pointer. Due to the way that the build strategies work and the Kubernetes setup, I think we are using Buildpacks in a slightly different style than most users. And thanks for heroku/libcnb.rs#803, even though we are pretty much the definition of an edge case scenario here, I think it can help. Being unfamiliar with the code base, it took me a bit to dig down to the library to finally make sense of the error message in terms of what it wants to read. I really appreciate your help here! I think we can close the issue. |
Happy to help! Glad you figured out a fix :-) |
Yeah this has been confirmed as a |
Since yesterday, we observe the following error that breaks our builds:
It looks like the new version does something different with regards to obtaining the operating system through an environment variable?
The text was updated successfully, but these errors were encountered: