Skip to content
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

Prepare release 3.0 #4920

Closed
37 of 38 tasks
vaszig opened this issue Dec 16, 2024 · 1 comment · Fixed by #4958 or open-formulieren/open-forms-sdk#759 · May be fixed by #4963
Closed
37 of 38 tasks

Prepare release 3.0 #4920

vaszig opened this issue Dec 16, 2024 · 1 comment · Fixed by #4958 or open-formulieren/open-forms-sdk#759 · May be fixed by #4963
Assignees
Milestone

Comments

@vaszig
Copy link
Contributor

vaszig commented Dec 16, 2024

  • Resolve release blockers
  • Re-generate VCR cassettes (delete the old ones and then) for API tests (see instructions on
    Taiga). You can find all test cases with grep OFVCRMixin -r src
    • Accounts (openforms.accounts.tests.test_oidc) - Re-recorded in PR4912
    • Appoinments: Qmatic (openforms.appointments.contrib.qmatic) (no testenv available anymore)
    • Authentication plugins
      • DigiD (Signicat): openforms.authentication.contrib.digid.tests.test_signicat_integration
      • eHerkenning
        (Signicat):openforms.authentication.contrib.eherkenning.tests.test_signicat_integration
      • DigiD/EH via OIDC: openforms.authentication.contrib.digid_eherkenning_oidc - Re-recorded in PR4912
      • Org via OIDC: openforms.authentication.contrib.org_oidc - Re-recorded in PR4912
      • openforms.tests.test_registrator_prefill - Re-recorded in PR4912
    • General purpose clients
      • openforms.contrib.brk
      • openforms.contrib.haal_centraal.tests.test_integration
      • openforms.contrib.kvk
      • openforms.contrib.objects_api.tests
      • soap.tests.test_client doesn't need to be re-recorded
      • suwinet.tests.test_client (testenv access has been retracted and won't be reinstated)
    • Forms
      • openforms.forms.tests.test_import_export
      • openforms.forms.tests.e2e_tests.test_registration_backend_conf
    • Payment plugins
      • Ogone legacy: openforms.payments.contrib.ogone.tests.test_client
    • Prefill
      • Objects API: openforms.prefill.contrib.objects_api
      • Suwinet: openforms.prefill.contrib.suwinet (testenv access has been retracted and won't
        be reinstated)
    • Registration plugins:
      • Objects API: openforms.registrations.contrib.objects_api
      • ZGW APIs: openforms.registrations.contrib.zgw_apis
      • StUF_ZDS APIs: openforms.registrations.contrib.stuf_zds.tests.test_backend
  • Release new SDK version
  • Correct SDK version pinned in .sdk-release
  • Check translations
    • SDK
    • Backend
    • Frontend
    • Formio
  • Bump API version number
    • Version bump
    • Regenerate API spec
    • Update READMEs with release dates + links
  • Update the upgrade_simulation CI job matrix
  • Bump version number (including package-lock.json)
  • Update changelog
@vaszig vaszig added this to the Release 3.0 milestone Dec 16, 2024
@vaszig vaszig self-assigned this Dec 16, 2024
sergei-maertens added a commit to open-formulieren/open-forms-sdk that referenced this issue Dec 17, 2024
@vaszig vaszig changed the title Prepare release 3.0.0 Prepare release 3.0 Dec 17, 2024
@vaszig vaszig moved this from Todo to In Progress in Development Dec 18, 2024
@vaszig
Copy link
Contributor Author

vaszig commented Dec 19, 2024

The VCR tests that have "PR4912" next to them have been already/recently re-recorded in the mentioned PR.

vaszig added a commit that referenced this issue Dec 19, 2024
Had to update some tests as well since the commit
3916207 has added an extra version of
the objecttype (pk=1) to the fixtures.
vaszig added a commit that referenced this issue Dec 19, 2024
@vaszig vaszig mentioned this issue Dec 19, 2024
10 tasks
vaszig added a commit that referenced this issue Dec 19, 2024
Had to update some tests as well since the commit
3916207 has added an extra version of
the objecttype (pk=1) to the fixtures.
vaszig added a commit that referenced this issue Dec 19, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in Development Dec 20, 2024
@github-project-automation github-project-automation bot moved this from Done to In Progress in Development Dec 20, 2024
sergei-maertens added a commit that referenced this issue Dec 27, 2024
Squashed all migrations into a single operation. Requires 2.8.0 to have
been run (which is enforced by the upgrade checks).

Once 3.0 is released, the original migrations can be removed.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
Replaced some RunPython operations that are guaranteed to have been
run on Open Forms 2.8.x with empty operations so that we can
properly optimize migrations during squashing.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
Manually commented out some of the RunPython to hopefully better
optimize the squashed migration, and added those operations back in
to the squashed migration (mostly the resetting of the default template
translations which is a workaround).

The update_summary_tags in the original migration now imports the
definition from the squashed migration rather than not executing it
at all, as some dev-environments might miss this step if they pull
master not frequently enough.

This migration can be further optimized by hand, see the next commit.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
Due to the forward-ports we ended up with multiple merge migrations
each overlapping a bit, and 0063 brought them all together.

Squashmigrations can only handle a single branch of migrations and
left out the forward-ported migrations 0059 and 0062. These can
safely be included manually as well, as they basically only update
the model state in migrations.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
Similar to the config app, migrations were squashed and some merge
migrations were involved, but this time Django picked it up correctly.

The price logic rules conversion was moved and in the original migration
a dynamic import is now used instead to avoid duplicating the
implementation.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
The Objects API group config model was moved from the registrations app
to the general purpose contrib app for the Objects API, as it is used
by both prefill and registration plugins. This involved some dark
migrations magic with SeparateDatabaseAndState to move the model
without breaking the existing table or messing with table names.

Now that we're guaranteed existing instances have upgrade to 2.8, we
know that the tables are properly in the right place and the necessary
migrations have been executed, allowing us to turn them into normal
migrations so that fresh installs can take the direct path rather than
the detour, and it allows us to clean up some migration code.

The rest of the migrations in the contrib app are not yet squashed, as
they are primarly operations around RunPython that need to be executed
on 3.0 instances.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
Squashed all migrations since 2.3.0 into a single file, optimizing
away some in-between states for refactors that happened along
the way.

RunPython operations have been emptied since they're guaranteed
to have run on OF 2.8.x, per the upgrade requirements.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
These have never been squashed before. Only the migrations before 3.0
are squashed, as the migrations in 3.0 contain mostly RunPython
operations that still need to be executed.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
These have never been squashed before. Only the migrations before 3.0
are squashed, as the migrations in 3.0 contain mostly RunPython
operations that still need to be executed.
sergei-maertens added a commit that referenced this issue Dec 27, 2024
We require users to be on OF 2.8 before they can upgrade to 3.0
@github-project-automation github-project-automation bot moved this from In Progress to Done in Development Jan 6, 2025
@vaszig vaszig moved this from Done to In Progress in Development Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
2 participants