-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Author: Anas Iqbal
Mentors: Juan Pablo (https://github.com/pabo99)
GSoC Announcement: https://summerofcode.withgoogle.com/programs/2025/projects/ASaOFqQw
PRD: https://docs.google.com/document/d/1YrpJENlDqKYOs2zJ6msj6ZzfHIPaFlttcOjZIsa8H2g/edit?tab=t.0#heading=h.jd9bc5b8hoah
This issue will serve as a progress tracker for my GSoC 2025 project on integrating and managing public course content via GitHub.
Phase 1: Repository Setup and Basic Infrastructure (Mid Term Evaluation)
-
[P0] Create a unique GitHub repository to manage the content of all public courses
-
[P0] Assign Creative Commons Zero v1.0 Universal license - Add License to the Repository #2
-
[P0] Create
omegaup.com
user for GitHub auth and give it admin access to courses + lectures/problems (Dev manager) - Generate and add OMEGAUP_API_TOKEN in the Github Secrets #4 -
[P0] Configure repository settings: - Configuring the Repository #5
- Merge allowed only for admins
- PRs must pass checks before merging
Phase 2: Workflow and Sync Automation (Mid Term Evaluation)
-
[P0] Create GitHub Action to sync content from omegaup.com to repo - Github action for downloading the content from omegaup.com #10
- When initializing the repository
- When changes are made in omegaup.com
- When repo goes out of sync due to partial deployment failure
-
[P0] Create GitHub Action to upload content from repo to omegaup.com - Create GitHub Action to upload content from repo to omegaup.com #6
-
[P0] Integrate automatic deployment (similar to OMI repo) - Integrate automatic deployment (similar to OMI repo) #8
Phase 3: Contributor Workflow & Permissions (Final Evaluation)
-
[P1] Allow contributors to: - Contributor Workflow & Permissions #16
- Upload new problems or read-only content with
admin
repo access - Link newly uploaded problems with specific courses
- Upload new problems or read-only content with
-
[P1] Allow contributors to remove problems/lectures from a course (without deleting them) - Contributor Workflow & Permissions #16
-
[P1] Upgrade the Python Version for the environment in being used in the repository scripts for Github Actions - Upgrade the Python Version #23
Phase 4: Validation and Testing (Final Evaluation)
-
[P1] Create issue and pull request templates - Create templates for Issue and Pull Request #18
- Typo/correction issue
- Propose new content issue
- New pull request
-
[P1] Include basic integration tests: - Add basic testing #21
- Validate Markdown file existence
- Validate image references
-
[P1] Create a extensive documentation for the contributors to follow and create or edit new/existing content. - Add documentation #26
-
[P2] Run the scripts to initiate addition of content from some courese to the Github repository. - Initiate Courses Addition #29
-
[P1] Managers can be able to create new content for the Python course (Documentation only)
-
[P2] Managers should invite volunteers to create/modify highly requested content (Documentation only)