-
-
Notifications
You must be signed in to change notification settings - Fork 579
process: preparing go1.18 support #2264
Comments
@sio4 Should updates to Dockerfiles go here? |
The first step was just finished without a big issue. the next step will be performed soon. As a side note, the testing for the buffalo core was not successful when the new standard testing was applied since there was a hidden racing condition on the simple worker side, now the issue was fixed too. (Thank you for the standard testing workflow!) |
Ah, I will add the step! Missed during writing the OP. |
Thank you. Appreciate it. |
Step 3: manual application-level test with a new sample application and/or an existing application
All is good from the perspective of the go1.18 upgrade. |
By the way, IMO, I would like to keep the code compatible with 1.16 for a while (I mean we don't need to proactively remove compatibility code) since I think there are many users who still using 1.16 in their production. (I hope our policy for the go version could be a kind of "we officially support the last two versions of go, but it could be ok using a few more previous versions") -- (copied from gobuffalo/cli#164 to keep track this here) |
@sio4 I think we should keep our efforts as focused as possible given the amount of work we can afford as a team. Also, it's very hard to support a version of Go that's not even receiving updates by the Go team. More than that, we know that running tests for another version of Go makes will consume more from our testing minutes in actions. I think we should stick to keeping support ONLY for the last two versions of Go. That said, I love the improvements you've done with our actions, with those I think we're better prepared for the release of Go 1.19 (August 2022). |
@paganotoni Yeah, I totally agree that we should focus on what we can do. Supporting older versions could not be a thing we can do continuously. However, what I wanted to say was not to keep our code to be compatible with the older versions but I think we don't need to deprecate them "proactively without a good reason". For example, supporting Generic could be a good reason (even though I am not a fan of Generic) since I guess that will be helpful to improve the performance in some parts, so once we move there, we should deprecate supporting 1.17 and below completely. However, in my opinion, we also need to consider our users. I don't think the 6 months cycle (the same as go's release cycle) is good for the end-users because it can be a burden for them as the same as we are. (we cannot support older versions because of the limitation of resources, the users cannot chase the new versions because of the limitation of their resources) So my idea for the strategy is that "Rapidly move forward, only support the recent two versions officially, but deprecate lazily." One more thing I want to say about this topic is that I hope we can just mark the current version of the buffalo core as v1 regardless of the original goal of v1, and declare v1 as the era until go1.17 so v1 supports go1.16 and go1.17. Then we could start preparing for the next era with go1.18 and above for the long-term goal while we use the period of go1.17 and go1.18 as the interim period of buffalo v2-alpha/beta. Actually, the goal for the "road to v1" was mostly for the So my rough idea is that:
What do you think? |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue was closed because it has been stalled for 5 days with no activity. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
Go version 1.18 was already released and many developers want to use the version with the Buffalo framework. Even though we think the current version of buffalo will work fine with the new go version, we need to make sure if there are some issues, also we need to officially announce the shifting of the supported version.
I am preparing for the transition with the following steps:
Integration Test
This is a virtual step that covers the integration test. Since the
cli
package has many test cases for the integration tests, This step will not be executed as a separate action. This issue will be used to track if there are any issues with integration.Manual Application-level Test
As the last step of "preparing go1.18 support", the application-level tests will be performed manually with new packages if any packages are upgraded as a part of this task. This issue will be used as a tracking issue if we found something not smooth.
The text was updated successfully, but these errors were encountered: