You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -410,4 +421,25 @@ which potentially saves us a lot of time waiting for testing results.
410
421
Overall, this approach allows us to massively scale our automated testing
411
422
across platforms we wish to test.
412
423
424
+
> ## Failed CI Builds
425
+
> A CI build can fail when, e.g. a used Python package no longer supports a particular version of
426
+
> Python indicated in a GitHub Actions CI build matrix. In this case, the solution is either to
427
+
> upgrade the Python version in the build matrix (when possible) or downgrade the package version (and not use the latest one like we have been doing in this course).
428
+
>
429
+
> Also note that, if one job fails in the build for any reason - all subsequent jobs will get cancelled because of the default behavior of
430
+
> GitHub Actions. From [GitHub's documentation](https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#handling-failures):
431
+
>
432
+
> >*"GitHub will cancel all in-progress and queued jobs in the matrix if any job in the matrix fails."*
433
+
>
434
+
> This behaviour can be controlled by changing the value of the `fail-fast` property:
Copy file name to clipboardExpand all lines: _episodes/51-managing-software.md
+43-28Lines changed: 43 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,9 +47,11 @@ GitHub provides **Issues** -
47
47
a framework for managing bug reports, feature requests, and lists of future work.
48
48
49
49
Go back to the home page for your `python-intermediate-inflammation` repository in GitHub,
50
-
and click on the **Issue** tab.
50
+
and click on the `Issues` tab.
51
51
You should see a page listing the open issues on your repository -
52
-
currently there should be none.
52
+
currently there should be none.
53
+
If you do not see the `Issues` tab, you must first enable it in the settings of your repository:
54
+
go to the `Settings` tab, scroll down to the `Features` section and activate the checkmark on `Issues`.
53
55
54
56
{: .image-with-shadow width="1000px"}
55
57
@@ -269,7 +271,7 @@ representation of tasks and may not be as suitable for higher-level project mana
269
271
prioritising tasks for future development, planning sprints and releases. Luckily,
270
272
GitHub provides two project management tools for this purpose - **Projects** and **Milestones**.
271
273
272
-
Both Projects and Milestones provide [agile development and project management systems](https://www.atlassian.com/agile)
274
+
Both GitHub Projects and Milestones provide [agile development and project management systems](https://www.atlassian.com/agile)
273
275
and ways of organising issues into smaller "sub-projects" (i.e.
274
276
smaller than the "project" represented by the whole repository).
275
277
Projects provide a way of visualising and organising work which is not time-bound and is on a higher level (e.g. more suitable for
@@ -287,7 +289,7 @@ for now, we will have a brief look at Projects.
287
289
288
290
### Projects
289
291
290
-
A Project uses a "project board" consisting of columns and cards to keep track of tasks
292
+
A GitHub Project uses a "project board" consisting of columns and cards to keep track of tasks
291
293
(although GitHub now also provides a table view over a project's tasks).
292
294
You break down your project into smaller sub-projects,
293
295
which in turn are split into tasks which you write on cards,
@@ -299,7 +301,14 @@ such as issues and pull requests -
299
301
cards can be added to track the progress of such tasks
300
302
and automatically moved between columns based on their progress or status.
301
303
302
-
> ## Project are a Cross-Repository Management Tool
304
+
GitHub projects are "an adaptable, flexible tool for planning and tracking work on GitHub" -
305
+
they now provide interchangeable spreadsheet, task-board, or roadmap views of your project
306
+
that integrates with your issues and pull requests on GitHub to help you
307
+
plan and track your work effectively.
308
+
We recommend you to have a look at [GitHub’s documentation on Projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)
309
+
and see if they are suitable for your software development workflow.
310
+
311
+
> ## GitHub Projects are a Cross-Repository Management Tool
303
312
> [Project in GitHub](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)
304
313
> are created on a user or organisation level,
305
314
> i.e. they can span all repositories owned by a user or organisation in GitHub
@@ -308,32 +317,32 @@ and automatically moved between columns based on their progress or status.
308
317
> to help you plan and track your team's work effectively.
309
318
{: .callout}
310
319
311
-
Let's create a Project in GitHub to plan the first release of our code.
320
+
Let's have a quick look at how Projects are created in GitHub - we will not use them much in
321
+
this course but it is good to be aware of how to make use of them when suitable.
312
322
313
323
1. From your GitHub account's home page (not your repository's home page!),
314
324
select the "Projects" tab, then click the `New project` button on the right.
315
325
316
-
{: .image-with-shadow width="1000px"}
317
-
318
-
2. In the "Select a template" pop-up window, select "Board" -
319
-
this will give you a classic "cards on a board" view of the project.
320
-
An alternative is the "Table" view,
321
-
which presents a spreadsheet-like and slightly more condensed view of a project.
322
-
323
-
{: .image-with-shadow width="600px"}
324
-
325
-
3. GitHub will create an unnamed project board for you.
326
-
You should populate the name and the description of the project from the project's Settings,
327
-
which can be found by clicking the `...` button in the top right corner of the board.
328
-
329
-
{: .image-with-shadow width="800px"}
330
-
331
-
4. We can, for example, use "Inflammation project - release v0.1"
332
-
and "Tasks for the v0.1 release of the inflammation project"
333
-
for the name and description of our project, respectively.
334
-
Or you can use anything that suits your project.
335
-
336
-
{: .image-with-shadow width="800px"}
326
+
{: .image-with-shadow width="800px"}
327
+
328
+
2. In the "Create project" pop-up window, you can either start from one of the featured existing
329
+
project templates or create your project from scratch using one of the three standard project
330
+
types/views that you customise yourself:
331
+
- Table - a spreadsheet-style table to filter, sort and group your issues and pull requests.
332
+
- Board - a "cards on a board" view of the project, with issues and pull requests being
333
+
spread across customizable columns as cards on kanban board
334
+
- Roadmap - suitable for a high-level visualisation of your project over time.
335
+
{: .image-with-shadow width="800px"}
336
+
Regardless of which project type/view you select, you can easily switch to a different
337
+
project layout later on.
338
+
339
+
3. For example, select the "Board" type for the project, fill in the name of your project
340
+
(e.g. "Inflammation project - release v0.1"), and select `Create project`.
341
+
4. After it is created, you should also populate the description of the project from the project's Settings,
342
+
which can be found by clicking the `...` button in the top right corner of the project.
343
+
{: .image-with-shadow width="800px"}
344
+
{: .image-with-shadow width="800px"}
345
+
After adding a description, select `Save`.
337
346
338
347
5. GitHub's default card board template contains
339
348
the following three columns with pretty self-explanatory names:
@@ -349,6 +358,8 @@ Let's create a Project in GitHub to plan the first release of our code.
349
358
if you have tasks that get held up by waiting on other people
350
359
(e.g. to respond to your questions)
351
360
then moving them to a separate column makes their current state clearer.
361
+
Another way to organise your table is to have a column for each quarter of the year -
362
+
it is up to you to decide how you want to view your project's activities.
352
363
353
364
To add a new column,
354
365
press the `+` button on the right;
@@ -375,7 +386,7 @@ Let's create a Project in GitHub to plan the first release of our code.
375
386
or write more detailed comments
376
387
(for that, use the `Convert to issue` option from the `...` menu on the card itself).
377
388
378
-
{: .image-with-shadow width="800px"}
389
+
{: .image-with-shadow width="800px"}
379
390
380
391
7. In addition to creating new tasks as notes and converting them to issues -
381
392
you can add an existing issue or pull request (from any repository visible to you)
@@ -386,6 +397,10 @@ and pressing the `Enter` key.
386
397
Issues and pull requests on cards will automatically be moved to the `Done` column for you
387
398
when you close the issue or merge the pull request -
388
399
which is very convenient and can save you some project management time.
400
+
9. Finally, you can change the way you view your project by adding another view.
401
+
For example, we can add a Table view to our Board view by clicking the `New button`
402
+
and selecting it from the drop down menu.
403
+
{: .image-with-shadow width="800px"}
389
404
390
405
> ## Exercise: Working With Projects
391
406
> Spend a few minutes planning what you want to do with your project as a bigger chunk of work
0 commit comments