overhangio / tutor

The Docker-based Open edX distribution designed for peace of mind
https://docs.tutor.overhang.io/
GNU Affero General Public License v3.0
936 stars 443 forks source link

Sumac Sandbox & Release Preparation #1121

Open DawoudSheraz opened 2 months ago

DawoudSheraz commented 2 months ago

This issue is for tracking the items to prepare https://github.com/overhangio/openedx-release-demo for Sumac cutoff.

Sumac cutoff is expected to take place on October 23, 2024. Once the branches are out on upstream, the community will be looking forward to sandbox provided by Edly. tutor and its plugins will require sumac branches with appropriate changes for the sandbox to complete. The necessary information is already present on https://edlyio.atlassian.net/wiki/spaces/openedx/pages/3013148726/Building+Open+edX+major+releases. A note: once the branches are created, any changes to nightly would need to be manually added to the sumac branch. Therefore, a rebase on nightly whenever nightly changes would be required to ensure the sumac branch is always up-to-date

This issue is meant for tracking the statuses of various repositories needed for sandbox. It will act as a todo list to ensure that tutor and its plugins have sumac branches created from nightly before the cutoff date (even though there will be potential failures on CI against it) and have a PR against master. For sanity checks, make sure to run image build and init task on local tutor <local/dev> do init --limit=pluginnname.

The sandbox script expects the branches to be available on the main repository, not the fork. If you are assigned a repository but you cannot push to it directly, please get in touch with @DawoudSheraz or the maintainer of the repository with patch file so that they can create the PR in the appropriate repository with your provided changes

Tutor & Plugins Todo List

Available on launch

Available within a week

Not needed for sandbox

Sandbox Repo Todo List

Context

Every six months, Tutor maintainers sync up with the Build/Test/Release working group to create the next version, both of Open edX and Tutor.

In the scenario below, we are upgrading Open edX from fictional “Delta” to “Epsilon”. Tutor will upgrade from v4 to v5 (“d”=4, “e”=5).

(these instructions are pulled and adapted from this old discussion topic)

Create release branches

In Tutor core and all plugins, we must create “epsilon” branches off of the nightly branches. For each repo, this looks like the following:

git checkout nightly

git pull

git checkout -b epsilon

Push the created “epsilon” branch to the upstream repo: git push

Upgrade Tutor core and plugins

The release branches should be updated regularly to take into account the latest changes from the nightly branch. During the release process, it is frequent that changes are pushed to the master and nightly branches, and the latest “espilon” branch must have those changes as well. Be prepared to push --force the “espsilon” branches frequently.

:warning: Plugin tests will fail in the release branches, because the plugins can’t find tutor>=5.0.0 on pypi. To resolve that, we should update the test scripts to install tutor from source (pip install -e --config-settings editable_mode=compat https://github.com/overhangio/tutor@epsilon#egg=tutor). But it’s inconvenient to do that for each and every plugin. So maybe we should consider migrating to a centralized “tutor-test-plugin” GitHub action. This action would be versioned according to the Tutor major version (@5).

DawoudSheraz commented 1 month ago

@jfavellar90 Hi, letting you know since you are the maintainer for notes and xqueue.

@ghassanmas Hi, letting you know since you are the maintainer for forum.

@MoisesGSalas Hi. I am not sure if you are the contact person for codejail but since you did it last time for redwood, I have assigned the sumac to you. Let me know if this is not the case.

Thank you all. Let me know if you have any questions

MoisesGSalas commented 1 month ago

Hi @DawoudSheraz, that's right, I will take care of the codejail plugin.

DawoudSheraz commented 1 month ago

Hi @DawoudSheraz, that's right, I will take care of the codejail plugin.

Awesome, thank you.

jfavellar90 commented 1 month ago

@DawoudSheraz I'm taking care of notes and xqueue :)

DawoudSheraz commented 1 month ago

@DawoudSheraz I'm taking care of notes and xqueue :)

Thank you.

angonz commented 1 month ago

Hi! There are a number of tests for Aspects. Shall we include the aspects plugin in the list? Who is in charge?

DawoudSheraz commented 1 month ago

Hi! There are a number of tests for Aspects. Shall we include the aspects plugin in the list? Who is in charge?

Hi, I am in touch with BTR to get a confirmation on this. Thanks

angonz commented 1 month ago

Hi @bmtcril! Can you please check if the aspects plugin is ready for the summac sandbox?

bmtcril commented 1 month ago

@angonz @DawoudSheraz we're working on the last couple of Aspects bug fixes, but expect to have a release ready in the next day or so.

hinakhadim commented 1 month ago

Tutor-mfe and tutor-indigo Sumac PRs are ready. I've tested them on local and sandboxdev using tutor Sumac PR (with nightly)

Faraz32123 commented 1 month ago

tutor-discovery sumac PR is ready.

bmtcril commented 1 month ago

@angonz @DawoudSheraz Aspects v1.2.0 is on PyPI and ready for testing, thanks for your patience!

crathbun428 commented 1 month ago

@angonz @DawoudSheraz - Linking the configuration information for Libraries for the testing sandbox:here

Thank you!

jfavellar90 commented 1 month ago

tutor-notes sumac PR is ready

tutor-xqueue sumac PR is ready

DawoudSheraz commented 1 month ago

@angonz @DawoudSheraz Aspects v1.2.0 is on PyPI and ready for testing, thanks for your patience!

Cool. I will update sandbox script to point to v1.2.0 tag for contrib-aspects. Thanks

DawoudSheraz commented 1 month ago

@angonz @DawoudSheraz - Linking the configuration information for Libraries for the testing sandbox:here

Thank you!

Hi. meilisearch related PRs are not merged yet, they are under review. I have not looked at the entire linked issue but it seems we need meilisearch before enabling the flags. @kdmccormick Is this correct?

ghassanmas commented 1 month ago

Tutor forum PRs are ready I have tested (v1) with discussion MFE.

Note: The discussion MFE and forum cs_comments_service would crash when responding to a thread; if your disk is almost full, this because Elasticsearch blocks writing in such case.

MoisesGSalas commented 1 month ago

Tutor contrib codejail: https://github.com/eduNEXT/tutor-contrib-codejail/pull/59, still wip but is working.

DawoudSheraz commented 1 month ago

Tutor forum PRs are ready I have tested (v1) with discussion MFE.

Note: The discussion MFE and forum cs_comments_service would crash when responding to a thread; if your disk is almost full, this because Elasticsearch blocks writing in such case.

Thanks

Faraz32123 commented 1 month ago

tutor-minio sumac PR is ready.

Danyal-Faheem commented 1 month ago

tutor-cairn sumac PR is ready.

angonz commented 1 month ago

Hi team! Can we confirm that the basic sandbox is running, so we can start with the tests?

angonz commented 1 month ago

The announcement is in the forum.

Abdul-Muqadim-Arbisoft commented 1 month ago

tutor-jupyter sumac PR is ready.

tutor-webui sumac PR is ready.

angonz commented 1 month ago

Hi @DawoudSheraz, I got some complaints that testers don't receive emails. There is a reported issue with some email providers, probably due to AWS not allowing port 25 out of the server. Fayyaz Ahmed reported that emails from arbisoft.com don't work either. CC @mariajgrimaldi who also worked on that. Can we review this? Which SMTP server is using the sandbox?

DawoudSheraz commented 1 month ago

Hi @DawoudSheraz, I got some complaints that testers don't receive emails. There is a reported issue with some email providers, probably due to AWS not allowing port 25 out of the server. Fayyaz Ahmed reported that emails from arbisoft.com don't work either. CC @mariajgrimaldi who also worked on that. Can we review this? Which SMTP server is using the sandbox?

Hello. This happened with redwood as well. Port 25 is blocked on the instance, this is by default by AWS. We did not update any spam-related records because the sandbox is public and anyone can send emails from that (by sign up, activation, etc.). It risks impacting the domain authority. In Redwood testing, it was decided to update testing instructions to highlight using self hosted email accounts for getting emails https://github.com/openedx/wg-build-test-release/issues/350#issuecomment-2133772454.

@regisb Please add any context that I might have missed.

mariajgrimaldi commented 1 month ago

@angonz @DawoudSheraz: As mentioned in the thread, emails won't work for email providers like Google, Yahoo, etc. I'll try with the protonmail account that I used during the Redwood release; if it doesn't work, I'll use a colleague with a self-hosted email account to test.

Abdul-Muqadim-Arbisoft commented 1 month ago

tutor-android sumac PR is ready.

DawoudSheraz commented 4 weeks ago

@angonz @DawoudSheraz: As mentioned in the thread, emails won't work for email providers like Google, Yahoo, etc. I'll try with the protonmail account that I used during the Redwood release; if it doesn't work, I'll use a colleague with a self-hosted email account to test.

@mariajgrimaldi Hi, can you verify this again? It should be set now.

mariajgrimaldi commented 4 weeks ago

@DawoudSheraz it works with my protomain account! Thank you.

FYI @angonz

jmakowski1123 commented 4 weeks ago

The new Libraries feature is not showing up in the sandbox - these are the configuration requirements, please let me know if I can help. https://github.com/openedx/frontend-app-authoring/issues/1334

DawoudSheraz commented 4 weeks ago

The new Libraries feature is not showing up in the sandbox - these are the configuration requirements, please let me know if I can help. openedx/frontend-app-authoring#1334

meilisearch PRs are not part of sumac branches yet.

DawoudSheraz commented 3 weeks ago

Some updates on sandbox:

Let me know if there are any questions or concerns.