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

[main] upgrade module to v9 standard go version workflow #3260

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

jcvrabo
Copy link

@jcvrabo jcvrabo commented Oct 21, 2024

Thank you for contributing to the CF CLI! Please read the following:

  • Please make sure you have implemented changes in line with the contributing guidelines
  • We're not allowed to accept any PRs without a signed CLA, no matter how small.
    If your contribution falls under a company CLA but your membership is not public, expect delays while we confirm.
  • All new code requires tests to protect against regressions.
  • Contributions must be made against the appropriate branch. See the contributing guidelines
  • Contributions must conform to our style guide. Please reach out to us if you have questions.

Note: Please create separate PR for every branch (main, v8 and v7) as needed.

Description of the Change

This change upgrades the module name according to the new go version workflow as described in https://go.dev/doc/modules/release-workflow

It also has a small fix in the app_summary_displayer_test.go date regex so that it supports up to 4 character time zone abbreviations (required for CEST local builds, for example). And also returned some dependencies to test classes in the plugins packages, removed somewhere in march.

The fix is presented as a transitional one, the cli has dependency to the archived project https://github.com/cloudfoundry-incubator/cfnetworking-cli-api which doesn't use go modules and has a recursive dependency back to the cli. This makes it difficult to smoothly upgrade it in the future. The project now has a dependency of the latest cli version without modules (v7.1.0) which is used by the UAAClient to also create a legacy connection and then use it when creating the cf networking client. It's less than optimal.

The way forward is to remove the recursive dependency by either unarchiving the cfnetworking project (and removing the recursive dependency), creating a new library or adding the cf networking client directly to the cli code base. This workaround is a quick fix to move forward with standard versioning.

Why Is This PR Valuable?

At the moment the development of plugins with go modules is dependent on cli v7.1.0 (which is still not a module). This implies that plugins cannot be updated with any security and version updates that may come from newer versions.

The PR will allow plugins to be updated to the latest cli version.

Applicable Issues

#2291

How Urgent Is The Change?

It has a relative urgency, if you consider the need to update plugins as well as making this change as soon as possible for further progress of the cli

Other Relevant Parties

To my knowledge this only affects plugins (and their maintainers/developers).

@jcvrabo jcvrabo changed the title upgrade module to v9 standard go version workflow [main] upgrade module to v9 standard go version workflow Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant