From 16d639067fb176fc610aa41281f9c39b9b5ce2da Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Mon, 14 Jul 2025 16:26:46 +0100 Subject: [PATCH 01/19] Update repo metadata --- .github/FUNDING.yml | 11 ---- .github/ISSUE_TEMPLATE/config.yml | 4 +- .github/ISSUE_TEMPLATE/pd-assignment.yml | 2 +- .github/ISSUE_TEMPLATE/tech-ed-assignment.yml | 14 ++-- .github/pull_request_template.md | 6 +- HOW_TO_REVIEW.md | 66 ------------------- 6 files changed, 13 insertions(+), 90 deletions(-) delete mode 100644 HOW_TO_REVIEW.md diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index b34cfcfc3..ea03447fe 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,13 +1,2 @@ -# These are supported funding model platforms - github: CodeYourFuture -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry custom: https://codeyourfuture.io/donate diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 5fe8ffd09..db0e6f432 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,4 +1,4 @@ -blank_issues_enabled: false +blank_issues_enabled: true contact_links: - name: CYF url: contact@codeyourfuture.io @@ -8,7 +8,7 @@ contact_links: about: Join CYF here - name: CYF Slack url: codeyourfuture.slack.com - about: Come to #cyf-syllabus-tech and chat + about: Come to #cyf-curriculum and chat - name: CYF Tech Ed url: https://github.com/orgs/CodeYourFuture/teams/mentors about: CYF mentors on Github diff --git a/.github/ISSUE_TEMPLATE/pd-assignment.yml b/.github/ISSUE_TEMPLATE/pd-assignment.yml index c8bd22980..19f15fa3a 100644 --- a/.github/ISSUE_TEMPLATE/pd-assignment.yml +++ b/.github/ISSUE_TEMPLATE/pd-assignment.yml @@ -1,7 +1,7 @@ name: PD Coursework description: Assign a piece of PD coursework title: "[PD] " -labels: [PD, 🏝 Priority Stretch, 🐇 Size Small] +labels: [PD, 🏝 Priority Stretch, 🐇 Size Small, 📅 Sprint 1] body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml b/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml index ac9da906a..343b4d677 100644 --- a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml +++ b/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml @@ -1,20 +1,20 @@ name: Tech Ed Coursework description: Assign a piece of technical coursework title: "<title>" -labels: [Tech Ed, 🏕 Priority Mandatory, 🐂 Size Medium, 📅 Module 1] +labels: [Tech Ed, 🏕 Priority Mandatory, 🐂 Size Medium, 📅 Sprint 1] body: - type: markdown attributes: value: | - Thanks for taking the time to assign this coursework! + Thanks for taking the time to assign this coursework! - To support our trainees with planning and prioritising their own learning journey, we want our coursework assignments to be more informative. + To support our trainees with planning and prioritising their own learning journey, we want our coursework assignments to be more informative. We don't just want to tell them what to do, we want to tell them stuff like: - why we are doing it - what it's "for" (problem-solving, debugging, etc) - how long they should spend on it, maximum - - how to get help - - how to review it with answers + - how to get help + - how to review it with answers - how to get it reviewed from mentors and peers - type: input attributes: @@ -26,7 +26,7 @@ body: label: Learning Objectives description: https://common.codeyourfuture.io/common-theme/shortcodes/objectives/ placeholder: | - <!--{{<objectives}}--> + <!--{{<objectives}}--> - [ ] CYF format, task list formatting <!--{{</objectives}}--> - type: textarea @@ -80,7 +80,7 @@ body: 1. Update labels - priority -- is this coursework key, mandatory, or stretch? Pick one. - size -- help trainees plan their time with rough estimation. Pick one - - topics -- add all that seem relevant to you. + - topics -- add all that seem relevant to you. 2. Add a Sprint label to add to the backlog view - sprint 1,2,3,4 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 3f0e90653..86544e40d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,11 +2,11 @@ You must title your PR like this: -REGION | COHORT_NAME | FIRST_NAME LAST_NAME | PROJ_NAME +Region | Cohort | FirstName LastName | Sprint | Assignment Title For example, -London | May-2025 | Carol Owen | Wireframe +London | 25-ITP-May | Carol Owen | Sprint 1 | Alarm Clock Complete the task list below this message. If your PR is rejected, check the task list. @@ -18,7 +18,7 @@ If your PR is rejected, check the task list. Self checklist - [ ] I have committed my files one by one, on purpose, and for a reason -- [ ] I have titled my PR with REGION | COHORT_NAME | FIRST_NAME LAST_NAME | PROJ_NAME +- [ ] I have titled my PR with Region | Cohort | FirstName LastName | Sprint | Assignment Title - [ ] I have tested my changes - [ ] My changes follow the [style guide](https://curriculum.codeyourfuture.io/guides/reviewing/style-guide/) - [ ] My changes meet the [requirements](./README.md) of this task diff --git a/HOW_TO_REVIEW.md b/HOW_TO_REVIEW.md deleted file mode 100644 index 39222358f..000000000 --- a/HOW_TO_REVIEW.md +++ /dev/null @@ -1,66 +0,0 @@ -# Everyone reviews code at CYF - -[![Code Review Flow](code-review-flow.png)](https://curriculum.codeyourfuture.io/guides/reviewing/) - -https://curriculum.codeyourfuture.io/guides/reviewing/ - -Mentors and participants all review code, and collaborate on improving code quality. We are all helping each other to talk, write, and think about code more clearly. - -We are not reviewing code as if we were to merge this PR into production; we are opening a technical conversation for the purpose of insight and development. - -## Key points: - -1. Ask questions instead of making statements: - - **YES:** "Is there another element you could use to group a set of fields in a form? Why might someone use a different element in a form?" - **NO:** "Use fieldset not divs" - -2. Encourage simplicity, clarity, and precision: - - **YES** "There are 15,0000 files in this changelist. Which files should be reviewed?" - **NO** "It doesn't matter; I can try to figure out what you meant." - -3. Respect everyone's work and time: - - **YES** "I think there's some more to do here. Thanks for sharing where you're up to. Can I help you complete this?" - **NO** "This is rubbish. Try harder." - -## Getting your pull request reviewed - -We're using GitHub Labels in our Code Review process. In order for a volunteer to review a pull request, a participant will need to add a "Needs Review" label to it. - -To add a label to a pull request: - -- Open the pull request -- In the right sidebar, click Labels, then select the label you'd like to add - for example: "Needs Review" - -Take a look at our code review process from beginning to end. Let us know if you have any questions or need help! -![Code Review Flow](code-review-flow.png) - -## Labels for feedback - -Reviewers, please add labels (provided) to the PR once you've reviewed. This helps to focus the participant on the areas they should work on, and gives an overview for mentors on what the whole cohort needs to work on. - -## Solutions - -### Where to find solutions? - -You can find the solutions for the module on the `solutions` branch. - -### Solutions branch - -The solutions branch typically contains: - -#### Sample solutions - -Solutions are example answers not the only correct answers. - -#### Common responses guides. - -Everyone is invited to contribute commonly encountered problems, mistakes, misunderstandings, and mental-model errors to our common responses documents. - -Use these resources to inform your code review, get unstuck, and improve your understanding. - -## Guides - -https://curriculum.codeyourfuture.io/guides/reviewing/ From 7b96b80a687352cd6b87efa19a8e8dd2d59a9580 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Wed, 13 Aug 2025 20:22:01 +0100 Subject: [PATCH 02/19] Set up Validate PR Metadata action --- .github/workflows/validate-pr-metadata.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/validate-pr-metadata.yml diff --git a/.github/workflows/validate-pr-metadata.yml b/.github/workflows/validate-pr-metadata.yml new file mode 100644 index 000000000..5c06d7083 --- /dev/null +++ b/.github/workflows/validate-pr-metadata.yml @@ -0,0 +1,18 @@ +name: Validate PR Metadata +on: + pull_request: + types: + - labeled + - unlabeled + - opened + - edited + - reopened + +jobs: + validate_pr_metadata: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: CodeYourFuture/actions/validate-pr-metadata@main + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 0b12de6425597ddf5cb1f7d49799f2e08bcd1930 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Wed, 13 Aug 2025 20:27:15 +0100 Subject: [PATCH 03/19] Allow secrets on action --- .github/workflows/validate-pr-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate-pr-metadata.yml b/.github/workflows/validate-pr-metadata.yml index 5c06d7083..10ef3c74a 100644 --- a/.github/workflows/validate-pr-metadata.yml +++ b/.github/workflows/validate-pr-metadata.yml @@ -1,6 +1,6 @@ name: Validate PR Metadata on: - pull_request: + pull_request_target: types: - labeled - unlabeled From 72fe02ba5885d4f58923a041e9a4f6ffca1b99e5 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Tue, 26 Aug 2025 17:44:30 +0100 Subject: [PATCH 04/19] Update PR template --- .github/pull_request_template.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 86544e40d..0d8ee1dfd 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,8 +8,13 @@ For example, London | 25-ITP-May | Carol Owen | Sprint 1 | Alarm Clock -Complete the task list below this message. -If your PR is rejected, check the task list. +Fill in the template below - remove any sections that don't apply. + +Complete the self checklist - replace each empty box in the checklist [ ] with a [x]. + +Add the label "Needs Review" and you will get review. + +Respond to volunteer reviews until the volunteer marks it as "Complete". --> @@ -17,11 +22,10 @@ If your PR is rejected, check the task list. Self checklist -- [ ] I have committed my files one by one, on purpose, and for a reason - [ ] I have titled my PR with Region | Cohort | FirstName LastName | Sprint | Assignment Title +- [ ] My changes meet the requirements of the task - [ ] I have tested my changes - [ ] My changes follow the [style guide](https://curriculum.codeyourfuture.io/guides/reviewing/style-guide/) -- [ ] My changes meet the [requirements](./README.md) of this task ## Changelist From 3b1f39507172b13da87aea1b4566a77620cca281 Mon Sep 17 00:00:00 2001 From: Colin Farquhar <cifarquhar@gmail.com> Date: Thu, 22 Jan 2026 16:01:14 +0000 Subject: [PATCH 05/19] Remove old issue templates (#1012) --- .github/ISSUE_TEMPLATE/config.yml | 14 --- .github/ISSUE_TEMPLATE/pd-assignment.yml | 59 ------------- .github/ISSUE_TEMPLATE/tech-ed-assignment.yml | 88 ------------------- 3 files changed, 161 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/pd-assignment.yml delete mode 100644 .github/ISSUE_TEMPLATE/tech-ed-assignment.yml diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index db0e6f432..000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,14 +0,0 @@ -blank_issues_enabled: true -contact_links: - - name: CYF - url: contact@codeyourfuture.io - about: Please report serious issues here. - - name: Join CYF - url: https://codeyourfuture.io/volunteers/ - about: Join CYF here - - name: CYF Slack - url: codeyourfuture.slack.com - about: Come to #cyf-curriculum and chat - - name: CYF Tech Ed - url: https://github.com/orgs/CodeYourFuture/teams/mentors - about: CYF mentors on Github diff --git a/.github/ISSUE_TEMPLATE/pd-assignment.yml b/.github/ISSUE_TEMPLATE/pd-assignment.yml deleted file mode 100644 index 19f15fa3a..000000000 --- a/.github/ISSUE_TEMPLATE/pd-assignment.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: PD Coursework -description: Assign a piece of PD coursework -title: "[PD] <title>" -labels: [PD, 🏝 Priority Stretch, 🐇 Size Small, 📅 Sprint 1] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to assign this coursework! - - type: input - attributes: - label: Coursework content - validations: - required: true - - type: input - attributes: - label: Estimated time in hours - description: (PD has max 4 per week total) - validations: - required: true - - type: textarea - attributes: - label: What is the purpose of this assignment? - description: Clearly explain the purpose of this assignment and how trainees can evaluate this. - validations: - required: true - - type: textarea - attributes: - label: How to submit - description: State in clear steps how a trainee can submit this assignment. - placeholder: | - Copy the Google doc to your own Google Drive - Complete the work assigned - When you are ready, move your document to your class Drive - validations: - required: true - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Anything that will give more context - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - - type: markdown - attributes: - value: | - **Thank you so much.** - - Please now complete this ticket by filling in the options on the sidebar. - - 1. Update labels - - priority -- is this coursework key, mandatory, or stretch? - - size -- help trainees plan their time with rough estimation - 2. Add to project backlog - - add to the project named the same as this repo - - fill in custom fields -- priority, size, hours, week -- to match this issue - - Once your ticket is complete, you may like to check it out on the example project board attached to this repo. - This is so you understand how trainees will use your work. diff --git a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml b/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml deleted file mode 100644 index 343b4d677..000000000 --- a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Tech Ed Coursework -description: Assign a piece of technical coursework -title: "<title>" -labels: [Tech Ed, 🏕 Priority Mandatory, 🐂 Size Medium, 📅 Sprint 1] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to assign this coursework! - - To support our trainees with planning and prioritising their own learning journey, we want our coursework assignments to be more informative. - We don't just want to tell them what to do, we want to tell them stuff like: - - why we are doing it - - what it's "for" (problem-solving, debugging, etc) - - how long they should spend on it, maximum - - how to get help - - how to review it with answers - - how to get it reviewed from mentors and peers - - type: input - attributes: - label: Link to the coursework - validations: - required: true - - type : textarea - attributes: - label: Learning Objectives - description: https://common.codeyourfuture.io/common-theme/shortcodes/objectives/ - placeholder: | - <!--{{<objectives}}--> - - [ ] CYF format, task list formatting - <!--{{</objectives}}--> - - type: textarea - attributes: - label: Why are we doing this? - description: Clearly explain the purpose of this assignment - validations: - required: true - - type: input - attributes: - label: Maximum time in hours - description: (Tech has max 16 per week total) - validations: - required: true - - type: textarea - attributes: - label: How to get help - description: State simply how trainees can get help with this assignment - value: | - Share your blockers in your class channel - https://curriculum.codeyourfuture.io/guides/getting-help/asking-questions/ - - type: textarea - attributes: - label: How to submit - description: State in clear steps how a trainee can submit this assignment. - value: | - Fork the repo to your own GitHub account - Make regular small commits with clear messages - When you are ready, open a Pull Request to the CYF repo - Make sure you fill in the PR template provided - validations: - required: true - - type: textarea - attributes: - label: How to review - description: How to get code review and how to self-review - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Anything that will give more context - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - - type: markdown - attributes: - value: | - **Thank you so much.** - - Please now complete this ticket by filling in the options on the sidebar. - - 1. Update labels - - priority -- is this coursework key, mandatory, or stretch? Pick one. - - size -- help trainees plan their time with rough estimation. Pick one - - topics -- add all that seem relevant to you. - 2. Add a Sprint label to add to the backlog view - - sprint 1,2,3,4 - - Once your ticket is complete, you may like to add it to the example project board attached to this repo. - This is so you understand how trainees will use your work. Nobody has built a board copier yet, so trainees will be doing this step themselves. From 7a56285bc5fc2c35d7156f1db5205f4982ebbe6f Mon Sep 17 00:00:00 2001 From: KayanatSuleman <kayanat.suleman@yahoo.co.uk> Date: Thu, 22 Jan 2026 21:10:37 +0000 Subject: [PATCH 06/19] Create three articles explaining README, wireframes, and Git branches --- Wireframe/README.md | 2 +- Wireframe/index.html | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Wireframe/README.md b/Wireframe/README.md index 0ae0216d1..13ba3e1b3 100644 --- a/Wireframe/README.md +++ b/Wireframe/README.md @@ -15,7 +15,7 @@ There are some provided HTML and CSS files you can use to get started. You can u <!--{{<objectives>}}>--> - [ ] Use semantic HTML tags to structure the webpage -- [ ] Create three articles, each including a title, summary, and a link +- [x] Create three articles, each including a title, summary, and a link - [ ] Check a webpage against a wireframe layout - [ ] Test web code using [Lighthouse](https://programming.codeyourfuture.io/guides/testing/lighthouse) - [ ] Use version control by committing often and pushing regularly to GitHub diff --git a/Wireframe/index.html b/Wireframe/index.html index 0e014e535..f6601fe84 100644 --- a/Wireframe/index.html +++ b/Wireframe/index.html @@ -16,7 +16,25 @@ <h1>Wireframe</h1> <main> <article> <img src="placeholder.svg" alt="" /> - <h2>Title</h2> + <h2>What is the purpose of a README file?</h2> + <p> + Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, + voluptates. Quisquam, voluptates. + </p> + <a href="">Read more</a> + </article> + article> + <img src="placeholder.svg" alt="" /> + <h2>What is the purpose of a wireframe?</h2> + <p> + Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, + voluptates. Quisquam, voluptates. + </p> + <a href="">Read more</a> + </article> + article> + <img src="placeholder.svg" alt="" /> + <h2>What is a branch in Git?</h2> <p> Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptates. Quisquam, voluptates. From 99c4e3fe9ac562feec47fde73fca3f7a8580bc81 Mon Sep 17 00:00:00 2001 From: KayanatSuleman <kayanat.suleman@yahoo.co.uk> Date: Thu, 22 Jan 2026 21:27:01 +0000 Subject: [PATCH 07/19] Fix broken article tags in wireframe page --- Wireframe/index.html | 94 ++++++++++++++++++++++---------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Wireframe/index.html b/Wireframe/index.html index f6601fe84..f96dd3fcd 100644 --- a/Wireframe/index.html +++ b/Wireframe/index.html @@ -1,51 +1,51 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Wireframe - - - -
-

Wireframe

-

- This is the default, provided code and no changes have been made yet. -

-
-
-
- -

What is the purpose of a README file?

+ + + + + + Wireframe + + + +
+

Wireframe

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, - voluptates. Quisquam, voluptates. + This is the default, provided code and no changes have been made yet.

- Read more -
- article> - -

What is the purpose of a wireframe?

+ +
+
+ +

What is the purpose of a README file?

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, + voluptates. Quisquam, voluptates. +

+ Read more +
+
+ +

What is the purpose of a wireframe?

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, + voluptates. Quisquam, voluptates. +

+ Read more +
+
+ +

What is a branch in Git?

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, + voluptates. Quisquam, voluptates. +

+ Read more +
+
+

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, - voluptates. Quisquam, voluptates. + This is the default, provided code and no changes have been made yet.

- Read more - - article> - -

What is a branch in Git?

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, - voluptates. Quisquam, voluptates. -

- Read more - -
- - - + + + From 2809de583b2f5c95a895e7c8a13efb033f2477ff Mon Sep 17 00:00:00 2001 From: KayanatSuleman Date: Thu, 22 Jan 2026 22:16:00 +0000 Subject: [PATCH 08/19] Add external links to each article --- Wireframe/index.html | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Wireframe/index.html b/Wireframe/index.html index f96dd3fcd..438b11921 100644 --- a/Wireframe/index.html +++ b/Wireframe/index.html @@ -18,10 +18,9 @@

Wireframe

What is the purpose of a README file?

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, - voluptates. Quisquam, voluptates. + A ReadMe file explains what a project is, how set it up and how to use it.

- Read more + Learn more about READMEs
@@ -30,7 +29,7 @@

What is the purpose of a wireframe?

Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptates. Quisquam, voluptates.

- Read more + Learn more about wireframes