Skip to content

Allow to set separate stable versions for edx-platform and configuration.

Boros Gábor requested to merge smarnach/stable-versions into master

Created by: smarnach

Currently, we only have one setting OPENEDX_RELEASE_STABLE_REF to set the stable release ref used by production instances. This setting is used as openedx_release and configuration_version for production instances, which means it needs to be a valid ref for edx-platform, configuration, notifier, certs, forum, xqueue and possibly others, so usually only official release names will work. However, we often want to commit custom changes to the edx-platform and configuration repos. So far, we managed to do this by having a branch with the same name as an official release tag in the open-craft forks of configuration and edx-platform. This solution is a confusing hack, so this PR introduces proper settings to set the stable versions of edx-platform and configuration explicitly. The change is backwards-compatible since these settings default to OPENEDX_RELEASE_STABLE_REF.

Testing instructions

I'm not sure manual testing is strictly necessary, given how simple the change is. In case you wish to test it, here is how.

Add the new settings STABLE_EDX_PLATFORM_COMMIT and STABLE_CONFIGURATION_VERSION to your .env file with some values. In the Django shell, run

from instance.factories import production_instance_factory
instance = production_instance_factory(sub_domain="some_subdomain")
vars(instance)

and verify that the fields edx_platform_commit and configuration_version have the desired values.

Merge request reports