Skip to content

Commit 168ec62

Browse files
authored
Merge pull request #39392 from github/repo-sync
Repo sync
2 parents 2699023 + be399cb commit 168ec62

File tree

12 files changed

+374
-128
lines changed

12 files changed

+374
-128
lines changed

content/actions/concepts/overview/about-continuous-deployment-with-github-actions.md renamed to content/actions/concepts/overview/continuous-deployment.md

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
title: About continuous deployment with GitHub Actions
3-
shortTitle: Continuous deployment
2+
title: Continuous deployment
43
intro: 'You can create custom continuous deployment (CD) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.'
54
versions:
65
fpt: '*'
@@ -13,6 +12,7 @@ redirect_from:
1312
- /actions/deployment/about-deployments
1413
- /actions/about-github-actions/about-continuous-deployment
1514
- /actions/about-github-actions/about-continuous-deployment-with-github-actions
15+
- /actions/concepts/overview/about-continuous-deployment-with-github-actions
1616
topics:
1717
- CD
1818
---
@@ -33,17 +33,10 @@ You can configure your CD workflow to run when an event occurs (for example, whe
3333

3434
{% data variables.product.prodname_actions %} provides features that give you more control over deployments. For example, you can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets. You can use concurrency to limit your CD pipeline to a maximum of one in-progress deployment and one pending deployment. For more information about these features, see [AUTOTITLE](/actions/deployment/about-deployments/deploying-with-github-actions) and [AUTOTITLE](/actions/deployment/targeting-different-environments/managing-environments-for-deployment).
3535

36-
## Using OpenID Connect to access cloud resources
37-
38-
{% data reusables.actions.about-oidc-short-overview %}
39-
40-
## Workflow templates and third party actions
36+
## Workflow templates and third-party actions
4137

4238
{% data reusables.actions.cd-templates-actions %}
4339

44-
## Further reading
40+
## Next steps
4541

46-
* [AUTOTITLE](/actions/use-cases-and-examples/deploying)
47-
* [AUTOTITLE](/actions/deployment/about-deployments/deploying-with-github-actions)
48-
* [AUTOTITLE](/actions/deployment/targeting-different-environments/managing-environments-for-deployment){% ifversion fpt or ghec %}
49-
* [AUTOTITLE](/billing/managing-billing-for-github-actions){% endif %}
42+
If your {% data variables.product.prodname_actions %} workflows need to access resources from a cloud provider that supports OpenID Connect (OIDC), you can configure your workflows to authenticate directly to the cloud provider. This will let you stop storing these credentials as long-lived secrets and provide other security benefits. For more information, see [AUTOTITLE](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect).
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: GitHub Actions vs GitHub Apps
3+
shortTitle: Actions vs Apps
4+
intro: 'Learn about the key differences between {% data variables.product.prodname_actions %} and {% data variables.product.prodname_github_apps %} to help you decide which is right for your use cases.'
5+
versions:
6+
fpt: '*'
7+
ghes: '*'
8+
ghec: '*'
9+
type: overview
10+
topics:
11+
- CD
12+
---
13+
14+
{% data variables.product.prodname_marketplace %} offers both {% data variables.product.prodname_actions %} and {% data variables.product.prodname_github_apps %}, each of which can be valuable automation and workflow tools. Understanding the differences and the benefits of each option will allow you to select the best fit for your job.
15+
16+
{% data variables.product.prodname_github_apps %}:
17+
* Run persistently and can react to events quickly.
18+
* Work great when persistent data is needed.
19+
* Work best with API requests that aren't time consuming.
20+
* Run on a server or compute infrastructure that you provide.
21+
22+
{% data variables.product.prodname_actions %}:
23+
* Provide automation that can perform continuous integration and continuous deployment.
24+
* Can run directly on runner machines or in Docker containers.
25+
* Can include access to a clone of your repository, enabling deployment and publishing tools, code formatters, and command line tools to access your code.
26+
* Don't require you to deploy code or serve an app.
27+
* Have a simple interface to create and use secrets, which enables actions to interact with third-party services without needing to store the credentials of the person using the action.

content/actions/concepts/overview/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ versions:
77
ghes: '*'
88
ghec: '*'
99
children:
10-
- /about-continuous-deployment-with-github-actions
1110
- /continuous-integration
11+
- /continuous-deployment
12+
- /github-actions-vs-github-apps
1213
---

content/actions/concepts/workflows-and-actions/about-custom-actions.md

Lines changed: 2 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -65,117 +65,6 @@ If you're developing a Node.js project, the {% data variables.product.prodname_a
6565

6666
A _composite_ action allows you to combine multiple workflow steps within one action. For example, you can use this feature to bundle together multiple run commands into an action, and then have a workflow that executes the bundled commands as a single step using that action. To see an example, check out [AUTOTITLE](/actions/creating-actions/creating-a-composite-action).
6767

68-
## Choosing a location for your action
68+
## Next steps
6969

70-
If you're developing an action for other people to use, we recommend keeping the action in its own repository instead of bundling it with other application code. This allows you to version, track, and release the action just like any other software.
71-
72-
{% ifversion fpt or ghec %}
73-
Storing an action in its own repository makes it easier for the {% data variables.product.prodname_dotcom %} community to discover the action, narrows the scope of the code base for developers fixing issues and extending the action, and decouples the action's versioning from the versioning of other application code.
74-
{% endif %}
75-
76-
{% data reusables.actions.internal-actions-summary %}
77-
78-
{% ifversion fpt or ghec %}If you're building an action that you don't plan to make available to others, you {% else %} You{% endif %} can store the action's files in any location in your repository. If you plan to combine action, workflow, and application code in a single repository, we recommend storing actions in the `.github` directory. For example, `.github/actions/action-a` and `.github/actions/action-b`.
79-
80-
## Ensuring compatibility with other platforms
81-
82-
Many people access {% data variables.product.github %} at a domain other than {% data variables.product.prodname_dotcom_the_website %}, such as {% data variables.enterprise.data_residency_site %} or a custom domain for {% data variables.product.prodname_ghe_server %}.
83-
84-
To ensure that your action is compatible with other platforms, do not use any hard-coded references to API URLs such as `https://api.github.com`. Instead, you can:
85-
86-
* Use environment variables (see [AUTOTITLE](/actions/reference/variables-reference#default-environment-variables)):
87-
88-
* For the REST API, use the `GITHUB_API_URL` environment variable.
89-
* For GraphQL, use the `GITHUB_GRAPHQL_URL` environment variable.
90-
91-
* Use a toolkit such as [`@actions/github`](https://github.com/actions/toolkit/tree/main/packages/github), which can automatically set the correct URLs.
92-
93-
## Using release management for actions
94-
95-
This section explains how you can use release management to distribute updates to your actions in a predictable way.
96-
97-
### Good practices for release management
98-
99-
If you're developing an action for other people to use, we recommend using release management to control how you distribute updates. Users can expect an action's patch version to include necessary critical fixes and security patches, while still remaining compatible with their existing workflows. You should consider releasing a new major version whenever your changes affect compatibility.
100-
101-
Under this release management approach, users should not be referencing an action's default branch, as it's likely to contain the latest code and consequently might be unstable. Instead, you can recommend that your users specify a major version when using your action, and only direct them to a more specific version if they encounter issues.
102-
103-
To use a specific action version, users can configure their {% data variables.product.prodname_actions %} workflow to target a tag, a commit's SHA, or a branch named for a release.
104-
105-
### Using tags for release management
106-
107-
We recommend using tags for actions release management. Using this approach, your users can easily distinguish between major and minor versions:
108-
109-
* Create and validate a release on a release branch (such as `release/v1`) before creating the release tag (for example, `v1.0.2`).
110-
* Create a release using semantic versioning. For more information, see [AUTOTITLE](/repositories/releasing-projects-on-github/managing-releases-in-a-repository).
111-
* Move the major version tag (such as `v1`, `v2`) to point to the Git ref of the current release. For more information, see [Git basics - tagging](https://git-scm.com/book/en/v2/Git-Basics-Tagging).
112-
* Introduce a new major version tag (`v2`) for changes that will break existing workflows. For example, changing an action's inputs would be a breaking change.
113-
* Major versions can be initially released with a `beta` tag to indicate their status, for example, `v2-beta`. The `-beta` tag can then be removed when ready.
114-
115-
This example demonstrates how a user can reference a major release tag:
116-
117-
```yaml
118-
steps:
119-
- uses: actions/javascript-action@v1
120-
```
121-
122-
This example demonstrates how a user can reference a specific patch release tag:
123-
124-
```yaml
125-
steps:
126-
- uses: actions/javascript-action@v1.0.1
127-
```
128-
129-
### Using branches for release management
130-
131-
If you prefer to use branch names for release management, this example demonstrates how to reference a named branch:
132-
133-
```yaml
134-
steps:
135-
- uses: actions/javascript-action@v1-beta
136-
```
137-
138-
### Using a commit's SHA for release management
139-
140-
Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. You must use a commit's full SHA value, and not an abbreviated value.
141-
142-
```yaml
143-
steps:
144-
- uses: actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f
145-
```
146-
147-
## Creating a README file for your action
148-
149-
We recommend creating a README file to help people learn how to use your action. You can include this information in your `README.md`:
150-
151-
* A detailed description of what the action does
152-
* Required input and output arguments
153-
* Optional input and output arguments
154-
* Secrets the action uses
155-
* Environment variables the action uses
156-
* An example of how to use your action in a workflow
157-
158-
## Comparing {% data variables.product.prodname_actions %} to {% data variables.product.prodname_github_apps %}
159-
160-
{% data variables.product.prodname_marketplace %} offers tools to improve your workflow. Understanding the differences and the benefits of each tool will allow you to select the best tool for your job. For more information about building apps, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/about-creating-github-apps).
161-
162-
### Strengths of GitHub Actions and GitHub Apps
163-
164-
While both {% data variables.product.prodname_actions %} and {% data variables.product.prodname_github_apps %} provide ways to build automation and workflow tools, they each have strengths that make them useful in different ways.
165-
166-
{% data variables.product.prodname_github_apps %}:
167-
* Run persistently and can react to events quickly.
168-
* Work great when persistent data is needed.
169-
* Work best with API requests that aren't time consuming.
170-
* Run on a server or compute infrastructure that you provide.
171-
172-
{% data variables.product.prodname_actions %}:
173-
* Provide automation that can perform continuous integration and continuous deployment.
174-
* Can run directly on runner machines or in Docker containers.
175-
* Can include access to a clone of your repository, enabling deployment and publishing tools, code formatters, and command line tools to access your code.
176-
* Don't require you to deploy code or serve an app.
177-
* Have a simple interface to create and use secrets, which enables actions to interact with third-party services without needing to store the credentials of the person using the action.
178-
179-
## Further reading
180-
181-
* [AUTOTITLE](/actions/using-workflows/workflow-commands-for-github-actions)
70+
To learn about how to manage your custom actions, see [AUTOTITLE](/actions/how-tos/administering-github-actions/managing-custom-actions).

content/actions/how-tos/administering-github-actions/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ versions:
99
children:
1010
- /viewing-github-actions-metrics
1111
- /making-retired-namespaces-available-on-ghecom
12+
- /managing-custom-actions
1213
redirect_from:
1314
- /actions/administering-github-actions
1415
---
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Managing custom actions
3+
intro: 'Learn how to create and manage your own actions, and customize actions shared by the {% data variables.product.prodname_dotcom %} community.'
4+
versions:
5+
fpt: '*'
6+
ghes: '*'
7+
ghec: '*'
8+
type: overview
9+
topics:
10+
- Action development
11+
- Fundamentals
12+
---
13+
14+
## Choosing a location for your action
15+
16+
If you're developing an action for other people to use, we recommend keeping the action in its own repository instead of bundling it with other application code. This allows you to version, track, and release the action just like any other software.
17+
18+
{% ifversion fpt or ghec %}
19+
Storing an action in its own repository makes it easier for the {% data variables.product.prodname_dotcom %} community to discover the action, narrows the scope of the code base for developers fixing issues and extending the action, and decouples the action's versioning from the versioning of other application code.
20+
{% endif %}
21+
22+
{% data reusables.actions.internal-actions-summary %}
23+
24+
{% ifversion fpt or ghec %}If you're building an action that you don't plan to make available to others, you {% else %} You{% endif %} can store the action's files in any location in your repository. If you plan to combine action, workflow, and application code in a single repository, we recommend storing actions in the `.github` directory. For example, `.github/actions/action-a` and `.github/actions/action-b`.
25+
26+
## Ensuring compatibility with other platforms
27+
28+
Many people access {% data variables.product.github %} at a domain other than {% data variables.product.prodname_dotcom_the_website %}, such as {% data variables.enterprise.data_residency_site %} or a custom domain for {% data variables.product.prodname_ghe_server %}.
29+
30+
To ensure that your action is compatible with other platforms, do not use any hard-coded references to API URLs such as `https://api.github.com`. Instead, you can:
31+
32+
* Use environment variables (see [AUTOTITLE](/actions/reference/variables-reference#default-environment-variables)):
33+
34+
* For the REST API, use the `GITHUB_API_URL` environment variable.
35+
* For GraphQL, use the `GITHUB_GRAPHQL_URL` environment variable.
36+
37+
* Use a toolkit such as [`@actions/github`](https://github.com/actions/toolkit/tree/main/packages/github), which can automatically set the correct URLs.
38+
39+
## Using release management for actions
40+
41+
This section explains how you can use release management to distribute updates to your actions in a predictable way.
42+
43+
### Good practices for release management
44+
45+
If you're developing an action for other people to use, we recommend using release management to control how you distribute updates. Users can expect an action's patch version to include necessary critical fixes and security patches, while still remaining compatible with their existing workflows. You should consider releasing a new major version whenever your changes affect compatibility.
46+
47+
Under this release management approach, users should not be referencing an action's default branch, as it's likely to contain the latest code and consequently might be unstable. Instead, you can recommend that your users specify a major version when using your action, and only direct them to a more specific version if they encounter issues.
48+
49+
To use a specific action version, users can configure their {% data variables.product.prodname_actions %} workflow to target a tag, a commit's SHA, or a branch named for a release.
50+
51+
### Using tags for release management
52+
53+
We recommend using tags for actions release management. Using this approach, your users can easily distinguish between major and minor versions:
54+
55+
* Create and validate a release on a release branch (such as `release/v1`) before creating the release tag (for example, `v1.0.2`).
56+
* Create a release using semantic versioning. For more information, see [AUTOTITLE](/repositories/releasing-projects-on-github/managing-releases-in-a-repository).
57+
* Move the major version tag (such as `v1`, `v2`) to point to the Git ref of the current release. For more information, see [Git basics - tagging](https://git-scm.com/book/en/v2/Git-Basics-Tagging).
58+
* Introduce a new major version tag (`v2`) for changes that will break existing workflows. For example, changing an action's inputs would be a breaking change.
59+
* Major versions can be initially released with a `beta` tag to indicate their status, for example, `v2-beta`. The `-beta` tag can then be removed when ready.
60+
61+
This example demonstrates how a user can reference a major release tag:
62+
63+
```yaml
64+
steps:
65+
- uses: actions/javascript-action@v1
66+
```
67+
68+
This example demonstrates how a user can reference a specific patch release tag:
69+
70+
```yaml
71+
steps:
72+
- uses: actions/javascript-action@v1.0.1
73+
```
74+
75+
### Using branches for release management
76+
77+
If you prefer to use branch names for release management, this example demonstrates how to reference a named branch:
78+
79+
```yaml
80+
steps:
81+
- uses: actions/javascript-action@v1-beta
82+
```
83+
84+
### Using a commit's SHA for release management
85+
86+
Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. You must use a commit's full SHA value, and not an abbreviated value.
87+
88+
```yaml
89+
steps:
90+
- uses: actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f
91+
```
92+
93+
## Creating a README file for your action
94+
95+
We recommend creating a README file to help people learn how to use your action. You can include this information in your `README.md`:
96+
97+
* A detailed description of what the action does
98+
* Required input and output arguments
99+
* Optional input and output arguments
100+
* Secrets the action uses
101+
* Environment variables the action uses
102+
* An example of how to use your action in a workflow

content/actions/how-tos/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ shortTitle: Monitor & troubleshoot
1818

1919
{% data reusables.actions.enterprise-github-hosted-runners %}
2020

21-
## Using repository-level self-hosted runners
21+
## Checking access levels
2222

2323
You may not be able to create a self-hosted runner for an organization-owned repository.
2424

0 commit comments

Comments
 (0)