Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions tools/cli/internal/apiversion/stabilitylevel.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ const (

var supportedValues = []string{StableStabilityLevel, PublicPreviewSabilityLevel, PrivatePreviewStabilityLevel}

// IsPreviewSabilityLevel checks if the version is a preview version, public or private.
func IsPreviewSabilityLevel(value string) bool {
// IsPreviewStabilityLevel checks if the version is a preview version, public or private.
func IsPreviewStabilityLevel(value string) bool {
return IsPrivatePreviewSabilityLevel(value) || IsPublicPreviewSabilityLevel(value)
}

Expand All @@ -51,7 +51,7 @@ func IsStableSabilityLevel(value string) bool {
// IsValidStabilityLevel checks if the version is a valid stability level.
// ValidateStabilityLevel checks if the version is a valid stability level.
func ValidateStabilityLevel(value string) error {
if IsStableSabilityLevel(value) || IsPreviewSabilityLevel(value) {
if IsStableSabilityLevel(value) || IsPreviewStabilityLevel(value) {
return nil
}

Expand Down
16 changes: 8 additions & 8 deletions tools/cli/internal/apiversion/stabilitylevel_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ import (
"github.com/stretchr/testify/require"
)

func TestIsPreviewSabilityLevel(t *testing.T) {
assert.True(t, IsPreviewSabilityLevel("preview"))
assert.True(t, IsPreviewSabilityLevel("PREVIEW"))
assert.True(t, IsPreviewSabilityLevel("prEvIEW"))
assert.True(t, IsPreviewSabilityLevel("private-preview"))
assert.True(t, IsPreviewSabilityLevel("public-preview"))
assert.False(t, IsPreviewSabilityLevel("stable"))
assert.False(t, IsPreviewSabilityLevel("invalid"))
func TestIsPreviewStabilityLevel(t *testing.T) {
assert.True(t, IsPreviewStabilityLevel("preview"))
assert.True(t, IsPreviewStabilityLevel("PREVIEW"))
assert.True(t, IsPreviewStabilityLevel("prEvIEW"))
assert.True(t, IsPreviewStabilityLevel("private-preview"))
assert.True(t, IsPreviewStabilityLevel("public-preview"))
assert.False(t, IsPreviewStabilityLevel("stable"))
assert.False(t, IsPreviewStabilityLevel("invalid"))
}

func TestIsPrivatePreviewSabilityLevel(t *testing.T) {
Expand Down
6 changes: 3 additions & 3 deletions tools/cli/internal/apiversion/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func (v *APIVersion) newVersion(version string, date time.Time) {
v.stabilityVersion = StableStabilityLevel
v.versionDate = date

if IsPreviewSabilityLevel(version) {
if IsPreviewStabilityLevel(version) {
v.versionDate = time.Now().AddDate(10, 0, 0) // set preview date to the future
v.stabilityVersion = PreviewStabilityLevel
}
Expand Down Expand Up @@ -118,7 +118,7 @@ func WithFullContent(contentType string, contentValue *openapi3.MediaType) Optio
}

func DateFromVersion(version string) (time.Time, error) {
if IsPreviewSabilityLevel(version) {
if IsPreviewStabilityLevel(version) {
return time.Now(), nil
}
return time.Parse(dateFormat, version)
Expand Down Expand Up @@ -161,7 +161,7 @@ func (v *APIVersion) ExactMatchOnly() bool {
}

func (v *APIVersion) IsPreview() bool {
return IsPreviewSabilityLevel(v.version)
return IsPreviewStabilityLevel(v.version)
}

func (v *APIVersion) IsPrivatePreview() bool {
Expand Down
13 changes: 13 additions & 0 deletions tools/cli/internal/changelog/changelog.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"os"
"time"

"github.com/mongodb/openapi/tools/cli/internal/apiversion"
"github.com/mongodb/openapi/tools/cli/internal/openapi"
"github.com/tufin/oasdiff/checker"
"github.com/tufin/oasdiff/diff"
Expand Down Expand Up @@ -173,6 +174,11 @@ func NewEntries(basePath, revisionPath, exceptionFilePath string) ([]*Entry, err
}

for _, version := range changelog.RevisionMetadata.Versions {
// Skip preview versions
if apiversion.IsPreviewStabilityLevel(version) {
continue
}

changelog.RevisionMetadata.ActiveVersion = version
changelog.BaseMetadata.ActiveVersion = version
changelog.Revision, err = newOpeAPISpecFromPathAndVersion(changelog.RevisionMetadata.Path, version)
Expand Down Expand Up @@ -213,6 +219,10 @@ func NewEntriesBetweenRevisionVersions(revisionPath, exceptionFilePath string) (
entries := []*Entry{}
for idx, fromVersion := range revisionMetadata.Versions {
for _, toVersion := range revisionMetadata.Versions[idx+1:] {
// skip preview versions
if apiversion.IsPreviewStabilityLevel(fromVersion) || apiversion.IsPreviewStabilityLevel(toVersion) {
continue
}
entry, err := newEntriesBetweenVersion(revisionMetadata, fromVersion, toVersion, exceptionFilePath)
if err != nil {
return nil, err
Expand Down Expand Up @@ -420,6 +430,9 @@ func latestVersionActiveOnDate(date string, versions []string) (string, error) {

activeVersions := []time.Time{}
for _, version := range versions {
if apiversion.IsPreviewStabilityLevel(version) {
continue
}
versionTime, err := newDateFromString(version)
if err != nil {
return "", err
Expand Down
2 changes: 1 addition & 1 deletion tools/cli/internal/cli/versions/versions.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func (o *Opts) filterStabilityLevelVersions(apiVersions []string) []string {
var out []string
for _, v := range apiVersions {
for _, stabilityLevel := range o.stabilityLevel {
if (apiversion.IsStableSabilityLevel(stabilityLevel)) && !apiversion.IsPreviewSabilityLevel(v) {
if (apiversion.IsStableSabilityLevel(stabilityLevel)) && !apiversion.IsPreviewStabilityLevel(v) {
out = append(out, v)
}

Expand Down
2 changes: 1 addition & 1 deletion tools/cli/internal/openapi/versions.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func extractVersions(oas *openapi3.T) ([]string, error) {
continue
}

if apiversion.IsPreviewSabilityLevel(version) {
if apiversion.IsPreviewStabilityLevel(version) {
// parse if it is public or not
version, err = apiversion.GetPreviewVersionName(contentTypeValue)
if err != nil {
Expand Down
Loading
Loading