Revert "docs: clarify release deployment process and enable manual deploy trigger"

This reverts commit c40374c280.
This commit is contained in:
tadasant 2025-09-29 18:57:40 -07:00
commit a0bc09dbe1
10 changed files with 112 additions and 134 deletions

View file

@ -387,6 +387,7 @@ func TestDefaultHTTPKeyFetcher(t *testing.T) {
}
}
func TestHTTPAuthHandler_Permissions(t *testing.T) {
cfg := &config.Config{
JWTPrivateKey: "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
@ -737,3 +738,4 @@ func TestHTTPvsDNS_PermissionDifferences(t *testing.T) {
})
}
}

View file

@ -97,8 +97,8 @@ func RegisterEditEndpoints(api huma.API, registry service.RegistryService, cfg *
// Prevent undeleting servers - once deleted, they stay deleted
if currentServer.Meta.Official != nil &&
currentServer.Meta.Official.Status == model.StatusDeleted &&
newStatus != model.StatusDeleted {
currentServer.Meta.Official.Status == model.StatusDeleted &&
newStatus != model.StatusDeleted {
return nil, huma.Error400BadRequest("Cannot change status of deleted server. Deleted servers cannot be undeleted.")
}

View file

@ -639,4 +639,4 @@ func TestEditServerEndpointEdgeCases(t *testing.T) {
// Helper function
func stringPtr(s string) *string {
return &s
}
}

View file

@ -75,7 +75,7 @@ func buildPermissionErrorMessage(attemptedResource string, permissions []auth.Pe
permissionStrs = append(permissionStrs, perm.ResourcePattern)
}
}
errorMsg := "You do not have permission to publish this server"
if len(permissionStrs) > 0 {
errorMsg += ". You have permission to publish: " + strings.Join(permissionStrs, ", ")
@ -83,6 +83,6 @@ func buildPermissionErrorMessage(attemptedResource string, permissions []auth.Pe
errorMsg += ". You do not have any publish permissions"
}
errorMsg += ". Attempting to publish: " + attemptedResource
return errorMsg
}

View file

@ -162,9 +162,9 @@ func TestPublishIntegration(t *testing.T) {
t.Run("publish fails with invalid token", func(t *testing.T) {
publishReq := apiv0.ServerJSON{
Name: "io.github.domdomegg/test-server",
Description: "Test server",
Version: "1.0.0",
Name: "io.github.domdomegg/test-server",
Description: "Test server",
Version: "1.0.0",
}
body, err := json.Marshal(publishReq)
@ -185,7 +185,7 @@ func TestPublishIntegration(t *testing.T) {
publishReq := apiv0.ServerJSON{
Name: "io.github.other/test-server",
Description: "A test server",
Version: "1.0.0",
Version: "1.0.0",
Repository: model.Repository{
URL: "https://github.com/example/test-server",
Source: "github",
@ -221,7 +221,7 @@ func TestPublishIntegration(t *testing.T) {
publishReq := apiv0.ServerJSON{
Name: "io.github.domdomegg/airtable-mcp-server",
Description: "A test server with MCPB package",
Version: "1.7.2",
Version: "1.7.2",
Packages: []model.Package{
{
RegistryType: model.RegistryTypeMCPB,

View file

@ -47,7 +47,7 @@ func TestPublishRegistryValidation(t *testing.T) {
publishReq := apiv0.ServerJSON{
Name: "com.example/test-server-with-npm",
Description: "A test server with invalid npm package reference",
Version: "1.0.0",
Version: "1.0.0",
Packages: []model.Package{
{
RegistryType: model.RegistryTypeNPM,
@ -88,7 +88,7 @@ func TestPublishRegistryValidation(t *testing.T) {
publishReq := apiv0.ServerJSON{
Name: "com.example/test-server-mcpb-validation",
Description: "A test server with MCPB package and registry validation enabled",
Version: "0.0.36",
Version: "0.0.36",
Packages: []model.Package{
{
RegistryType: model.RegistryTypeMCPB,
@ -138,7 +138,7 @@ func TestPublishRegistryValidation(t *testing.T) {
publishReq := apiv0.ServerJSON{
Name: "com.example/test-server-multiple-packages",
Description: "A test server with multiple packages where second fails",
Version: "1.0.0",
Version: "1.0.0",
Packages: []model.Package{
{
RegistryType: model.RegistryTypeMCPB,
@ -189,7 +189,7 @@ func TestPublishRegistryValidation(t *testing.T) {
publishReq := apiv0.ServerJSON{
Name: "com.example/test-server-first-package-fails",
Description: "A test server where first package fails",
Version: "1.0.0",
Version: "1.0.0",
Packages: []model.Package{
{
RegistryType: model.RegistryTypeNPM,

View file

@ -113,9 +113,9 @@ func TestPublishEndpoint(t *testing.T) {
{
name: "invalid authorization header format",
requestBody: apiv0.ServerJSON{
Name: "io.github.domdomegg/test-server",
Description: "Test server",
Version: "1.0.0",
Name: "io.github.domdomegg/test-server",
Description: "Test server",
Version: "1.0.0",
},
authHeader: "InvalidFormat",
setupRegistryService: func(_ service.RegistryService) {
@ -129,7 +129,7 @@ func TestPublishEndpoint(t *testing.T) {
requestBody: apiv0.ServerJSON{
Name: "test-server",
Description: "A test server",
Version: "1.0.0",
Version: "1.0.0",
},
authHeader: "Bearer invalidToken",
setupRegistryService: func(_ service.RegistryService) {
@ -143,7 +143,7 @@ func TestPublishEndpoint(t *testing.T) {
requestBody: apiv0.ServerJSON{
Name: "io.github.other/test-server",
Description: "A test server",
Version: "1.0.0",
Version: "1.0.0",
Repository: model.Repository{
URL: "https://github.com/example/test-server",
Source: "github",
@ -167,7 +167,7 @@ func TestPublishEndpoint(t *testing.T) {
requestBody: apiv0.ServerJSON{
Name: "example/test-server",
Description: "A test server",
Version: "1.0.0",
Version: "1.0.0",
Repository: model.Repository{
URL: "https://github.com/example/test-server",
Source: "github",
@ -185,7 +185,7 @@ func TestPublishEndpoint(t *testing.T) {
existingServer := apiv0.ServerJSON{
Name: "example/test-server",
Description: "Existing test server",
Version: "1.0.0",
Version: "1.0.0",
Repository: model.Repository{
URL: "https://github.com/example/test-server-existing",
Source: "github",
@ -202,7 +202,7 @@ func TestPublishEndpoint(t *testing.T) {
requestBody: apiv0.ServerJSON{
Name: "com.example/test-server-mcpb",
Description: "A test server with MCPB package",
Version: "1.0.0",
Version: "1.0.0",
Packages: []model.Package{
{
RegistryType: model.RegistryTypeMCPB,
@ -499,7 +499,7 @@ func TestPublishEndpoint_MultipleSlashesEdgeCases(t *testing.T) {
mux.ServeHTTP(rr, req)
// Assertions
assert.Equal(t, tc.expectedStatus, rr.Code,
assert.Equal(t, tc.expectedStatus, rr.Code,
"%s: expected status %d, got %d", tc.description, tc.expectedStatus, rr.Code)
if tc.expectedStatus == http.StatusBadRequest {
@ -508,4 +508,4 @@ func TestPublishEndpoint_MultipleSlashesEdgeCases(t *testing.T) {
}
})
}
}
}

View file

@ -41,7 +41,6 @@ type ServerVersionsInput struct {
}
// RegisterServersEndpoints registers all server-related endpoints
//
//nolint:cyclop // Multiple endpoint registrations are inherently complex
func RegisterServersEndpoints(api huma.API, registry service.RegistryService) {
// List servers endpoint

View file

@ -509,4 +509,4 @@ func TestServersEndpointEdgeCases(t *testing.T) {
assert.Contains(t, []model.Status{model.StatusActive, model.StatusDeprecated, model.StatusDeleted}, server.Meta.Official.Status)
}
})
}
}

View file

@ -23,12 +23,12 @@ func TrailingSlashMiddleware(next http.Handler) http.Handler {
// Create a copy of the URL and remove the trailing slash
newURL := *r.URL
newURL.Path = strings.TrimSuffix(r.URL.Path, "/")
// Use 308 Permanent Redirect to preserve the request method
http.Redirect(w, r, newURL.String(), http.StatusPermanentRedirect)
return
}
next.ServeHTTP(w, r)
})
}