diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 28ea961..6f2f91e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,20 +1,20 @@ name: Deploy on: - # schedule: - # Run at 7am every day - # - cron: '0 7 * * *' - # Run at 7am every Monday - # - cron: '0 7 * * 1' + schedule: + # Run at 7am every day + # - cron: '0 7 * * *' + # Run at 7am every Monday + - cron: "0 7 * * 1" workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest env: - SSH: ssh -o StrictHostKeyChecking=no -i ~/.ssh/demo.key tutor@quince.demo.edly.io - VERSION: quince - LMS_HOST: quince.demo.edly.io + SSH: ssh -o StrictHostKeyChecking=no -i ~/.ssh/demo.key ubuntu@redwood.demo.edly.io + VERSION: redwood + LMS_HOST: redwood.demo.edly.io TUTOR: ~/.local/bin/tutor steps: - name: Configure SSH @@ -30,28 +30,29 @@ jobs: # https://github.com/pypa/pip/issues/7953 run: | $SSH "#! /bin/bash -e - pip install --user --upgrade pip==23.1.2 setuptools + pip install --user --upgrade pip setuptools " # Server system dependencies, to be run separately # apt update && apt install -y python3-pip - name: Install dependencies, tutor and plugins (from source) + # Pending: + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-android.git@$VERSION#egg=tutor-android + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/eduNEXT/tutor-contrib-codejail.git@$VERSION#egg=tutor-contrib-codejail + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-credentials.git@$VERSION#egg=tutor-credentials + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-cairn.git@$VERSION#egg=tutor-cairn + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-discovery.git@$VERSION#egg=tutor-discovery + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-ecommerce.git@$VERSION#egg=tutor-ecommerce + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-forum.git@$VERSION#egg=tutor-forum + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-minio.git@$VERSION#egg=tutor-minio + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-notes.git@$VERSION#egg=tutor-notes + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-webui.git@$VERSION#egg=tutor-webui + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-xqueue.git@$VERSION#egg=tutor-xqueue + # pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-jupyter.git@$VERSION#egg=tutor-jupyter run: | $SSH "#! /bin/bash -e pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor.git@$VERSION#egg=tutor - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-android.git@$VERSION#egg=tutor-android - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/eduNEXT/tutor-contrib-codejail.git@$VERSION#egg=tutor-contrib-codejail - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-cairn.git@$VERSION#egg=tutor-cairn - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-credentials.git@$VERSION#egg=tutor-credentials - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-discovery.git@$VERSION#egg=tutor-discovery - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-ecommerce.git@$VERSION#egg=tutor-ecommerce - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-forum.git@$VERSION#egg=tutor-forum - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-indigo.git@$VERSION#egg=tutor-indigo pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-mfe.git@$VERSION#egg=tutor-mfe - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-minio.git@$VERSION#egg=tutor-minio - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-notes.git@$VERSION#egg=tutor-notes - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-webui.git@$VERSION#egg=tutor-webui - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-xqueue.git@$VERSION#egg=tutor-xqueue - pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-jupyter.git@$VERSION#egg=tutor-jupyter + pip install --user --upgrade --src=~/apps/openedx/src --editable git+https://github.com/overhangio/tutor-indigo.git@$VERSION#egg=tutor-indigo " # Backup - name: Backup data @@ -95,8 +96,8 @@ jobs: " # Configure - name: Enable plugins - # missing plugins: none - run: $SSH "$TUTOR plugins enable android cairn codejail discovery ecommerce credentials forum indigo mfe minio notes webui xqueue jupyter" + # missing plugins: android codejail credentials cairn discovery ecommerce forum minio notes webui xqueue jupyter + run: $SSH "$TUTOR plugins enable indigo mfe " - name: Configure tutor settings run: | $SSH "#! /bin/bash -e @@ -111,21 +112,20 @@ jobs: $SSH "#! /bin/bash -e $TUTOR config save --append 'OPENEDX_EXTRA_PIP_REQUIREMENTS=edx-event-routing-backends>=7.2.0,<8.0.0' " - - name: Configure xqueue grader password - run: | - $SSH "$TUTOR config save --set XQUEUE_AUTH_PASSWORD=xqueuepassword" - - name: Configure Jupyter LTI Password - run: | - $SSH "$TUTOR config save --set JUPYTER_LTI_CLIENT_SECRET=jupyter-lti-password" + # - name: Configure xqueue grader password + # run: | + # $SSH "$TUTOR config save --set XQUEUE_AUTH_PASSWORD=xqueuepassword" + # - name: Configure Jupyter LTI Password + # run: | + # $SSH "$TUTOR config save --set JUPYTER_LTI_CLIENT_SECRET=jupyter-lti-password" # Build - name: Build Docker images run: | $SSH "#! /bin/bash -e - # note: we removed the --no-cache option to avoid long deploy times $TUTOR images build all " - - name: Initialize codejail - run: $SSH "$TUTOR local do init --limit=codejail" + # - name: Initialize codejail + # run: $SSH "$TUTOR local do init --limit=codejail" - name: Launch run: $SSH "$TUTOR local launch --non-interactive" # Provision @@ -152,6 +152,9 @@ jobs: - name: "Provision: Import demo course" run: $SSH "$TUTOR local do importdemocourse" + - name: "Prune Docker system" + run: $SSH "docker system prune -a -f --volumes" + # - name: "Provision: Import test course & libraries" # run: | # $SSH "#! /bin/bash -e diff --git a/README.md b/README.md index 0a7b9d0..c1275be 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,47 @@ # Open edX release demo platform CD -This repo holds the continuous deployment (CD) scripts to deploy the Open edX release demo platforms. As of October 11th 2023 it is used to deploy and configure a test instance of the Quince release. +This repo holds the continuous deployment (CD) scripts to deploy the Open edX release demo platforms. As of May 9, 2024, it is used to deploy and configure a test instance of the Redwood release. ⚠ THIS REPO IS NOT FOR PUBLIC CONSUMPTION ⚠ It is only used to deploy and configure a test instance for the [Build/Test/Release working group](https://discuss.openedx.org/c/working-groups/build-test-release/30). Detected issues should be reported to the working group. URLs: -- LMS: https://quince.demo.edly.io -- Studio: https://studio.quince.demo.edly.io +- LMS: https://redwood.demo.edly.io +- Studio: https://studio.redwood.demo.edly.io -You may login with the following credentials: +You may log in with the following credentials: - Student user: - - username: student - - email: student@overhang.io - - password: student + - username: student + - email: student@overhang.io + - password: student - Administrator user: - - username: admin - - email: admin@overhang.io - - password: admin + - username: admin + - email: admin@overhang.io + - password: admin The platform is reset weekly, every Monday at 7 am UTC. -The [deployment script](https://github.com/overhangio/openedx-release-demo/blob/master/.github/workflows/deploy.yml) is included in this repository. If you are working on testing the latest release and you would like to modify this script, please do open a pull request. +The [deployment script](https://github.com/overhangio/openedx-release-demo/blob/master/.github/workflows/deploy.yml) is included in this repository. If you are working on testing the latest release and you would like to modify this script, please open a pull request. The following plugins are enabled on the demo platform: -- tutor-android ([PR](https://github.com/overhangio/tutor-android/pull/17) by @muhammadali286) The mobile all can be downloaded from https://mobile.quince.demo.edly.io/app.apk. -- tutor-cairn ([PR](https://github.com/overhangio/tutor-cairn/pull/20/) by @FahadKhalid210) -- tutor-contrib-codejail ([branch](https://github.com/eduNEXT/tutor-contrib-codejail/tree/quince) by @MaferMazu) -- tutor-credentials ([PR](https://github.com/overhangio/tutor-credentials/pull/28) by @Talha-Rizwan) -- tutor-discovery ([PR](https://github.com/overhangio/tutor-discovery/pull/50) by @ziafazal) -- tutor-ecommerce ([PR](https://github.com/overhangio/tutor-ecommerce/pull/47) by @ziafazal) -- tutor-forum ([PR](https://github.com/overhangio/tutor-forum/pull/28) by @ghassanmas) -- tutor-indigo ([PR](https://github.com/overhangio/tutor-indigo/pull/51) by @hinakhadim) -- tutor-mfe ([PR](https://github.com/overhangio/tutor-mfe/pull/156) by @regisb) -- tutor-minio ([PR](https://github.com/overhangio/tutor-minio/pull/31) by @FahadKhalid210) -- tutor-notes ([PR](https://github.com/overhangio/tutor-notes/pull/29) by @jfavellar90) -- tutor-webui ([PR](https://github.com/overhangio/tutor-webui/pull/11) by @Abdul-Muqadim-Arbisoft) -- tutor-xqueue ([PR](https://github.com/overhangio/tutor-xqueue/pull/25) by @jfavellar90) -- tutor-jupyter ([PR](https://github.com/overhangio/tutor-jupyter/pull/4) by @mhsiddiqui). LTI passport is `jupyterhub:openedx:jupyter-lti-password`. - -If you are interested in upgrading these plugins to Quince, please submit a PR by following the regular [plugin upgrade instructions](https://discuss.overhang.io/t/how-to-upgrade-a-tutor-plugin/1488). +- tutor-android (TBD) +- tutor-cairn (TBD) +- tutor-contrib-codejail (TBD) +- tutor-credentials (TBD) +- tutor-discovery (TBD) +- tutor-ecommerce (TBD) +- tutor-forum (TBD) +- tutor-indigo ([PR](https://github.com/overhangio/tutor-indigo/pull/79) by @hinakhadim) +- tutor-mfe ([PR](https://github.com/overhangio/tutor-mfe/pull/207) by @hinakhadim) +- tutor-minio (TBD) +- tutor-notes (TBD) +- tutor-webui (TBD) +- tutor-xqueue (TBD) +- tutor-jupyter (TBD) + +If you are interested in upgrading these plugins to Redwood, please submit a PR by following the regular [plugin upgrade instructions](https://discuss.overhang.io/t/how-to-upgrade-a-tutor-plugin/1488). ## Testing @@ -50,7 +50,7 @@ The deployment script can be tested with [act](https://github.com/nektos/act). D # edit the resulting .secrets file cp .secrets.sample .secrets -Note that multi-line strings are not supported in secrets files, so you should replace carriage returns by "\n". +Note that multi-line strings are not supported in secrets files, so you should replace carriage returns with "\n". Then run::