-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 2.51.1 #5590
Closed
Closed
Release 2.51.1 #5590
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: Adam Sachs <[email protected]>
…deleted_systems test (#5570)
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
fides Run #11441
Run Properties:
|
Project |
fides
|
Branch Review |
release-2.51.1
|
Run status |
Passed #11441
|
Run duration | 00m 49s |
Commit |
57b997459b: update changelog for PR #5592 (#5595)
|
Committer | Adam Sachs |
View all properties for this run ↗︎ |
Test results | |
---|---|
Failures |
0
|
Flaky |
0
|
Pending |
0
|
Skipped |
0
|
Passing |
4
|
Upgrade your plan to view test results. | |
View all changes introduced in this branch ↗︎ |
eastandwestwind
force-pushed
the
release-2.51.1
branch
from
December 11, 2024 15:51
8ec34da
to
6631def
Compare
Kelsey-Ethyca
approved these changes
Dec 12, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Releases
Versioning
Fides uses semantic versioning. Due to the rapid development of the project, some minor versions may also contain minor breaking changes. The best practice is to always pin versions, and carefully test before bumping to a new version.
Patch versions will never cause breaking changes, and are only used to hotfix critical bugs.
Release schedule
Fides does not follow a set release schedule, and instead ships versions based on the addition of features and functionality. Each release, with the exception of hotfixes, contains at least one substantial new feature.
Branching
Fides uses continuous delivery with a single
main
branch. All code changes are merged into this branch.When it comes times to prepare for a new release, a release branch is created for stability and thoroughly tested.
When releasing, a new tag is created on the release branch and the release process proceeds automatically.
In the case of patches, a branch is created from the relevant tag. Commits are then cherry-picked into this branch, and a new patch version tag is created.
Release Steps
We use GitHub’s
release
feature to tag releases that then get automatically deployed to DockerHub and PyPi via GitHub Actions. We also use aCHANGELOG.md
to mitigate surprises to our users and help them plan updates accordingly. The release steps are as follows:Major and Minor
1.6.0
)Unreleased
section ofCHANGELOG.md
to the new version number and put a date next to itcompare
links for both the new version and for the newUnreleased
sectionCHANGELOG.md
update PR1.6.0
)v
in front of it (i.e.v1.6.0
)CHANGELOG.md
Patch
It may be necessary for a patch release to contain only select commits to the
main
branch since the last major or minor release. To create a release with only the desired changes, follow the steps below:Checkout the most recent release's tag
To fetch the most recent tag's name, run:
To checkout the most recent tag, run:
!!! tip
This can be combined into a single command:
Create a new branch from the
HEAD
commit of the most recent release's tag, calledrelease-v<tag>
If the changes to be included in the patch release are contained in one or more unmerged pull requests, change the base branch of the pull request(s) to the release branch created in the previous step
Once approved, merge the pull request(s) into the release branch
Create a new branch off of the release branch by running:
Optional: Incorporate any additional specific changes required for the patch release by running:
Copy the
Unreleased
section ofCHANGELOG.md
and paste above the release being patchedUnreleased
to the new version number and put a date next to itOpen a pull request to incorporate any cherry-picked commits and the
CHANGELOG.md
changes into the release branchCreate a new release from the release branch
1.2.4
)v
(i.e.v1.2.4
)CHANGELOG.md
Publish the release
Merge the new release tag into
main
!!! warning
Pushing commits (including merge commits) to the
main
branch requires admin-level repository permissions.Checkout the
main
branch, and update the local repository:git checkout main #=> Switched to branch 'main'... git pull
Merge the new release tag into
main
:Handle any merge conflicts, and push to the remote
main
branchRelease Checklist
The release checklist is a manual set of checks done before each release to ensure functionality of the most critical components of the application. Some of these steps are redundant with automated tests, while others are only tested here as part of this check.
This checklist should be copy/pasted into the final pre-release PR, and checked off as you complete each step.
Additionally, there is a robust Release Process page available in Confluence (internal only).
Pre-Release Steps
General
From the release branch, confirm the following:
nox -s quickstart
(verify you can complete the interactive prompts from the command-line)nox -s "fides_env(test)"
(verify the admin UI on localhost:8080, privacy center on localhost:3001, CLI and webserver)Next, run the following checks via the test environment:
API
CLI
Run these from within the test environment shell:
git reset --hard
- Note: This is required for thepull
command to workfides user login
fides push src/fides/data/sample_project/sample_resources/
fides pull src/fides/data/sample_project/sample_resources/
fides evaluate src/fides/data/sample_project/sample_resources/
fides generate dataset db --credentials-id app_postgres test.yml
- Note: Because the filesystem isn't mounted, the new file will only show up within the containerfides scan dataset db --credentials-id app_postgres
Privacy Center
Admin UI
User Permissions
Documentation
Instead, they should be committed on a branch off of
main
and then PR'd and merged intomain
, before being cherry-pickedover to the release branch. This ensures that the CHANGELOG stays consistent between the release branch and
main
.Publishing the release
When publishing the release, be sure to include the following sections in the release description:
## Release Pull Request
section that includes a link back to the release PR (i.e., this one!) for tracking purposes## QA Touch Test Run
section that includes a link to the QATouch test run (QA team should provide this)Post-Release Steps
python3 -m venv 2_12_0_venv
source 2_12_0_venv/bin/activate
pip install ethyca-fides
fides deploy up