1
0
mirror of synced 2026-01-05 03:06:35 -05:00

Merge branch 'make-developer-redirects-static' of github.com:github/docs-internal into make-developer-redirects-static

This commit is contained in:
Sarah Schneider
2021-01-26 12:21:01 -05:00
15 changed files with 50 additions and 22 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -701,6 +701,18 @@ steps:
You can set the `shell` value to a template string using `command […options] {0} [..more_options]`. {% data variables.product.prodname_dotcom %} interprets the first whitespace-delimited word of the string as the command, and inserts the file name for the temporary script at `{0}`.
For example:
```yaml
steps:
- name: Display the environment variables and their values
run: |
print %ENV
shell: perl {0}
```
The command used, `perl` in this example, must be installed on the runner. For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)."
#### Exit codes and error action preference
For built-in shell keywords, we provide the following defaults that are executed by {% data variables.product.prodname_dotcom %}-hosted runners. You should use these guidelines when running shell scripts.

View File

@@ -44,12 +44,6 @@ settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-all
- In the **Authentication** dropdown, choose the type of encryption used by your SMTP server.
- In the **No-reply email address** field, type the email address to use in the From and To fields for all notification emails.
{% note %}
**Note:** If you select the **Send from author** checkbox in a repositorys **Services** email webhook, outbound email for that repository will send from the author and not from the no-reply email address. For more information, see "[About email notifications for pushes to your repository](/github/administering-a-repository/about-email-notifications-for-pushes-to-your-repository)."
{% endnote %}
6. If you want to discard all incoming emails that are addressed to the no-reply email address, select **Discard email addressed to the no-reply email address**.
![Checkbox to discard emails addressed to the no-reply email address](/assets/images/enterprise/management-console/discard-noreply-emails.png)
7. Under **Support**, choose a type of link to offer additional support to your users:
@@ -165,8 +159,7 @@ You'll notice that `metroplex` catches the inbound message, processes it, then m
#### Verify your DNS settings
In order to properly process inbound emails, you must configure a valid A Record (or CNAME), as well as an MX Record. For more information, see "[Configuring DNS and firewall settings to allow incom
emails](#configuring-dns-and-firewall-settings-to-allow-incoming-emails)."
In order to properly process inbound emails, you must configure a valid A Record (or CNAME), as well as an MX Record. For more information, see "[Configuring DNS and firewall settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-allow-incoming-emails)."
#### Check firewall or AWS Security Group settings

View File

@@ -34,10 +34,10 @@ You can filter email notifications you receive for pushes to a repository. For m
{% data reusables.repositories.sidebar-notifications %}
5. Type up to two email addresses, separated by whitespace, where you'd like notifications to be sent. If you'd like to send emails to more than two accounts, set one of the email addresses to a group email address.
![Email address textbox](/assets/images/help/settings/email_services_addresses.png)
6. If you operate your own server, you can verify the integrity of emails via the **Secret** token. This token is sent with the email as the `Approved` header. If the `Approved` header matches the token you sent, you can trust that the email is from {% data variables.product.product_name %}.
![Email secret textbox](/assets/images/help/settings/email_services_token.png)
7. Click **Save settings**.
![Save settings button](/assets/images/help/settings/save_notification_settings.png)
1. If you operate your own server, you can verify the integrity of emails via the **Approved header**. The **Approved header** is a token or secret that you type in this field, and that is sent with the email. If the `Approved` header of an email matches the token, you can trust that the email is from {% data variables.product.product_name %}.
![Email approved header textbox](/assets/images/help/settings/email_services_approved_header.png)
7. Click **Setup notifications**.
![Setup notifications button](/assets/images/help/settings/setup_notifications_settings.png)
### Further reading
{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}

View File

@@ -9,7 +9,7 @@ versions:
### About navigating code on {% data variables.product.prodname_dotcom %}
Navigating code functions use the open source library [`semantic`](https://github.com/github/semantic). The following languages are supported:
Code navigation uses the open source library [`tree-sitter`](https://github.com/tree-sitter/tree-sitter). The following languages are supported:
- C#
- CodeQL
- Go

View File

@@ -55,7 +55,7 @@ Actions and any elements of the Actions service may not be used in violation of
- any activity that places a burden on our servers, where that burden is disproportionate to the benefits provided to users (for example, don't use Actions as a content delivery network or as part of a serverless application, but a low benefit Action could be ok if its also low burden); or
- any other activity unrelated to the production, testing, deployment, or publication of the software project associated with the repository where GitHub Actions are used.
In order to prevent violations of these limitations and abuse of GitHub Actions, GitHub may monitor your use of GitHub Actions. Misuse of GitHub Actions may result in termination of jobs, or restrictions in your ability to use GitHub Actions.
In order to prevent violations of these limitations and abuse of GitHub Actions, GitHub may monitor your use of GitHub Actions. Misuse of GitHub Actions may result in termination of jobs, restrictions in your ability to use GitHub Actions, or the disabling of repositories created to run Actions in a way that violates these Terms.
#### b. Packages Usage
GitHub Packages is billed on a usage basis. The [Packages documentation](/packages) includes details, including bandwidth and storage quantities (depending on your Account plan), and how to monitor your Packages usage and set usage limits. Packages bandwidth usage is limited by the [GitHub Acceptable Use Polices](/github/site-policy/github-acceptable-use-policies).

View File

@@ -1 +1 @@
If you're not a billing manger for the organization, ask your client to have an *owner* of the organization [add you to the organization as a billing manager](/articles/adding-a-billing-manager-to-your-organization).
If you're not a billing manager for the organization, ask your client to have an *owner* of the organization [add you to the organization as a billing manager](/articles/adding-a-billing-manager-to-your-organization).

View File

@@ -55444,11 +55444,13 @@
},
"authorized_credential_title": {
"type": "string",
"nullable": true,
"example": "my ssh key",
"description": "The title given to the ssh key. This will only be present when the credential is an ssh key."
},
"authorized_credential_note": {
"type": "string",
"nullable": true,
"example": "my token",
"description": "The note given to the token. This will only be present when the credential is a token."
}

View File

@@ -24,13 +24,22 @@ module.exports = async (req, res, next) => {
if (guideIndex > 0) {
const prevGuidePath = track.guides[guideIndex - 1]
const { href, title } = await getLinkData(prevGuidePath, req.context, { title: true, intro: false })
const result = await getLinkData(prevGuidePath, req.context, { title: true, intro: false })
if (!result) return noTrack()
const href = result.href
const title = result.title
currentLearningTrack.prevGuide = { href, title }
}
if (guideIndex < track.guides.length - 1) {
const nextGuidePath = track.guides[guideIndex + 1]
const { href, title } = await getLinkData(nextGuidePath, req.context, { title: true, intro: false })
const result = await getLinkData(nextGuidePath, req.context, { title: true, intro: false })
if (!result) return noTrack()
const href = result.href
const title = result.title
currentLearningTrack.nextGuide = { href, title }
}

View File

@@ -3,6 +3,7 @@
const linkinator = require('linkinator')
const checker = new linkinator.LinkChecker()
const { deprecated } = require('../lib/enterprise-server-releases')
const englishRoot = 'http://localhost:4002/en'
// [start-readme]
//
@@ -10,17 +11,23 @@ const { deprecated } = require('../lib/enterprise-server-releases')
// not including deprecated Enterprise Server content. This is different from script/check-english-links.js,
// which checks *all* links in the site, both internal and external, and is much slower.
//
// If you want to run it locally, you must have a local server running. You can use `npm run link-check`.
//
// [end-readme]
const config = {
path: 'http://localhost:4002/en',
path: englishRoot,
// Use concurrency = 10 to optimize for Actions
// See https://github.com/JustinBeckwith/linkinator/issues/135#issuecomment-623240879
concurrency: 10,
recurse: true,
linksToSkip: [
// Skip any link that is not an internal link
'^((?!http://localhost:4002/en).)*$',
// Skip any link that is not an internal link.
// NOTE: If we want this test to check for broken asset paths in the future,
// we can remove `en` from the path below. This will increase the runtime, but that
// may be an acceptable tradeoff. For the record: `check-external-links`, which runs
// nightly, currently does check for broken asset paths.
`^((?!${englishRoot}).)*$`,
// Skip dist files
'/dist/index.*',
// Skip deprecated Enterprise content
@@ -37,6 +44,11 @@ async function main () {
.filter(link => link.state === 'BROKEN')
.map(link => { delete link.failureDetails; return link })
if (brokenLinks.length === 1 && brokenLinks[0].url === englishRoot) {
console.log(`You must be running ${englishRoot}!\n\nTry instead: npm run link-check`)
process.exit(1)
}
// Exit successfully if no broken links!
if (!brokenLinks.length) {
console.log('All links are good!')

View File

@@ -329,8 +329,8 @@ describe('server', () => {
})
test('admin articles that link to Enterprise user articles have Enterprise user links', async () => {
const $ = await getDOM(`${latestEnterprisePath}/admin/user-management/configuring-email-for-notifications`)
expect($('article a[href*="about-email-notifications-for-pushes-to-your-repository"]').length).toBe(1)
const $ = await getDOM(`${latestEnterprisePath}/admin/user-management/customizing-user-messages-for-your-enterprise`)
expect($('article a[href*="about-writing-and-formatting-on-github"]').length).toBe(1)
})
test('articles that link to external links that contain /articles/ are not rewritten', async () => {