Skip to content

Commit

Permalink
Add ADR to formally deprecate Spock versioning, formalize Semantic Ve…
Browse files Browse the repository at this point in the history
…rsioning Use (#866)

* [skip ci] Deprecate ADR2, backport "new" #847 ADR

* [skip ci] Context and decision in #847 ADR

* [skip ci] Add two options to #847 ADR

* [skip ci] Add option 3, finalize #847 ADR

* Apply very valid feedback during review from @Rene2mt

Co-authored-by: Rene Tshiteya <rene-claude.tshiteya@gsa.gov>

* [skip ci] Clarify ADR 10 explanation of past work per @Rene2mt review of #866

Co-authored-by: Rene Tshiteya <rene-claude.tshiteya@gsa.gov>

* [skip ci] Add missing info to ADR 10 per @Rene2mt's #866 review

Co-authored-by: Rene Tshiteya <rene-claude.tshiteya@gsa.gov>

---------

Co-authored-by: Rene Tshiteya <rene-claude.tshiteya@gsa.gov>
  • Loading branch information
aj-stein-gsa and Rene2mt authored Nov 14, 2024
1 parent 6211011 commit e3b9676
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 2 deletions.
6 changes: 4 additions & 2 deletions documents/adr/0002-git-release-version-strategy.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# 2. Release and Version Strategy Used for Github Tagging

Date: 2021-06-03
Date: 2021-10-07

## Status

Accepted
Deprecated

(**NOTE:** FedRAMP deprecated this ADR retroactively in favor of [ADR #10](./0010-semantic-versions-only.md). See ADR #10 for further details on the current version methodology as part of the FedRAMP Automation Team's release strategy.)

## Context

Expand Down
46 changes: 46 additions & 0 deletions documents/adr/0010-semantic-versions-only.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# 10. Replace Spock Versions with Semantic Versions in Release Strategy

Date: 2021-10-07

## Status

Accepted

## Context

In the past, the FedRAMP Automation Team implemented [the versioning methodology of the Spock Framework](https://spockframework.org/spock/docs/2.0/known_issues.html#_groovy_version_compatibility). Staff documented this versioning methodology in [ADR #2](https://github.com/GSA/fedramp-automation/blob/247f99a0e3a2cfa6b9e78dd7c18836cf008115b2/documents/adr/0002-git-release-version-strategy.md). In 2024, the FedRAMP Automation Team received significant positive feedback from the community to transition from this methodology to [Semantic Versioning](https://semver.org/) as part of its release strategy and updated [the automate.fedramp.gov website](https://automate.fedramp.gov/about/release/) accordingly. They also socialized with the community that the update page on the website, not the previous ADR and outdated developer documentation, is the canonical source for the release strategy and other documents.

This decision record is to document the following possible solutions and implications.

### Possible Solutions

Below is a list of possible versioning solutions that will or will not support this strategy.

1. Do nothing
1. Continue Spock Versioning and revert Semantic Versioning change
1. Continue Semantic Versioning change and completely deprecate Spock versioning

#### Do Nothing

If FedRAMP does nothing, the strategy and processes will stay as-is. The documentation about the release strategy and versioning methodology and the practice of using them in releases will contradict one another. Internal staff and external stakeholders will continue to receive conflicted guidance and releases. The misalignment may cause confusion about future releases. Despite less effort, it has significant downsides in risk when compared to Options 2 and 3.

#### Continue Spock Versioning and Revert Semantic Versioning Change

FedRAMP can change the developer documentation, standard operating procedures in the wiki, and the website to continue to use Spock versioning and revert the decision to use Semantic Versioning. This option would require similar effort to Option 3. However, this option will likely alienate community stakeholders receptive to the change.

#### Continue Semantic Versioning Change and Completely Deprecate Spock Versioning

FedRAMP can change the developer documentation, standard operating procedures in the wiki, and the website to finalize the removal of Spock versioning and fully commit to the decision to use Semantic Versioning. This option would require similar effort to Option 2 but with better community support for a popular transition that is not yet complete.

## Decision

FedRAMP has decided to move forward completely with the Semantic Versioning transition and completely deprecate the Spock versioning approach.

1. FedRAMP will use Semantic Versioning, as is the preference of the community.
2. The official, normative release guidance for FedRAMP Automation data, documentation, and tools is the [release guidance on automate.fedramp.gov](https://automate.fedramp.gov/about/release/), not developer documentation in this repository.

## Consequences

What becomes easier or more difficult to do because of this change?
It will be easier for developers to automate handling version updates based on SemVer rules.
It will be easier for developers to automate handling version updates based on SemVer rules.

0 comments on commit e3b9676

Please sign in to comment.