Skip to content

Conversation

Kelsey-Ethyca
Copy link
Contributor

@Kelsey-Ethyca Kelsey-Ethyca commented Aug 28, 2025

Release 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).

Warning

THIS RELEASE BRANCH PULL REQUEST SHOULD NOT BE MERGED! IT IS FOR TRACEABILITY PURPOSES ONLY!

Pre-Release Steps

General

From the release branch, confirm the following:

  • Quickstart works: nox -s quickstart (verify you can complete the interactive prompts from the command-line)
  • Test environment works: nox -s "fides_env(test)" (verify the admin UI on localhost:8080, privacy center on localhost:3001, CLI and webserver)
  • Have Roger run a QATouch automation run

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 the pull command to work
  • fides 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 container
  • fides scan dataset db --credentials-id app_postgres

Privacy Center

  • Every navigation button works
  • DSR submission succeeds
  • Consent request submission succeeds

Admin UI

  • Every navigation button works
  • DSR approval succeeds
  • DSR execution succeeds

User Permissions

  • Verify user creation
  • Verify a Viewer can view all systems
  • Verify a Data Steward can edit systems they are assigned

Documentation

  • Verify that the CHANGELOG is formatted correctly and clean up verbiage where needed
  • Verify that the CHANGELOG is representative of the actual changes

⚠️ Note that any updates that need to be made to the CHANGELOG should not be commited directly to the release branch.
Instead, they should be committed on a branch off of main and then PR'd and merged into main, before being cherry-picked
over 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

Copy link

vercel bot commented Aug 28, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
fides-plus-nightly Ignored Ignored Preview Sep 3, 2025 5:11pm
fides-privacy-center Ignored Ignored Sep 3, 2025 5:11pm

Copy link

cypress bot commented Aug 28, 2025

fides    Run #13321

Run Properties:  status check passed Passed #13321  •  git commit 23d1e78103: organized changelog
Project fides
Branch Review release-2.69.0
Run status status check passed Passed #13321
Run duration 01m 02s
Commit git commit 23d1e78103: organized changelog
Committer Kelsey Thomas
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 5
View all changes introduced in this branch ↗︎

Copy link

codecov bot commented Aug 28, 2025

Codecov Report

❌ Patch coverage is 87.21591% with 45 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.64%. Comparing base (716b994) to head (23d1e78).
⚠️ Report is 23 commits behind head on main.

Files with missing lines Patch % Lines
.../privacy_request/dsr_package/dsr_report_builder.py 81.81% 11 Missing and 5 partials ⚠️
src/fides/api/service/storage/util.py 90.18% 8 Missing and 8 partials ⚠️
.../storage/streaming/smart_open_streaming_storage.py 81.25% 4 Missing and 2 partials ⚠️
.../service/storage/streaming/s3/s3_storage_client.py 90.90% 1 Missing and 2 partials ⚠️
src/fides/api/oauth/utils.py 66.66% 1 Missing and 1 partial ⚠️
...ervice/storage/streaming/storage_client_factory.py 60.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6507      +/-   ##
==========================================
- Coverage   87.67%   87.64%   -0.04%     
==========================================
  Files         481      481              
  Lines       30792    30959     +167     
  Branches     3462     3497      +35     
==========================================
+ Hits        26998    27135     +137     
- Misses       3051     3072      +21     
- Partials      743      752       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

thabofletcher and others added 4 commits August 28, 2025 18:27
* add configurable (10/min default) rate limit for auth requests

* Update CHANGELOG.md
* invalidate session tokens by only allowing tokens created after the most recent password change time

* fix lints

* more linter fixes

* update debug logs to exceptions per CR

* update exceptions to include exception data in logs

* annotate client FidesUser to avoid the use of getattr

* fix admin logout bug when resetting other users' passwords

* Fix system endpoint authentication in CTL tests

System endpoints require a user (added in 2023) but CTL tests were using
the basic oauth_client fixture which has no user. This caused 'Client has
no associated user' errors for system endpoints.

Fixed by conditionally using generate_auth_header_for_user() with the
application_user fixture for system endpoints, while other endpoints
continue to use the basic generate_auth_header().

This resolves the authentication test failures for system CRUD operations.

* more test API endpoints require a user

* fix failing api tests

1. Created SystemTestBase class with generate_auth_header fixture override
2. Fixed TestCrud with auth_header_for_endpoint fixture for conditional auth
3. Updated role-based tests to add OWNER role to client + generate_role_header_for_user
4. Fixed system manager tests with custom JWT (user association + system IDs)
5. Corrected import path for generate_jwe function

The inheritance-based authentication architecture is working flawlessly across all test classes!

This resolves all authentication issues introduced by the reviewer's suggested changes to client.py,
restoring full test suite functionality while maintaining the improved circular dependency fixes.

* ughhh lints

* 🎉 COMPLETE SUCCESS: All user endpoint auth tests now passing!

✅ FIXED ALL 7 USER ENDPOINT AUTHENTICATION ISSUES:

TestGetSystemsUserManages (3 tests):
- test_get_systems_managed_by_user_not_found: 403→404 ✅
- test_get_systems_managed_by_user_none_exist: 403→200 ✅
- test_get_systems_managed_by_user: 403→200 ✅

TestGetSpecificSystemUserManages (4 tests):
- test_get_system_managed_by_user_not_found: 403→404 ✅
- test_get_system_managed_by_user_system_does_not_exist: 403→404 ✅
- test_get_system_not_managed_by_user: 403→404 ✅
- test_get_system_managed_by_user: 403→200 ✅

🔧 SOLUTION IMPLEMENTED:
Created SystemManagerUserEndpointTestBase class with overridden
generate_auth_header fixture that provides user authentication.
Both TestGetSystemsUserManages and TestGetSpecificSystemUserManages
now inherit from this base class, automatically resolving all
'Client has no associated user' authentication errors.

FINAL RESULT: 685 passed, 2 skipped, 0 failed tests! 🚀

* cleanup after the robot

* more test fixes

* more test fixes

* Update CHANGELOG.md
Co-authored-by: 3nder <speaker_ender@protonmail.com>
JadeCara and others added 5 commits August 29, 2025 16:35
Co-authored-by: Jade Wibbels <jade@ethyca.com>
Co-authored-by: Adrian Galvan <adrian@ethyca.com>
Co-authored-by: Jade Wibbels <jade@ethyca.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Adrian Galvan <adrian@ethyca.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants