@@ -29,11 +29,12 @@ including links to the lines of source code on GitHub when possible:
29
29
** Table of Contents**
30
30
31
31
- [ Creating your own course] ( #creating-your-own-course )
32
- - [ Creating the GitHub Action] ( #creating-the-github -action )
32
+ - [ Creating the Query Checking Action] ( #creating-the-query-checking -action )
33
33
- [ Testing the action] ( #testing-the-action )
34
34
- [ Adding new queries & calculating the contents for the CSV files] ( #adding-new-queries--calculating-the-contents-for-the-csv-files )
35
35
- [ Publishing your action] ( #publishing-your-action )
36
36
- [ Contributing your GitHub Action to this repository] ( #contributing-your-github-action-to-this-repository )
37
+ - [ Creating the Learning Lab Course] ( #creating-the-learning-lab-course )
37
38
- [ Example Courses] ( #example-courses )
38
39
- [ Contributing] ( #contributing )
39
40
- [ Releasing new versions or updating dependencies] ( #releasing-new-versions-or-updating-dependencies )
@@ -46,7 +47,7 @@ including links to the lines of source code on GitHub when possible:
46
47
There are two main components to any Learning Lab course for CodeQL that uses
47
48
the components in this repository:
48
49
49
- * ** Query Checking Action:**
50
+ * [ ** Query Checking Action:** ] ( #creating-the-query-checking-action )
50
51
51
52
Each course has its own GitHub Action that is designed to be used in workflows
52
53
that run when a course participant pushes new commits to their repo.
@@ -66,7 +67,7 @@ the components in this repository:
66
67
and made available using
67
68
[ GitHub Packages] ( https://github.com/features/packages ) .
68
69
69
- * ** Learning Lab Course:**
70
+ * [ ** Learning Lab Course:** ] ( #creating-the-learning-lab-course )
70
71
71
72
This is the course itself.
72
73
It creates the initial repository the participant will use for their course,
@@ -75,7 +76,7 @@ the components in this repository:
75
76
has completed the current task correctly,
76
77
and is ready to advance to the next one.
77
78
78
- ### Creating the GitHub Action
79
+ ### Creating the Query Checking Action
79
80
80
81
* (for an example of a working action,
81
82
see [ ` courses/cpp/ctf-segv ` ] ( courses/cpp/ctf-segv ) ).*
@@ -150,7 +151,7 @@ we recommend structuring your course folder like so:
150
151
151
152
* (For your convinience,
152
153
we've created a template course that uses this file-structure
153
- in the folder [ ` courses/template ` ] ( courses/template ) .
154
+ in the folder [ ` templates/action ` ] ( templates/action ) .
154
155
You can simply copy the folder,
155
156
and follow the instructions in the template README for what things to replace).*
156
157
@@ -264,6 +265,35 @@ ensure that:
264
265
[`.github/workflows/publish.yml`](.github/workflows/publish.yml) to include
265
266
testing and image publishing for your course.
266
267
268
+ # ## Creating the Learning Lab Course
269
+
270
+ If you have not created a Learning Lab course before,
271
+ it is recommended to take the
272
+ [course on creating a course](https://lab.github.com/githubtraining/write-a-learning-lab-course)!
273
+
274
+ There are core repositories that need to be created as part of any learning-lab
275
+ course :
276
+
277
+ * **The course repository:**
278
+ All the course configuration, instructions etc...
279
+ * **The template repository:**
280
+ The initial contents that populate the repository
281
+ created on behalf of the course participant.
282
+ (All courses are taken with respect to it's own repository)
283
+
284
+ We've created two template directories
285
+ that you can use as a starting point for your own CodeQL Learning Lab Course :
286
+
287
+ * [`templates/learninglab/course`](templates/learninglab/course)
288
+ * [`templates/learninglab/course-template`](templates/learninglab/course-template)
289
+
290
+ Simply copy the contents of these templates into their own repositories,
291
+ and follow the [template instructions](templates/learninglab) to get started.
292
+
293
+ *(Remember that you need to create 2 separate repositories
294
+ for your Learning Lab course,
295
+ they can't be directories in an existing repo).*
296
+
267
297
# # Example Courses
268
298
269
299
* [GitHub Security Lab CTF 1: SEGV hunt](courses/cpp/ctf-segv)
0 commit comments