Skip to content

Commit a583e20

Browse files
authored
Merge pull request #34 from xebia/3.1-Issues-v3
3.1 issues v3
2 parents c6d48df + 5c95d2c commit a583e20

20 files changed

+293
-65
lines changed

learn-pr/github/github-actions-automate-tasks/1-introduction.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Introduction
44
metadata:
55
title: Introduction
66
description: An introduction to GitHub Actions and workflows.
7-
ms.date: 10/08/2024
7+
ms.date: 05/01/2025
88
author: juliakm
99
ms.author: jukullam
1010
ms.topic: unit

learn-pr/github/github-actions-automate-tasks/includes/2-github-actions-automate-development-tasks.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,50 @@ The last part of this workflow file sets the `MY_NAME` variable value for this w
156156

157157
For more information on workflow syntax, see [Workflow syntax for GitHub Actions](https://docs.github.com/actions/using-workflows/workflow-syntax-for-github-actions?azure-portal=true)
158158

159+
## Referencing Actions in Workflows
160+
161+
When creating workflows in GitHub Actions, you can reference actions from various sources. These actions can be used to automate tasks in your workflows. Below are the primary sources where workflows can reference actions:
162+
163+
1. **A published Docker container image on Docker Hub**
164+
Workflows can reference actions that are published as Docker container images on Docker Hub. These actions are containerized and include all dependencies required to execute the action. To use such an action, you specify the Docker image in the `uses` attribute of your workflow step. For example:
165+
```yml
166+
steps:
167+
- name: Run a Docker action
168+
uses: docker://<docker-image-name>:<tag>
169+
```
170+
171+
This is particularly useful for actions that require a custom runtime or dependencies not available in standard runners.
172+
173+
2. **Any public repository**
174+
Actions hosted in public repositories can be directly referenced in your workflows. These actions are accessible to anyone and can be used by specifying the repository name and version (Git ref, SHA, or tag) in the `uses` attribute. For example:
175+
```yml
176+
steps:
177+
- name: Use a public action
178+
uses: actions/checkout@v3
179+
```
180+
181+
3. **The same repository as your workflow file**
182+
You can reference actions stored in the same repository as your workflow file. This is useful for custom actions that are specific to your project. To reference such actions, use a relative path to the action's directory. For example:
183+
```yml
184+
steps:
185+
- name: Use a local action
186+
uses: ./path-to-action
187+
```
188+
189+
4. **An enterprise marketplace**
190+
If your organization uses GitHub Enterprise, you can reference actions from your enterprise's private marketplace. These actions are curated and managed by your organization, ensuring compliance with internal standards. For example:
191+
```yml
192+
steps:
193+
- name: Use an enterprise marketplace action
194+
uses: enterprise-org/action-name@v1
195+
```
196+
197+
### Additional Notes
198+
- Actions in private repositories can also be referenced, but they require proper authentication and permissions.
199+
- When referencing actions, always specify a version (Git ref, SHA, or tag) to ensure consistency and avoid unexpected changes.
200+
201+
For more information, see [Referencing actions in workflows](https://docs.github.com/actions/using-workflows/referencing-actions-in-workflows?azure-portal=true).
202+
159203
## GitHub-hosted versus self-hosted runners
160204

161205
We briefly mentioned runners as being associated with a job. A runner is simply a server that has the GitHub Actions runner application installed. In the previous workflow example, there was a `runs-on: ubuntu-latest` attribute within the jobs block, which told the workflow that the job is going to run using the GitHub-hosted runner that's running in the `ubuntu-latest` environment.

learn-pr/github/introduction-to-github/2-what-is-github.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ metadata:
1010
ms.topic: unit
1111
durationInMinutes: 8
1212
content: |
13-
[!include[](includes/2-what-is-github.md)]
13+
[!include[](includes/2-what-is-github.md)]

learn-pr/github/introduction-to-github/includes/2-what-is-github.md

Lines changed: 29 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -120,54 +120,46 @@ Congratulations, you just created a new file in your repository! You have also c
120120

121121
Before we review branches and commits in the next unit, let’s quickly review gists, wikis, and GitHub pages because they're similar to repositories.
122122

123-
### What are gists
123+
### What are gists?
124124

125-
Now that we have a good understanding of repositories, we can review gists. Similarly to repositories, gists are a simplified way to share code snippets with others.
125+
Gists are a GitHub feature for sharing code snippets, notes, or small pieces of information conveniently. They are Git repositories that can be cloned, forked, and version-controlled like full repositories. Gists are particularly useful for sharing quick solutions, configuration files, or examples without the need to create a full repository.
126126

127-
Every gist is a Git repository, which you can fork and clone and be made either public or secret. Public gists are displayed publicly where people can browse new ones as they’re created. Public gists are also searchable. Conversely, secret gists aren't searchable, but they aren’t entirely private. If you send the URL of a secret gist to a friend, they'll be able to see it.
127+
#### Key features of gists
128+
1. **Public and Secret Gists**:
129+
- **Public Gists**: These are visible to everyone and can be discovered through GitHub's search functionality. They are ideal for sharing code snippets or solutions that you want to make available to the broader community.
130+
- **Secret Gists**: These are not searchable or publicly listed, but they are not entirely private. Anyone with the URL can access them. They are useful for sharing code with a limited audience, such as collaborators or friends.
128131

129-
### Forking and cloning gists
132+
2. **Version Control**:
133+
- Every change made to a gist is tracked, allowing you to view the history of edits. This makes it easy to revert to a previous version or see how the snippet has evolved over time.
130134

131-
You can fork a gist to create a copy of someone else's gist in your account.
135+
3. **Forking and Cloning**:
136+
- Like repositories, gists can be forked and cloned. This allows others to build upon your work or adapt it to their needs.
132137

133-
1. Navigate to the gist you want to fork.
134-
2. Select **Fork** at the top-right of the gist page.
138+
4. **Embedding**:
139+
- Gists can be embedded into websites or blogs, making them a great tool for sharing code examples in tutorials or documentation.
135140

136-
To clone a gist locally:
141+
5. **Markdown Support**:
142+
- Gists support Markdown formatting, which means you can include rich text, headings, links, and even images alongside your code. This is particularly useful for adding context or explanations to your snippets.
137143

138-
```bash
139-
git clone https://gist.github.com/your-gist-id.git
140-
```
144+
6. **Collaboration**:
145+
- While gists are typically used for individual snippets, they can also be shared and collaborated on by multiple users. Forking and commenting on gists enable lightweight collaboration.
141146

142-
To learn more about gists, see the linked article in our Resources section at the end of this module titled *Creating Gists*.
147+
#### Use cases for Gists
148+
- Sharing quick code examples or solutions.
149+
- Storing configuration files or scripts for personal use.
150+
- Creating templates for commonly used code patterns.
151+
- Sharing error logs or debugging information with others.
152+
- Embedding code snippets in blogs, forums, or documentation.
143153

144-
---
154+
#### Limitations of Gists
155+
> [!IMPORTANT]
156+
> Gists are not entirely private, even if marked as secret. Anyone with the URL can access them, so they should not be used for sensitive or confidential information.
157+
- They are best suited for small snippets or single files. For larger projects or multi-file structures, a full repository is more appropriate.
158+
159+
To learn more about how to create and manage gists, refer to the GitHub documentation in the Resources section of this module or visit the [GitHub Gists documentation](https://docs.github.com/en/github/writing-on-github/creating-gists).
145160

146161
### What are wikis?
147162

148163
Every repository on GitHub.com comes equipped with a section for hosting documentation, called a wiki. You can use your repository's wiki to share long-form content about your project, such as how to use it, how you designed it, or its core principles. While a README file quickly tells what your project can do, you can use a wiki to provide additional documentation.
149164

150-
It’s worth a reminder that if your repository is private, only people who have at least read access to your repository will have access to your wiki.
151-
152-
### Creating, editing, and deleting wiki pages
153-
154-
You can use the GitHub wiki to create and manage documentation for your project.
155-
156-
**To create a wiki page:**
157-
158-
1. Navigate to the repository.
159-
2. Select the **Wiki** tab.
160-
3. Select **Create the first page** if no pages exist, or **New Page** to add a page.
161-
4. Enter a title and content, then select **Save Page**.
162-
163-
**To edit a wiki page:**
164-
165-
1. Navigate to the wiki page you want to edit.
166-
2. Select **Edit** at the top-right.
167-
3. Make changes and select **Save Page**.
168-
169-
**To delete a wiki page:**
170-
171-
- Deleting a wiki page requires using Git. Clone the wiki repository, remove the file, and push the change.
172-
173-
Learn more about managing wikis in [GitHub Docs - Adding or editing wiki pages](https://docs.github.com/en/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages).
165+
It’s worth a reminder that if your repository is private, only people who have at least read access to your repository will have access to your wiki.

learn-pr/github/introduction-to-github/includes/3-components-of-github-flow.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,15 @@ Once the changes have been approved (if required), the pull request's source bra
4848

4949
:::image type="content" source="../media/2-pull-request.png" alt-text="A screenshot of a pull request and a comment within the pull request." border="false":::
5050

51-
Now that we know of all the ingredients, let’s review the GitHub flow.
51+
Unlike issues and discussions, pull requests relate specifically to proposed changes in code. Issues are used for tracking bugs, feature requests, or tasks, while Discussions are meant for broader conversations that aren’t tied directly to a specific line of code.
52+
53+
Now that we understand all the key elements, let’s review the GitHub flow.
5254

5355
## The GitHub flow
5456

5557
:::image type="content" source="../media/2-branching.png" alt-text="Screenshot showing a visual representation of the GitHub Flow in a linear format that includes a new branch, commits, pull request, and merging the changes back to main in that order." border="false":::
5658

57-
The GitHub flow can be defined as a lightweight workflow that allows for safe experimentation. You can test new ideas and collaboration with your team by using branching, pull requests, and merging.
59+
The GitHub flow can be defined as a lightweight workflow that allows for safe experimentation. You can test new ideas with your team by using branching, pull requests, and merging.
5860

5961
Now that we know the basics of GitHub we can walk through the GitHub flow and its components.
6062

learn-pr/github/introduction-to-github/includes/4-collaborative-platform.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,22 +33,17 @@ For this walkthrough, we'll go over how to create an issue from a repository. Bu
3333
1. If you're a project maintainer, you can assign the issue to someone, add it to a project board, associate it with a milestone, or apply a label.
3434
1. When you're finished, select **Submit new issue**.
3535

36-
Some conversations are more suitable for GitHub Discussions. You can use GitHub Discussions to ask and answer questions, share information, make announcements, and conduct or participate in conversations about a project.
36+
Some conversations are more suitable for GitHub Discussions. They are intended for open-ended conversations such as asking questions, sharing information, or gathering community feedback..
3737

3838
In the next section, we’ll review Discussions and how to best utilize the feature.
3939

4040
## Discussions
4141

4242
Discussions are for conversations that need to be accessible to everyone and aren't related to code. Discussions enable fluid, open conversation in a public forum.
4343

44-
In this section we go over:
44+
Let’s review how to enable discussions in your repository.
4545

46-
- Enabling a discussion in your repository.
47-
- Creating a new discussion and various discussion categories.
48-
49-
Let’s dive into enabling a discussion in your repository.
50-
51-
### Enabling a discussion in your repository
46+
### Enabling discussions in your repository
5247

5348
Repository owners and people with Write access can enable GitHub Discussions for a community on their public and private repositories. The visibility of a discussion is inherited from the repository the discussion is created in.
5449

@@ -99,7 +94,7 @@ Each category must have a unique name, emoji pairing, and a detailed description
9994

10095
:::image type="content" source="../media/start-a-new-discussion.png" alt-text="A screenshot of starting a new discussion page with the Discussion title box and content box empty." border="false":::
10196

102-
1. Select **Start discussion**.
97+
1. In your repository, go to the Discussions tab and select **Start discussion**.
10398

10499
That covers a little about how GitHub inspires collaboration. Now let's move to how you can manage notifications, subscribe to threads, and get started with GitHub pages.
105100

learn-pr/github/manage-innersource-program-github/includes/2-manage-innersource-program.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,12 @@ A README file communicates expectations for your project and helps you manage co
6767
- Include references to the projects on which you depend. These references are a good way to promote the work of others.
6868
- Use Markdown to guide readers through properly formatted content.
6969

70-
If you put your README file in your repository's root directory, or in the hidden `.github` or `docs` directory, GitHub recognizes and automatically surfaces your README to repository visitors. If a repository contains more than one README file, then the file shown is chosen from locations in the following order: the `.github` directory, then the repository's root directory, and finally the `docs` directory.
70+
If you put your README file in your repository's root directory, or in the hidden `.github` or `docs` directory, GitHub recognizes and automatically surfaces your README to repository visitors. If a repository contains more than one README file, then the file shown is chosen from locations in the following order:
71+
1. The `.github` directory
72+
2. The repository's root directory
73+
3. The `docs` directory
7174

72-
Check out some [Awesome README examples](https://github.com/matiassingers/awesome-readme?azure-portal=true).
75+
Check out some [Awesome README examples](https://github.com/matiassingers/awesome-readme).
7376

7477
Once the project launches, use email and other networking channels to promote it. Reaching an appropriate audience could produce a significant boost in project participation.
7578

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.search-organize-repository-history-github.3-manage-issues-github
3+
title: Manage issues in GitHub
4+
metadata:
5+
title: How to manage issues in GitHub
6+
description: "Learn how to create branches, assign, pin, and manage issues effectively in GitHub."
7+
ms.date: 05/07/2025
8+
author: a-a-ron
9+
ms.author: aastewar
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/3-manage-issues-github.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.github.search-organize-repository-history-github.4-track-link-work-github
3+
title: Track and link work in GitHub
4+
metadata:
5+
title: How to track and link work in GitHub
6+
description: "Learn how to link PRs to issues, use issue templates and forms, and apply hierarchy and keywords."
7+
ms.date: 05/07/2025
8+
author: a-a-ron
9+
ms.author: aastewar
10+
ms.topic: unit
11+
durationInMinutes: 7
12+
content: |
13+
[!include[](includes/4-track-link-work-github.md)]

learn-pr/github/search-organize-repository-history-github/3-connect-dots.yml renamed to learn-pr/github/search-organize-repository-history-github/5-connect-dots.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
### YamlMime:ModuleUnit
2-
uid: learn.github.search-organize-repository-history-github.3-connect-dots
2+
uid: learn.github.search-organize-repository-history-github.5-connect-dots
33
title: Exercise - Connect the dots in a GitHub repository
44
metadata:
55
title: Exercise - Connect the dots in a GitHub repository
@@ -10,4 +10,4 @@ metadata:
1010
ms.topic: unit
1111
durationInMinutes: 24
1212
content: |
13-
[!include[](includes/3-connect-dots.md)]
13+
[!include[](includes/5-connect-dots.md)]

0 commit comments

Comments
 (0)