Verifying Compatibility With Golang Version Update

When Meshery is updated to use a newer version of Golang, extension providers need to ensure their integrations remain compatible with Meshery. Follow these steps to verify compatibility of your integrations caused by Golang version changes:

Note

The current Golang Version is mentioned in the Contributing Guide. Update to this version everywhere.

Checkout the Latest Meshery Repository

Clone the latest version of the Meshery repository to ensure you are working with the most recent codebase. If you already have the repository, use git pull to fetch the latest changes.

Update go.mod to Use the New Golang Version

Open the go.mod file located in the root of the Meshery repository. Update the go directive to the new Golang version.

  
go 1.xx

Update the Golang Version in the Makefile

Navigate to /install/Makefile.core.mk and locate the $GOVERSION variable. Update it to reflect the new Golang version.

  
GOVERSION = 1.xx

Build and Run the Updated Meshery Server

Compile the updated Meshery server using make server to ensure it works with the new Golang version. Once the server starts, check that it runs without errors.

Update Your Golang-Based Plugin

Update your extension’s go.mod file to use the same Golang version as the updated Meshery server. Then build the plugin.

  
go build -o my-plugin

Run Meshery Server and Extension

Start your upgraded Meshery server and your updated extension together to verify compatibility. Ensure that both components run without any issues. Monitor the Meshery server logs for any errors or issues related to the extension.

Validate Your Plugin’s Functionality

Finally, test your extension to ensure it operates as expected. Validate that all key functionalities are working, including:

  • The interaction between Meshery and your extension.
  • Any custom features specific to your extension.
  • UI elements, if applicable.