From b81eb78ae31d5691752ed94550fd41f62fc4370f Mon Sep 17 00:00:00 2001 From: Kalaiselvi Murugesan Date: Wed, 8 May 2024 23:13:00 +0000 Subject: [PATCH 1/6] Steps to Promote SDK Features from Alpha to Beta --- pkg/util/runtime/features.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pkg/util/runtime/features.go b/pkg/util/runtime/features.go index 38be5ff5cb..2a30f5f8a9 100644 --- a/pkg/util/runtime/features.go +++ b/pkg/util/runtime/features.go @@ -100,6 +100,42 @@ var ( // * change the value in site/content/en/docs/Guides/feature-stages.md. // * Ensure that the features in each file are organized categorically and alphabetically. // + // ** Feature Promotion: Alpha to Beta for SDK Functions + // * Move alpha feature to beta from: + // - proto/sdk/alpha/alpha.proto to proto/sdk/beta/beta.proto. + // - sdks/go/alpha.go to sdks/go/beta.go + // - sdks/go/alpha_test.go to sdks/go/beta_test.go + // - sdks/csharp/proto/sdk/alpha/alpha.proto to sdks/csharp/proto/sdk/beta/beta.proto + // - sdks/csharp/sdk/Alpha.cs to sdks/csharp/sdk/Beta.cs + // - sdks/csharp/sdk/IAgonesAlphaSDK.cs to sdks/csharp/sdk/IAgonesBetaSDK.cs + // - sdks/csharp/test/AgonesAlphaSDKClientTests.cs to sdks/csharp/test/AgonesBetaSDKClientTests.cs + // - sdks/rust/proto/sdk/alpha/alpha.proto to sdks/rust/proto/sdk/beta/beta.proto + // - sdks/swagger/alpha.swagger.json to sdks/swagger/beta.swagger.json + // - NOTE: Delete alpha feature related lines from alpha files and update import paths accordingly. + // + // * Change all instances of "alpha" to "beta" in the following files: + // - proto/sdk/sdk.proto + // - examples/simple-game-server/main.go + // - pkg/sdkserver/localsdk.go + // - pkg/sdkserver/localsdk_test.go + // - pkg/sdkserver/sdkserver.go + // - pkg/sdkserver/sdkserver_test.go + // - test/sdk/restapi/http-api-test.go + // - sdks/csharp/proto/sdk/sdk.proto + // - test/sdk/csharp/Program.cs + // - test/sdk/go/sdk-client-test.go + // - sdks/rust/proto/sdk/sdk.proto + // - sdks/swagger/sdk.swagger.json + // + // * Add beta info in: + // - sdks/go/sdk.go + // - cmd/sdk-server/main.go + // - sdks/csharp/sdk/AgonesSDK.cs + // - sdks/csharp/sdk/IAgonesSDK.cs + // * Update build/build-sdk-images/restapi/gen.sh, build/build-sdk-images/csharp/gen.sh to automate beta file generation + // * Run `make gen-all-sdk-grpc` to modify autogenerated files + // * NOTE: DO NOT EDIT any autogenerated code. `make gen-all-sdk-grpc` will take care of it. + // // To promote a feature from beta->GA: // * remove all places consuming the feature gate and fold logic to true // * consider cleanup - often folding a gate to true allows refactoring From a5cadd17527fcdc0571e52335e3c50960a7168d4 Mon Sep 17 00:00:00 2001 From: Kalaiselvi Murugesan Date: Thu, 9 May 2024 01:06:27 +0000 Subject: [PATCH 2/6] make more generic --- pkg/util/runtime/features.go | 43 +++++++----------------------------- 1 file changed, 8 insertions(+), 35 deletions(-) diff --git a/pkg/util/runtime/features.go b/pkg/util/runtime/features.go index 2a30f5f8a9..17594a5545 100644 --- a/pkg/util/runtime/features.go +++ b/pkg/util/runtime/features.go @@ -100,41 +100,14 @@ var ( // * change the value in site/content/en/docs/Guides/feature-stages.md. // * Ensure that the features in each file are organized categorically and alphabetically. // - // ** Feature Promotion: Alpha to Beta for SDK Functions - // * Move alpha feature to beta from: - // - proto/sdk/alpha/alpha.proto to proto/sdk/beta/beta.proto. - // - sdks/go/alpha.go to sdks/go/beta.go - // - sdks/go/alpha_test.go to sdks/go/beta_test.go - // - sdks/csharp/proto/sdk/alpha/alpha.proto to sdks/csharp/proto/sdk/beta/beta.proto - // - sdks/csharp/sdk/Alpha.cs to sdks/csharp/sdk/Beta.cs - // - sdks/csharp/sdk/IAgonesAlphaSDK.cs to sdks/csharp/sdk/IAgonesBetaSDK.cs - // - sdks/csharp/test/AgonesAlphaSDKClientTests.cs to sdks/csharp/test/AgonesBetaSDKClientTests.cs - // - sdks/rust/proto/sdk/alpha/alpha.proto to sdks/rust/proto/sdk/beta/beta.proto - // - sdks/swagger/alpha.swagger.json to sdks/swagger/beta.swagger.json - // - NOTE: Delete alpha feature related lines from alpha files and update import paths accordingly. - // - // * Change all instances of "alpha" to "beta" in the following files: - // - proto/sdk/sdk.proto - // - examples/simple-game-server/main.go - // - pkg/sdkserver/localsdk.go - // - pkg/sdkserver/localsdk_test.go - // - pkg/sdkserver/sdkserver.go - // - pkg/sdkserver/sdkserver_test.go - // - test/sdk/restapi/http-api-test.go - // - sdks/csharp/proto/sdk/sdk.proto - // - test/sdk/csharp/Program.cs - // - test/sdk/go/sdk-client-test.go - // - sdks/rust/proto/sdk/sdk.proto - // - sdks/swagger/sdk.swagger.json - // - // * Add beta info in: - // - sdks/go/sdk.go - // - cmd/sdk-server/main.go - // - sdks/csharp/sdk/AgonesSDK.cs - // - sdks/csharp/sdk/IAgonesSDK.cs - // * Update build/build-sdk-images/restapi/gen.sh, build/build-sdk-images/csharp/gen.sh to automate beta file generation - // * Run `make gen-all-sdk-grpc` to modify autogenerated files - // * NOTE: DO NOT EDIT any autogenerated code. `make gen-all-sdk-grpc` will take care of it. + // Feature Promotion: Alpha to Beta for SDK Functions + // * Move alpha feature from alpha files to beta files across the SDKs. + // * Delete alpha feature related lines from alpha files and update import paths accordingly in alpha and beta files. + // * Replace all instances of "alpha" with "beta" in source code and test files across all SDKs. + // * Include beta information in the sdk files and reflect the promotion of features from alpha to beta. + // * Update automation scripts in the build/build-sdk-images directory to support beta file generation. + // * Run `make gen-all-sdk-grpc` to generate the required files, then execute the `make run-sdk-conformance-test-go` command and address any issues that arise. + // * NOTE: DO NOT EDIT any autogenerated code. `make gen-all-sdk-grpc` will take care of it. // // To promote a feature from beta->GA: // * remove all places consuming the feature gate and fold logic to true From 36ae0e0cc6d9e0b2aa6d1819e7d32b09f6f76ef9 Mon Sep 17 00:00:00 2001 From: Kalaiselvi Murugesan Date: Fri, 10 May 2024 16:57:00 +0000 Subject: [PATCH 3/6] modify steps --- pkg/util/runtime/features.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/util/runtime/features.go b/pkg/util/runtime/features.go index 17594a5545..46aa8c0e69 100644 --- a/pkg/util/runtime/features.go +++ b/pkg/util/runtime/features.go @@ -100,12 +100,19 @@ var ( // * change the value in site/content/en/docs/Guides/feature-stages.md. // * Ensure that the features in each file are organized categorically and alphabetically. // - // Feature Promotion: Alpha to Beta for SDK Functions - // * Move alpha feature from alpha files to beta files across the SDKs. - // * Delete alpha feature related lines from alpha files and update import paths accordingly in alpha and beta files. - // * Replace all instances of "alpha" with "beta" in source code and test files across all SDKs. - // * Include beta information in the sdk files and reflect the promotion of features from alpha to beta. - // * Update automation scripts in the build/build-sdk-images directory to support beta file generation. + // Feature Promotion: alpha->beta for SDK Functions + // * Move Files from alpha->beta: + // - From proto/sdk/alpha/alpha.proto to proto/sdk/beta/beta.proto + // - For each language-specific SDK (e.g., Go, C#, Rust): + // - Move implementation files (e.g., alpha.go to beta.go) + // - Move test files (e.g., alpha_test.go to beta_test.go) + // - Note: Delete references to 'alpha' in the moved alpha files. + // * Change all instances of alpha->beta: + // - Proto Files: proto/sdk/sdk.proto + // - SDK Implementations: Update in language-specific SDKs (e.g., sdks/go/sdk.go, sdks/csharp/sdk/AgonesSDK.cs). + // - Examples & Tests: Adjust in files like examples/simple-game-server/main.go and language-specific test files. + // * Include beta information in relevant SDK files + // * Modify automation scripts in the build/build-sdk-images directory to support beta file generation. // * Run `make gen-all-sdk-grpc` to generate the required files, then execute the `make run-sdk-conformance-test-go` command and address any issues that arise. // * NOTE: DO NOT EDIT any autogenerated code. `make gen-all-sdk-grpc` will take care of it. // From 947f2d4fbb9d804e7fa435a679145fdbe4e76147 Mon Sep 17 00:00:00 2001 From: Kalaiselvi Murugesan Date: Mon, 13 May 2024 20:31:03 +0000 Subject: [PATCH 4/6] Review changes --- pkg/util/runtime/features.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/util/runtime/features.go b/pkg/util/runtime/features.go index 46aa8c0e69..cc537e3698 100644 --- a/pkg/util/runtime/features.go +++ b/pkg/util/runtime/features.go @@ -101,14 +101,14 @@ var ( // * Ensure that the features in each file are organized categorically and alphabetically. // // Feature Promotion: alpha->beta for SDK Functions - // * Move Files from alpha->beta: + // * Move methods from alpha->beta files: // - From proto/sdk/alpha/alpha.proto to proto/sdk/beta/beta.proto // - For each language-specific SDK (e.g., Go, C#, Rust): // - Move implementation files (e.g., alpha.go to beta.go) // - Move test files (e.g., alpha_test.go to beta_test.go) - // - Note: Delete references to 'alpha' in the moved alpha files. - // * Change all instances of alpha->beta: - // - Proto Files: proto/sdk/sdk.proto + // - Note: Delete references to 'alpha' in the moved alpha methods. + // * Change all code and documentation references of alpha->beta: + // - Proto Files: proto/sdk/sdk.proto `[Stage:Alpha]->[Stage:Beta]` // - SDK Implementations: Update in language-specific SDKs (e.g., sdks/go/sdk.go, sdks/csharp/sdk/AgonesSDK.cs). // - Examples & Tests: Adjust in files like examples/simple-game-server/main.go and language-specific test files. // * Include beta information in relevant SDK files From 2304c31d5132cadf8cea39d861afb7433bc811fe Mon Sep 17 00:00:00 2001 From: Kalaiselvi Murugesan Date: Mon, 13 May 2024 20:48:37 +0000 Subject: [PATCH 5/6] review change --- pkg/util/runtime/features.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/util/runtime/features.go b/pkg/util/runtime/features.go index 8b5c2583e3..db97dc9a85 100644 --- a/pkg/util/runtime/features.go +++ b/pkg/util/runtime/features.go @@ -111,7 +111,6 @@ var ( // - Proto Files: proto/sdk/sdk.proto `[Stage:Alpha]->[Stage:Beta]` // - SDK Implementations: Update in language-specific SDKs (e.g., sdks/go/sdk.go, sdks/csharp/sdk/AgonesSDK.cs). // - Examples & Tests: Adjust in files like examples/simple-game-server/main.go and language-specific test files. - // * Include beta information in relevant SDK files // * Modify automation scripts in the build/build-sdk-images directory to support beta file generation. // * Run `make gen-all-sdk-grpc` to generate the required files, then execute the `make run-sdk-conformance-test-go` command and address any issues that arise. // * NOTE: DO NOT EDIT any autogenerated code. `make gen-all-sdk-grpc` will take care of it. From 04fbaa74e3bd3c22513358e791d6d0c3c63d1ae9 Mon Sep 17 00:00:00 2001 From: Kalaiselvi Murugesan Date: Tue, 14 May 2024 19:07:20 +0000 Subject: [PATCH 6/6] review change --- pkg/util/runtime/features.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/util/runtime/features.go b/pkg/util/runtime/features.go index 8b5c2583e3..db97dc9a85 100644 --- a/pkg/util/runtime/features.go +++ b/pkg/util/runtime/features.go @@ -111,7 +111,6 @@ var ( // - Proto Files: proto/sdk/sdk.proto `[Stage:Alpha]->[Stage:Beta]` // - SDK Implementations: Update in language-specific SDKs (e.g., sdks/go/sdk.go, sdks/csharp/sdk/AgonesSDK.cs). // - Examples & Tests: Adjust in files like examples/simple-game-server/main.go and language-specific test files. - // * Include beta information in relevant SDK files // * Modify automation scripts in the build/build-sdk-images directory to support beta file generation. // * Run `make gen-all-sdk-grpc` to generate the required files, then execute the `make run-sdk-conformance-test-go` command and address any issues that arise. // * NOTE: DO NOT EDIT any autogenerated code. `make gen-all-sdk-grpc` will take care of it.