Skip to content
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

Make buildkite testing pipeline for dmd treat deprecations as errors #105

Open
RazvanN7 opened this issue Jul 19, 2023 · 2 comments
Open
Labels

Comments

@RazvanN7
Copy link
Contributor

Description

Once a partic ular feature is deprecated, tested projects that are using that feature are still going to successfully pass the testing pipeline - buildkite in our case. This doesn't indicate what is the level of disruption that a particular deprecation yields and may lead to issuing a "blizzard of deprecations" that fall under the radar for the person that does the deprecation.

The purpose of this project is make buildkite treat deprecations as errors and then update all of the currently tested projects to not issue any deprecations.

What are rough milestones of this project?

  • Create PR for buildkite to treat deprecations as warnings in the dmd testing pipeline
  • Fix each project that fails as a consequence of the changes in the first step

How does this project help the D community?

The most important D projects should be present in the buildkite testing pipeline. Therefore, when introducing a deprecation we can get an idea of what the actual "breakage" is going to be if a feature is to be dropped. In addition, fixing the most popular projects to not issue any deprecations is going to make it easier and far less confusing to use those packages.

Recommended skills

Git, D, perseverence, patience, make, bash, CI/CD

Point of Contact

@RazvanN7

@RazvanN7 RazvanN7 added the saoc label Jul 19, 2023
@Geod24
Copy link
Member

Geod24 commented Jul 19, 2023

Hardly workable. Look at Ocean, it explicitly treat deprecations as such (because the default is deprecation as error).
It should be the responsibility of the person introducing the deprecation to do this work. It's as simple as switching a boolean on in the code, see what breaks, and fix it. But you might have to wait for new releases for a deprecation to be mergeable.

@RazvanN7
Copy link
Contributor Author

I agree it should be the responsibility of the person introducing the deprecation, but since the testing pipeline passes successfully how is one supposed to see and fix the errors? If the answer is: "manually check each project", that's not realistic. Therefore, if we realistically want to avoid having deprecations forever in the projects tested by buildkite, we need to fix them now and enable -de for all of them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants