-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
feat!: expose per-release edx-sandbox dependency pins #34509
feat!: expose per-release edx-sandbox dependency pins #34509
Conversation
37c17d8
to
ab5b031
Compare
1a9918e
to
1eaac83
Compare
d2ab74c
to
d20e71a
Compare
@feanil How does this look? |
d20e71a
to
a47a210
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small comment and one nit that you can take or leave. Then I think this is good to merge, I don't need to re-review unless there are major changes.
@@ -130,7 +130,7 @@ endef | |||
COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt | |||
.PHONY: $(COMMON_CONSTRAINTS_TXT) | |||
$(COMMON_CONSTRAINTS_TXT): | |||
wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: curl
has a -O
which will do the same thing as the wget -O
so maybe just use curl -OL
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they're a bit different:
wget -O "$(@)"
means "write to a file named $(@)
", which means "write to the Makefile target", which is requirements/common_constraints.txt
curl -O
means "write to a file of the same name as the remote file", which would be just common_constraints.txt (no requirements/ prefix)
requirements/edx-sandbox/py38.txt
Outdated
@@ -0,0 +1,97 @@ | |||
# |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like this is a copy rather than a symlink, was that intentional? I think it makes more sense to make this a symlink.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops, that was a git mixup.
I actually made a shell requirements file with -r releases/quince.txt
instead of a symlink. My thinking is that this is more explicit and also allows us to include an explanatory comment. Let me know what you think.
tutor's containers don't have wget installed, and curl -L works just as well and is installed into basically everything
These files were used to assist the Python 3.5 -> 3.8 upgrade, but they are no longer needed nor referened anywhere. They haven't been updated for years.
See requirements/edx-sandbox/README.rst for more info BREAKING CHANGE: edx-sandbox/py38.txt will not longer be updated. Please install from either edx-sandbox/base.txt or edx-sandbox/releases/*.txt instead.
We ran: cp requirements/edx-sandbox/base.txt \ requirements/edx-sandbox/releases/quince.txt
a47a210
to
85643a1
Compare
2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production. |
2U Release Notice: This PR has been deployed to the edX production environment. |
1 similar comment
2U Release Notice: This PR has been deployed to the edX production environment. |
2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production. |
2U Release Notice: This PR has been deployed to the edX production environment. |
I've created edx/edx-arch-experiments#630 to track 2U's work to switch to base.txt. |
Description
We want to upgrade edx-sandbox to Python 3.11 before the Redwood cut. However, we want to allow operators on master and in Redwood to continue running edx-sandbox Python 3.8 for some amount of time amount of time, as it can be very difficult to upgrade both edx-platform and edx-sandbox (plus all of a site's instructor-authored code) all in one go.
So, we make these changes, each of which has its own commit:
releases/quince.txt
file from the current state ofbase.txt
while it is still Py38-compatibleplus two tangential bonus commits:
make upgrade
impl fromwget
tocurl
so that works in more places (eg tutor)Testing
None needed
Merged considerations
py38.txt
and start using eitherbase.txt
orquince.txt
.releases/<release>txt.
file every cut, starting withredwood.txt
on ~5/9. I'll link the quince.txt commit here as an example.