Skip to content

Add a warning when multiple package managers are found#1692

Merged
edmorley merged 1 commit intomainfrom
multiple-package-manager-warning
Nov 8, 2024
Merged

Add a warning when multiple package managers are found#1692
edmorley merged 1 commit intomainfrom
multiple-package-manager-warning

Conversation

@edmorley
Copy link
Copy Markdown
Member

@edmorley edmorley commented Nov 8, 2024

Currently the buildpack will use whichever package manager it finds first, if the files of multiple package managers are found.

This occasionally results in support tickets where the user believes the build to not be installing dependencies correctly, when in fact they are adding dependencies to the wrong package manager file.

As such, we want to make the presence of multiple package manager files an error, but we're first adding a warning so it's not a surprise. (Plus with the recent Poetry support addition, there will be apps using the third party Poetry buildpack that have both a poetry.lock and the generated requirements.txt until they remove the third-party buildpack.)

Towards #1691.
GUS-W-17167927.

@edmorley edmorley self-assigned this Nov 8, 2024
Currently the buildpack will use whichever package manager it
finds first, if the files of multiple package managers are found.

This occasionally results in support tickets where the user believes
the build to not be installing dependencies correctly, when in fact
they are adding dependencies to the wrong package manager file.

As such, we want to make the presence of multiple package manager
files an error, but first we should add a warning so it's not a surprise.

(Plus with the recent Poetry support addition, there will be apps using
the third party Poetry buildpack that have both a `poetry.lock` and
the generated `requirements.txt` until they remove the third-party
buildpack.)

Towards #1691.
GUS-W-17167927.
@edmorley edmorley force-pushed the multiple-package-manager-warning branch from 0872bcd to ce7296c Compare November 8, 2024 16:54
@edmorley edmorley marked this pull request as ready for review November 8, 2024 17:06
@edmorley edmorley requested a review from a team as a code owner November 8, 2024 17:06
@edmorley edmorley enabled auto-merge (squash) November 8, 2024 17:12
Copy link
Copy Markdown

@colincasey colincasey left a comment

Choose a reason for hiding this comment

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

Learning from my mistake by making the detection of multiple package managers a warning before making it an error 😅

@edmorley edmorley merged commit 0cd8efc into main Nov 8, 2024
@edmorley edmorley deleted the multiple-package-manager-warning branch November 8, 2024 17:58
@heroku-linguist heroku-linguist bot mentioned this pull request Nov 8, 2024
edmorley added a commit that referenced this pull request Dec 9, 2025
Currently the buildpack will use whichever package manager it finds
first, if the files of multiple package managers are found.

This occasionally results in support tickets where the user believes the
build to not be installing dependencies correctly, when in fact they are
adding dependencies to the wrong package manager file.

It also means historic users of third-party Poetry and uv buildpacks
might not realise that the buildpack now natively supports those package
managers (in a much more efficient way), if they missed our release
announcements.

As such, in November 2024 in #1692 a warning was added, which we're now
converting to an error.

Users with multiple package manager files committed to their Git repo
will need to pick one package manager and delete the files relating to
the others.

And users who are still using the third-party Poetry or uv buildpacks
will need to remove those buildpacks from their app:
https://devcenter.heroku.com/articles/managing-buildpacks#remove-classic-buildpacks

GUS-W-18915632.
edmorley added a commit that referenced this pull request Dec 9, 2025
Currently the buildpack will use whichever package manager it finds
first, if the files of multiple package managers are found.

This occasionally results in support tickets where the user believes the
build to not be installing dependencies correctly, when in fact they are
adding dependencies to the wrong package manager file.

It also means historic users of third-party Poetry and uv buildpacks
might not realise that the buildpack now natively supports those package
managers (in a much more efficient way), if they missed our release
announcements.

As such, in November 2024 in #1692 a warning was added, which we're now
converting to an error.

Users with multiple package manager files committed to their Git repo
will need to pick one package manager and delete the files relating to
the others.

And users who are still using the third-party Poetry or uv buildpacks
will need to remove those buildpacks from their app:
https://devcenter.heroku.com/articles/managing-buildpacks#remove-classic-buildpacks

Closes #1691.
GUS-W-18915632.
edmorley added a commit that referenced this pull request Dec 10, 2025
Currently the buildpack will use whichever package manager it finds
first, if the files of multiple package managers are found.

This occasionally results in support tickets where the user believes the
build to not be installing dependencies correctly, when in fact they are
adding dependencies to the wrong package manager file.

It also means historic users of third-party Poetry and uv buildpacks
might not realise that the buildpack now natively supports those package
managers (in a much more efficient way), if they missed our release
announcements.

As such, in November 2024 in #1692 a warning was added, which we're now
converting to an error.

Users with multiple package manager files committed to their Git repo
will need to pick one package manager and delete the files relating to
the others.

And users who are still using the third-party Poetry or uv buildpacks
will need to remove those buildpacks from their app:
https://devcenter.heroku.com/articles/managing-buildpacks#remove-classic-buildpacks

Closes #1691.
GUS-W-18915632.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants