зеркало из https://github.com/github/docs.git
Merge branch 'main' into hectorsector/consolidate-tool-picker
This commit is contained in:
Коммит
4b27213cc6
|
@ -13,7 +13,7 @@ module.exports = {
|
|||
babelOptions: { configFile: './.babelrc' },
|
||||
sourceType: 'module',
|
||||
},
|
||||
ignorePatterns: ['tmp/*', '!/.*', '/.next/', 'script/bookmarklets/*', 'lib/sigsci.js'],
|
||||
ignorePatterns: ['tmp/*', '!/.*', '/.next/', 'script/bookmarklets/*'],
|
||||
rules: {
|
||||
'import/no-extraneous-dependencies': ['error', { packageDir: '.' }],
|
||||
},
|
||||
|
|
|
@ -17,7 +17,7 @@ async function main() {
|
|||
const github = getOctokit(token)
|
||||
const pull = await github.rest.pulls.get({
|
||||
owner: org,
|
||||
repo: repo,
|
||||
repo,
|
||||
pull_number: parseInt(prNumber),
|
||||
})
|
||||
|
||||
|
|
|
@ -191,16 +191,16 @@ async function run() {
|
|||
|
||||
await graphql(updateProjectNextItemMutation, {
|
||||
project: projectID,
|
||||
statusID: statusID,
|
||||
statusID,
|
||||
statusValueID: readyForReviewID,
|
||||
datePostedID: datePostedID,
|
||||
reviewDueDateID: reviewDueDateID,
|
||||
contributorTypeID: contributorTypeID,
|
||||
contributorType: contributorType,
|
||||
sizeTypeID: sizeTypeID,
|
||||
datePostedID,
|
||||
reviewDueDateID,
|
||||
contributorTypeID,
|
||||
contributorType,
|
||||
sizeTypeID,
|
||||
sizeType: '', // Although we aren't populating size, we are passing the variable so that we can use the shared mutation function
|
||||
featureID: featureID,
|
||||
authorID: authorID,
|
||||
featureID,
|
||||
authorID,
|
||||
headers: {
|
||||
authorization: `token ${process.env.TOKEN}`,
|
||||
'GraphQL-Features': 'projects_next_graphql',
|
||||
|
|
|
@ -59,7 +59,7 @@ export async function addItemsToProject(items, project) {
|
|||
`
|
||||
|
||||
const newItems = await graphql(mutation, {
|
||||
project: project,
|
||||
project,
|
||||
headers: {
|
||||
authorization: `token ${process.env.TOKEN}`,
|
||||
'GraphQL-Features': 'projects_next_graphql',
|
||||
|
@ -221,40 +221,40 @@ export function generateUpdateProjectNextItemFieldMutation({
|
|||
$authorID: ID!
|
||||
) {
|
||||
${generateMutationToUpdateField({
|
||||
item: item,
|
||||
item,
|
||||
fieldID: '$statusID',
|
||||
value: '$statusValueID',
|
||||
})}
|
||||
${generateMutationToUpdateField({
|
||||
item: item,
|
||||
item,
|
||||
fieldID: '$datePostedID',
|
||||
value: formatDateForProject(datePosted),
|
||||
literal: true,
|
||||
})}
|
||||
${generateMutationToUpdateField({
|
||||
item: item,
|
||||
item,
|
||||
fieldID: '$reviewDueDateID',
|
||||
value: formatDateForProject(dueDate),
|
||||
literal: true,
|
||||
})}
|
||||
${generateMutationToUpdateField({
|
||||
item: item,
|
||||
item,
|
||||
fieldID: '$contributorTypeID',
|
||||
value: '$contributorType',
|
||||
})}
|
||||
${generateMutationToUpdateField({
|
||||
item: item,
|
||||
item,
|
||||
fieldID: '$sizeTypeID',
|
||||
value: '$sizeType',
|
||||
})}
|
||||
${generateMutationToUpdateField({
|
||||
item: item,
|
||||
item,
|
||||
fieldID: '$featureID',
|
||||
value: feature,
|
||||
literal: true,
|
||||
})}
|
||||
${generateMutationToUpdateField({
|
||||
item: item,
|
||||
item,
|
||||
fieldID: '$authorID',
|
||||
value: author,
|
||||
literal: true,
|
||||
|
|
|
@ -171,8 +171,8 @@ async function run() {
|
|||
const updateProjectNextItemMutation = generateUpdateProjectNextItemFieldMutation({
|
||||
item: newItemID,
|
||||
author: firstTimeContributor ? 'first time contributor' : process.env.AUTHOR_LOGIN,
|
||||
turnaround: turnaround,
|
||||
feature: feature,
|
||||
turnaround,
|
||||
feature,
|
||||
})
|
||||
|
||||
// Determine which variable to use for the contributor type
|
||||
|
@ -192,16 +192,16 @@ async function run() {
|
|||
|
||||
await graphql(updateProjectNextItemMutation, {
|
||||
project: projectID,
|
||||
statusID: statusID,
|
||||
statusID,
|
||||
statusValueID: readyForReviewID,
|
||||
datePostedID: datePostedID,
|
||||
reviewDueDateID: reviewDueDateID,
|
||||
contributorTypeID: contributorTypeID,
|
||||
contributorType: contributorType,
|
||||
sizeTypeID: sizeTypeID,
|
||||
sizeType: sizeType,
|
||||
featureID: featureID,
|
||||
authorID: authorID,
|
||||
datePostedID,
|
||||
reviewDueDateID,
|
||||
contributorTypeID,
|
||||
contributorType,
|
||||
sizeTypeID,
|
||||
sizeType,
|
||||
featureID,
|
||||
authorID,
|
||||
headers: {
|
||||
authorization: `token ${process.env.TOKEN}`,
|
||||
'GraphQL-Features': 'projects_next_graphql',
|
||||
|
|
|
@ -45,7 +45,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -62,7 +62,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Clone docs-early-access
|
||||
|
|
|
@ -42,7 +42,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -30,7 +30,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -44,7 +44,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install Node.js dependencies
|
||||
|
@ -57,8 +57,11 @@ jobs:
|
|||
env:
|
||||
NODE_ENV: production
|
||||
PORT: 4000
|
||||
# Overload protection is on by default (when NODE_ENV==production)
|
||||
# but it would help in this context.
|
||||
DISABLE_OVERLOAD_PROTECTION: true
|
||||
DISABLE_RENDER_CACHING: true
|
||||
# Render caching won't help when we visit every page exactly once.
|
||||
DISABLE_RENDERING_CACHE: true
|
||||
run: |
|
||||
|
||||
node server.mjs &
|
||||
|
|
|
@ -39,7 +39,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -59,7 +59,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install temporary dependencies
|
||||
|
|
|
@ -118,7 +118,7 @@ jobs:
|
|||
- name: 'Setup node'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
|
||||
- run: npm ci
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -41,7 +41,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install Node.js dependencies
|
||||
|
|
|
@ -52,7 +52,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -32,7 +32,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install
|
||||
|
|
|
@ -97,7 +97,7 @@ jobs:
|
|||
- name: 'Setup node'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
|
||||
- run: npm ci
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -44,7 +44,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -44,7 +44,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -27,7 +27,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install
|
||||
|
|
|
@ -49,7 +49,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -23,7 +23,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -29,7 +29,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
|
||||
- name: Run check
|
||||
run: |
|
||||
|
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -29,7 +29,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
|
|
|
@ -104,7 +104,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
|
|
@ -58,7 +58,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
@ -92,6 +92,8 @@ jobs:
|
|||
# Because the overload protection runs in NODE_ENV==production
|
||||
# and it can break the sync-search.
|
||||
DISABLE_OVERLOAD_PROTECTION: true
|
||||
# Render caching won't help when we visit every page exactly once.
|
||||
DISABLE_RENDERING_CACHE: true
|
||||
|
||||
run: npm run sync-search
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -125,7 +125,7 @@ jobs:
|
|||
- name: Setup node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -61,7 +61,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -36,7 +36,7 @@ jobs:
|
|||
- name: Setup Node
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561
|
||||
with:
|
||||
node-version: 16.14.x
|
||||
node-version: 16.15.x
|
||||
cache: npm
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
|
|
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 32 KiB После Ширина: | Высота: | Размер: 18 KiB |
|
@ -27,6 +27,7 @@ export const DefaultLayout = (props: Props) => {
|
|||
const { t } = useTranslation(['errors', 'meta', 'scroll_button'])
|
||||
const router = useRouter()
|
||||
const metaDescription = page.introPlainText ? page.introPlainText : t('default_description')
|
||||
|
||||
return (
|
||||
<div className="d-lg-flex">
|
||||
<Head>
|
||||
|
|
|
@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef, ReactNode, RefObject } from 'react'
|
|||
import { useRouter } from 'next/router'
|
||||
import useSWR from 'swr'
|
||||
import cx from 'classnames'
|
||||
import { ActionList, DropdownMenu, Flash, Label, Overlay } from '@primer/react'
|
||||
import { ActionList, DropdownMenu, Flash, Label } from '@primer/react'
|
||||
import { ItemInput } from '@primer/react/lib/ActionList/List'
|
||||
|
||||
import { useTranslation } from 'components/hooks/useTranslation'
|
||||
|
@ -287,8 +287,6 @@ function useDebounce<T>(value: T, delay?: number): [T, (value: T) => void] {
|
|||
|
||||
function ShowSearchError({
|
||||
error,
|
||||
isHeaderSearch,
|
||||
isMobileSearch,
|
||||
}: {
|
||||
error: Error
|
||||
isHeaderSearch: boolean
|
||||
|
@ -296,10 +294,7 @@ function ShowSearchError({
|
|||
}) {
|
||||
const { t } = useTranslation('search')
|
||||
return (
|
||||
<Flash
|
||||
variant="danger"
|
||||
sx={{ margin: isMobileSearch || isHeaderSearch ? '2rem 2rem 0 2em' : '1rem' }}
|
||||
>
|
||||
<Flash variant="danger" sx={{ margin: '2rem 2rem 0 2em' }}>
|
||||
<p>{t('search_error')}</p>
|
||||
{process.env.NODE_ENV === 'development' && (
|
||||
<p>
|
||||
|
@ -313,12 +308,9 @@ function ShowSearchError({
|
|||
}
|
||||
|
||||
function ShowSearchResults({
|
||||
anchorRef,
|
||||
isHeaderSearch,
|
||||
isMobileSearch,
|
||||
isLoading,
|
||||
results,
|
||||
closeSearch,
|
||||
debug,
|
||||
query,
|
||||
}: {
|
||||
|
@ -490,49 +482,7 @@ function ShowSearchResults({
|
|||
/>
|
||||
</div>
|
||||
)
|
||||
// When there are search results, it doesn't matter if this is overlay or not.
|
||||
return (
|
||||
<div>
|
||||
{!isHeaderSearch && !isMobileSearch ? (
|
||||
<>
|
||||
<Overlay
|
||||
initialFocusRef={anchorRef}
|
||||
returnFocusRef={anchorRef}
|
||||
ignoreClickRefs={[anchorRef]}
|
||||
onEscape={() => closeSearch()}
|
||||
onClickOutside={() => closeSearch()}
|
||||
aria-labelledby="title"
|
||||
sx={
|
||||
isHeaderSearch
|
||||
? {
|
||||
background: 'none',
|
||||
boxShadow: 'none',
|
||||
position: 'static',
|
||||
overflowY: 'auto',
|
||||
maxHeight: '80vh',
|
||||
maxWidth: '96%',
|
||||
margin: '1.5em 2em 0 0.5em',
|
||||
scrollbarWidth: 'none',
|
||||
}
|
||||
: window.innerWidth < 1012
|
||||
? {
|
||||
marginTop: '28rem',
|
||||
marginLeft: '5rem',
|
||||
}
|
||||
: {
|
||||
marginTop: '15rem',
|
||||
marginLeft: '5rem',
|
||||
}
|
||||
}
|
||||
>
|
||||
{ActionListResults}
|
||||
</Overlay>
|
||||
</>
|
||||
) : (
|
||||
ActionListResults
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
return <div>{ActionListResults}</div>
|
||||
}
|
||||
|
||||
// We have no results at all, but perhaps we're waiting.
|
||||
|
|
|
@ -62,9 +62,9 @@ const SidebarContent = styled(Box)`
|
|||
@media (min-width: ${themeGet('breakpoints.3')}) {
|
||||
position: sticky;
|
||||
padding-top: ${themeGet('space.4')};
|
||||
top: 4em;
|
||||
max-height: 75vh;
|
||||
top: 5em;
|
||||
max-height: calc(100vh - 5em);
|
||||
overflow-y: auto;
|
||||
padding-bottom: ${themeGet('space.4')};
|
||||
padding-bottom: ${themeGet('space.6')} !important;
|
||||
}
|
||||
`
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
import { createContext, useContext } from 'react'
|
||||
|
||||
export type DotComAuthenticatedContextT = {
|
||||
isDotComAuthenticated: boolean
|
||||
}
|
||||
|
||||
export const DotComAuthenticatedContext = createContext<DotComAuthenticatedContextT | null>(null)
|
||||
|
||||
export const useAuth = (): DotComAuthenticatedContextT => {
|
||||
const context = useContext(DotComAuthenticatedContext)
|
||||
|
||||
if (!context) {
|
||||
throw new Error(
|
||||
'"useAuthContext" may only be used inside "DotComAuthenticatedContext.Provider"'
|
||||
)
|
||||
}
|
||||
|
||||
return context
|
||||
}
|
|
@ -10,6 +10,7 @@ type LanguageItem = {
|
|||
|
||||
export type LanguagesContextT = {
|
||||
languages: Record<string, LanguageItem>
|
||||
userLanguage: string
|
||||
}
|
||||
|
||||
export const LanguagesContext = createContext<LanguagesContextT | null>(null)
|
||||
|
|
|
@ -93,7 +93,6 @@ export type MainContextT = {
|
|||
relativePath?: string
|
||||
enterpriseServerReleases: EnterpriseServerReleases
|
||||
currentPathWithoutLanguage: string
|
||||
userLanguage: string
|
||||
allVersions: Record<string, VersionItem>
|
||||
currentVersion?: string
|
||||
currentProductTree?: ProductTreeNode | null
|
||||
|
@ -125,7 +124,6 @@ export type MainContextT = {
|
|||
|
||||
status: number
|
||||
fullUrl: string
|
||||
isDotComAuthenticated: boolean
|
||||
}
|
||||
|
||||
export const getMainContext = (req: any, res: any): MainContextT => {
|
||||
|
@ -181,7 +179,6 @@ export const getMainContext = (req: any, res: any): MainContextT => {
|
|||
'supported',
|
||||
]),
|
||||
enterpriseServerVersions: req.context.enterpriseServerVersions,
|
||||
userLanguage: req.context.userLanguage || '',
|
||||
allVersions: req.context.allVersions,
|
||||
currentVersion: req.context.currentVersion,
|
||||
currentProductTree: req.context.currentProductTree
|
||||
|
@ -192,7 +189,6 @@ export const getMainContext = (req: any, res: any): MainContextT => {
|
|||
nonEnterpriseDefaultVersion: req.context.nonEnterpriseDefaultVersion,
|
||||
status: res.statusCode,
|
||||
fullUrl: req.protocol + '://' + req.get('host') + req.originalUrl,
|
||||
isDotComAuthenticated: Boolean(req.cookies.dotcom_user),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,32 +1,22 @@
|
|||
import { Search } from 'components/Search'
|
||||
import { OctocatHeader } from 'components/landing/OctocatHeader'
|
||||
import { useTranslation } from 'components/hooks/useTranslation'
|
||||
|
||||
export const HomePageHero = () => {
|
||||
const { t } = useTranslation(['search'])
|
||||
const { t } = useTranslation(['header', 'homepage'])
|
||||
|
||||
return (
|
||||
<section id="landing" className="color-bg-subtle p-6">
|
||||
{/* eslint-disable-next-line jsx-a11y/no-autofocus */}
|
||||
<Search iconSize={24} variant="expanded">
|
||||
{({ SearchInput, SearchResults }) => {
|
||||
return (
|
||||
<div className="container-xl">
|
||||
<div className="gutter gutter-xl-spacious d-lg-flex flex-row-reverse flex-items-center">
|
||||
<div className="col-lg-7">
|
||||
<OctocatHeader />
|
||||
</div>
|
||||
<div className="col-lg-5">
|
||||
<h1 className="text-semibold">{t('search:need_help')}</h1>
|
||||
{SearchInput}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>{SearchResults}</div>
|
||||
</div>
|
||||
)
|
||||
}}
|
||||
</Search>
|
||||
<div className="container-xl">
|
||||
<div className="gutter gutter-xl-spacious d-lg-flex flex-row-reverse flex-items-center">
|
||||
<div className="col-lg-6 col-xl-7 mb-4 mb-lg-0">
|
||||
<OctocatHeader />
|
||||
</div>
|
||||
<div className="col-lg-6 col-xl-5">
|
||||
<h1>{t('github_docs')}</h1>
|
||||
<p className="color-fg-muted f2 mb-0">{t('description')}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import { useVersion } from 'components/hooks/useVersion'
|
|||
|
||||
import { Link } from 'components/Link'
|
||||
import { useMainContext } from 'components/context/MainContext'
|
||||
import { useAuth } from 'components/context/DotComAuthenticatedContext'
|
||||
import { LanguagePicker } from './LanguagePicker'
|
||||
import { HeaderNotifications } from 'components/page-header/HeaderNotifications'
|
||||
import { ProductPicker } from 'components/page-header/ProductPicker'
|
||||
|
@ -17,7 +18,7 @@ import styles from './Header.module.scss'
|
|||
|
||||
export const Header = () => {
|
||||
const router = useRouter()
|
||||
const { isDotComAuthenticated, relativePath, error } = useMainContext()
|
||||
const { error } = useMainContext()
|
||||
const { currentVersion } = useVersion()
|
||||
const { t } = useTranslation(['header', 'homepage'])
|
||||
const [isMenuOpen, setIsMenuOpen] = useState(
|
||||
|
@ -25,6 +26,8 @@ export const Header = () => {
|
|||
)
|
||||
const [scroll, setScroll] = useState(false)
|
||||
|
||||
const { isDotComAuthenticated } = useAuth()
|
||||
|
||||
const signupCTAVisible =
|
||||
!isDotComAuthenticated &&
|
||||
(currentVersion === 'free-pro-team@latest' || currentVersion === 'enterprise-cloud@latest')
|
||||
|
@ -93,7 +96,7 @@ export const Header = () => {
|
|||
)}
|
||||
|
||||
{/* <!-- GitHub.com homepage and 404 page has a stylized search; Enterprise homepages do not --> */}
|
||||
{relativePath !== 'index.md' && error !== '404' && (
|
||||
{error !== '404' && (
|
||||
<div className="d-inline-block ml-3">
|
||||
<Search iconSize={16} isHeaderSearch={true} />
|
||||
</div>
|
||||
|
@ -158,7 +161,7 @@ export const Header = () => {
|
|||
)}
|
||||
|
||||
{/* <!-- GitHub.com homepage and 404 page has a stylized search; Enterprise homepages do not --> */}
|
||||
{relativePath !== 'index.md' && error !== '404' && (
|
||||
{error !== '404' && (
|
||||
<div className="my-2 pt-2">
|
||||
<Search iconSize={16} isMobileSearch={true} />
|
||||
</div>
|
||||
|
|
|
@ -21,9 +21,9 @@ type Notif = {
|
|||
export const HeaderNotifications = () => {
|
||||
const router = useRouter()
|
||||
const { currentVersion } = useVersion()
|
||||
const { relativePath, allVersions, data, userLanguage, currentPathWithoutLanguage, page } =
|
||||
useMainContext()
|
||||
const { languages } = useLanguages()
|
||||
const { relativePath, allVersions, data, currentPathWithoutLanguage, page } = useMainContext()
|
||||
const { languages, userLanguage } = useLanguages()
|
||||
|
||||
const { t } = useTranslation('header')
|
||||
|
||||
const translationNotices: Array<Notif> = []
|
||||
|
|
|
@ -20,7 +20,7 @@ const restRepoCategoryExceptionsTitles = {
|
|||
branches: 'Branches',
|
||||
collaborators: 'Collaborators',
|
||||
commits: 'Commits',
|
||||
deploy_keys: 'Deploy Keys',
|
||||
'deploy-keys': 'Deploy Keys',
|
||||
deployments: 'Deployments',
|
||||
pages: 'GitHub Pages',
|
||||
releases: 'Releases',
|
||||
|
|
|
@ -11,6 +11,7 @@ topics:
|
|||
redirect_from:
|
||||
- /github/setting-up-and-managing-your-github-user-account/managing-the-default-branch-name-for-your-repositories
|
||||
- /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-the-default-branch-name-for-your-repositories
|
||||
- /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-the-default-branch-name-for-your-repositories
|
||||
shortTitle: Manage default branch name
|
||||
---
|
||||
## About management of the default branch name
|
||||
|
|
|
@ -88,6 +88,8 @@ For example, if a workflow defined the `numOctocats` and `octocatEyeColor` input
|
|||
|
||||
**Optional** Output parameters allow you to declare data that an action sets. Actions that run later in a workflow can use the output data set in previously run actions. For example, if you had an action that performed the addition of two inputs (x + y = z), the action could output the sum (z) for other actions to use as an input.
|
||||
|
||||
{% data reusables.actions.output-limitations %}
|
||||
|
||||
If you don't declare an output in your action metadata file, you can still set outputs and use them in a workflow. For more information on setting outputs in an action, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-output-parameter)."
|
||||
|
||||
### Example: Declaring outputs for Docker container and JavaScript actions
|
||||
|
@ -110,6 +112,8 @@ outputs:
|
|||
|
||||
**Optional** `outputs` use the same parameters as `outputs.<output_id>` and `outputs.<output_id>.description` (see "[`outputs` for Docker container and JavaScript actions](#outputs-for-docker-container-and-javascript-actions)"), but also includes the `value` token.
|
||||
|
||||
{% data reusables.actions.output-limitations %}
|
||||
|
||||
### Example: Declaring outputs for composite actions
|
||||
|
||||
{% raw %}
|
||||
|
@ -365,6 +369,10 @@ runs:
|
|||
```
|
||||
{% endif %}
|
||||
|
||||
#### `runs.steps[*].continue-on-error`
|
||||
|
||||
**Optional** Prevents the action from failing when a step fails. Set to `true` to allow the action to pass when this step fails.
|
||||
|
||||
## `runs` for Docker container actions
|
||||
|
||||
**Required** Configures the image used for the Docker container action.
|
||||
|
|
|
@ -342,7 +342,7 @@ Secrets are limited to 64 KB in size. To use secrets that are larger than 64 KB,
|
|||
- name: Decrypt large secret
|
||||
run: ./.github/scripts/decrypt_secret.sh
|
||||
env:
|
||||
LARGE_SECRET_PASSPHRASE: {% raw %}${{ secrets. LARGE_SECRET_PASSPHRASE }}{% endraw %}
|
||||
LARGE_SECRET_PASSPHRASE: {% raw %}${{ secrets.LARGE_SECRET_PASSPHRASE }}{% endraw %}
|
||||
# This command is just an example to show your secret being printed
|
||||
# Ensure you remove any print statements of your secrets. GitHub does
|
||||
# not hide secrets that use this workaround.
|
||||
|
|
|
@ -80,6 +80,7 @@ For the overall list of included tools for each runner operating system, see the
|
|||
* [Ubuntu 18.04 LTS](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-Readme.md)
|
||||
* [Windows Server 2022](https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md)
|
||||
* [Windows Server 2019](https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md)
|
||||
* [macOS 12](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-12-Readme.md)
|
||||
* [macOS 11](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md)
|
||||
* [macOS 10.15](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md)
|
||||
|
||||
|
|
|
@ -198,6 +198,7 @@ When you call a reusable workflow, you can only use the following keywords in th
|
|||
* [`jobs.<job_id>.needs`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds)
|
||||
* [`jobs.<job_id>.if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif)
|
||||
* [`jobs.<job_id>.permissions`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idpermissions)
|
||||
* [`jobs.<job_id>.concurrency`](/actions/reference/workflow-syntax-for-github-actions#concurrency)
|
||||
|
||||
{% note %}
|
||||
|
||||
|
|
|
@ -19,7 +19,9 @@ topics:
|
|||
|
||||
{% ifversion ghec %}
|
||||
|
||||
Enterprise owners on {% data variables.product.product_name %} can control the requirements for authentication and access to the enterprise's resources. You can choose to allow members create and manage user accounts, or your enterprise can create and manage accounts for members. If you allow members to manage their own accounts, you can also configure SAML authentication to both increase security and centralize identity and access for the web applications that your team uses. If you choose to manage your members' user accounts, you must configure SAML authentication.
|
||||
Enterprise owners on {% data variables.product.product_name %} can control the requirements for authentication and access to the enterprise's resources.
|
||||
|
||||
You can choose to allow members to create and manage user accounts, or your enterprise can create and manage accounts for members with {% data variables.product.prodname_emus %}. If you allow members to manage their own accounts, you can also configure SAML authentication to both increase security and centralize identity and access for the web applications that your team uses. If you choose to manage your members' user accounts, you must configure SAML authentication.
|
||||
|
||||
## Authentication methods for {% data variables.product.product_name %}
|
||||
|
||||
|
|
|
@ -71,13 +71,13 @@ changelog:
|
|||
featuredLinks:
|
||||
guides:
|
||||
- '{% ifversion ghae %}/admin/user-management/auditing-users-across-your-enterprise{% endif %}'
|
||||
- /admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise
|
||||
- /admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies
|
||||
- '{% ifversion ghae %}/admin/configuration/restricting-network-traffic-to-your-enterprise{% endif %}'
|
||||
- '{% ifversion ghes %}/admin/configuration/configuring-backups-on-your-appliance{% endif %}'
|
||||
- '{% ifversion ghes %}/admin/enterprise-management/creating-a-high-availability-replica{% endif %}'
|
||||
- '{% ifversion ghes %}/admin/overview/about-upgrades-to-new-releases{% endif %}'
|
||||
- '{% ifversion ghec %}/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise{% endif %}'
|
||||
- '{% ifversion ghec %}/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users{% endif %}'
|
||||
- '{% ifversion ghec %}/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-identity-and-access-management-for-your-enterprise{% endif %}'
|
||||
- '{% ifversion ghec %}/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise{% endif %}'
|
||||
- /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise
|
||||
guideCards:
|
||||
|
|
|
@ -16,7 +16,9 @@ topics:
|
|||
|
||||
You can export the audit log by downloading a JSON or CSV file from your enterprise on {% data variables.product.product_name %}. When you export audit log events, you can query by one or more of these supported qualifiers to filter for specific log events to export. For more information about search qualifiers, see "[Search based on the action performed](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise#search-based-on-the-action-performed)."
|
||||
|
||||
You can export Git events data by downloading a JSON file from your enterprise audit log. Unlike audit log data, you cannot query for specific Git events to filter and export in the audit log user interface.
|
||||
You can export Git events data by downloading a JSON file from your enterprise audit log. Unlike audit log data, you cannot query for specific Git events to filter and export in the audit log user interface.
|
||||
|
||||
{% data reusables.audit_log.git-events-export-limited %}
|
||||
|
||||
{% data reusables.audit_log.exported-log-keys-and-values %}
|
||||
|
||||
|
|
|
@ -32,18 +32,18 @@ The enterprise account on {% ifversion ghes %}{% data variables.product.product_
|
|||
|
||||
{% endif %}
|
||||
|
||||
Organizations are shared accounts where enterprise members can collaborate across many projects at once. Organization owners can manage access to the organization's data and projects with sophisticated security and administrative features. For more information, see {% ifversion ghec %}"[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)."{% elsif ghes or ghae %}"[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)" and "[Managing users, organizations, and repositories](/admin/user-management)."{% endif %}
|
||||
Organizations are shared accounts where enterprise members can collaborate across many projects at once. Organization owners can manage access to the organization's data and projects with sophisticated security and administrative features. For more information, see "[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)."
|
||||
|
||||
{% ifversion ghec %}
|
||||
Enterprise owners can invite existing organizations to join your enterprise account, or create new organizations in the enterprise settings.
|
||||
{% endif %}
|
||||
|
||||
Your enterprise account allows you to manage and enforce policies for all the organizations owned by the enterprise. {% data reusables.enterprise.about-policies %} For more information, see "[About enterprise policies](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies)."
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
Enterprise owners can create organizations and link the organizations to the enterprise. Alternatively, you can invite an existing organization to join your enterprise account. After you add organizations to your enterprise account, you can manage and enforce policies for the organizations. Specific enforcement options vary by setting; generally, you can choose to enforce a single policy for every organization in your enterprise account or allow owners to set policy on the organization level. For more information, see "[Setting policies for your enterprise](/admin/policies)."
|
||||
|
||||
{% data reusables.enterprise.create-an-enterprise-account %} For more information, see "[Creating an enterprise account](/admin/overview/creating-an-enterprise-account)."
|
||||
|
||||
{% elsif ghes or ghae %}
|
||||
|
||||
For more information about the management of policies for your enterprise account, see "[Setting policies for your enterprise](/admin/policies)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## About administration of your enterprise account
|
||||
|
|
|
@ -16,7 +16,7 @@ shortTitle: Create enterprise account
|
|||
|
||||
{% data variables.product.prodname_ghe_cloud %} includes the option to create an enterprise account, which enables collaboration between multiple organizations and gives administrators a single point of visibility and management. For more information, see "[About enterprise accounts](/admin/overview/about-enterprise-accounts)."
|
||||
|
||||
{% data reusables.enterprise.create-an-enterprise-account %} If you pay by invoice, you can create an enterprise account yourself on {% data variables.product.prodname_dotcom %}. If not, you can [contact our sales team](https://github.com/enterprise/contact?ref_page=/pricing&ref_cta=Contact%20Sales&ref_loc=cards) to move to invoicing.
|
||||
{% data reusables.enterprise.create-an-enterprise-account %} If you pay by invoice, you can create an enterprise account yourself on {% data variables.product.prodname_dotcom %}. If not, you can [contact our sales team](https://github.com/enterprise/contact?ref_page=/pricing&ref_cta=Contact%20Sales&ref_loc=cards) to create an enterprise account for you.
|
||||
|
||||
An enterprise account is included in {% data variables.product.prodname_ghe_cloud %}, so creating one will not affect your bill.
|
||||
|
||||
|
@ -29,7 +29,10 @@ If the organization is connected to {% data variables.product.prodname_ghe_serve
|
|||
|
||||
## Creating an enterprise account on {% data variables.product.prodname_dotcom %}
|
||||
|
||||
To create an enterprise account on {% data variables.product.prodname_dotcom %}, your organization must be using {% data variables.product.prodname_ghe_cloud %} and paying by invoice.
|
||||
To create an enterprise account, your organization must be using {% data variables.product.prodname_ghe_cloud %}.
|
||||
|
||||
If you pay by invoice, you can create an enterprise account directly through {% data variables.product.prodname_dotcom %}. If you do not currently pay by invoice, you can [contact our sales team](https://github.com/enterprise/contact?ref_page=/pricing&ref_cta=Contact%20Sales&ref_loc=cards) to create an enterprise account for you.
|
||||
|
||||
|
||||
{% data reusables.organizations.billing-settings %}
|
||||
1. Click **Upgrade to enterprise account**.
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
title: About enterprise policies
|
||||
intro: 'With enterprise policies, you can manage the policies for all the organizations owned by your enterprise.'
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Enterprise
|
||||
- Policies
|
||||
---
|
||||
|
||||
To help you enforce business rules and regulatory compliance, policies provide a single point of management for all the organizations owned by an enterprise account.
|
||||
|
||||
{% data reusables.enterprise.about-policies %}
|
||||
|
||||
For example, with the "Base permissions" policy, you can allow organization owners to configure the "Base permissions" policy for their organization, or you can enforce a specific base permissions level, such as "Read", for all organizations within the enterprise.
|
||||
|
||||
By default, no enterprise policies are enforced. To identify policies that should be enforced to meet the unique requirements of your business, we recommend reviewing all the available policies in your enterprise account, starting with repository management policies. For more information, see "[Enforcing repository management polices in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise)."
|
||||
|
||||
While you're configuring enterprise policies, to help you understand the impact of changing each policy, you can view the current configurations for the organizations owned by your enterprise.
|
||||
|
||||
{% ifversion ghes %}
|
||||
Another way to enforce standards within your enterprise is to use pre-receive hooks, which are scripts that run on {% data variables.product.product_location %} to implement quality checks. For more information, see "[Enforcing policy with pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks)."
|
||||
{% endif %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[About enterprise accounts](/admin/overview/about-enterprise-accounts)"
|
|
@ -13,6 +13,7 @@ topics:
|
|||
- Enterprise
|
||||
- Policies
|
||||
children:
|
||||
- /about-enterprise-policies
|
||||
- /enforcing-repository-management-policies-in-your-enterprise
|
||||
- /enforcing-team-policies-in-your-enterprise
|
||||
- /enforcing-project-board-policies-in-your-enterprise
|
||||
|
|
|
@ -53,7 +53,7 @@ Each user on {% data variables.product.product_location %} consumes a seat on yo
|
|||
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.billing.about-invoices-for-enterprises %} For more information about {% ifversion ghes %}licensing, usage, and invoices{% elsif ghec %}usage and invoices{% endif %}, see the following{% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %}
|
||||
{% ifversion ghec %}For {% data variables.product.prodname_ghe_cloud %} customers with an enterprise account, {% data variables.product.company_short %} bills through your enterprise account on {% data variables.product.prodname_dotcom_the_website %}. For invoiced customers, each{% elsif ghes %}For invoiced {% data variables.product.prodname_enterprise %} customers, {% data variables.product.company_short %} bills through an enterprise account on {% data variables.product.prodname_dotcom_the_website %}. Each{% endif %} invoice includes a single bill charge for all of your paid {% data variables.product.prodname_dotcom_the_website %} services and any {% data variables.product.prodname_ghe_server %} instances. For more information about {% ifversion ghes %}licensing, usage, and invoices{% elsif ghec %}usage and invoices{% endif %}, see the following{% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %}
|
||||
|
||||
{%- ifversion ghes %}
|
||||
- "[About per-user pricing](/enterprise-cloud@latest/billing/managing-billing-for-your-github-account/about-per-user-pricing)"
|
||||
|
|
|
@ -17,7 +17,7 @@ shortTitle: View subscription & usage
|
|||
|
||||
## About billing for enterprise accounts
|
||||
|
||||
You can view an overview of {% ifversion ghec %}your subscription and paid{% elsif ghes %}the license{% endif %} usage for {% ifversion ghec %}your{% elsif ghes %}the{% endif %} enterprise account on {% ifversion ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.product.product_location %}{% endif %}.
|
||||
You can view an overview of {% ifversion ghec %}your subscription and paid{% elsif ghes %}the license{% endif %} usage for {% ifversion ghec %}your{% elsif ghes %}the{% endif %} enterprise account on {% ifversion ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.product.product_location %}{% endif %}.{% ifversion ghec %} {% data reusables.enterprise.create-an-enterprise-account %} For more information, see "[Creating an enterprise account](/enterprise-cloud@latest/admin/overview/creating-an-enterprise-account)."{% endif %}
|
||||
|
||||
For invoiced {% data variables.product.prodname_enterprise %} customers{% ifversion ghes %} who use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}{% endif %}, each invoice includes details about billed services for all products. For example, in addition to your usage for {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}{% data variables.product.product_name %}{% endif %}, you may have usage for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghec %}, {% elsif ghes %}. You may also have usage on {% data variables.product.prodname_dotcom_the_website %}, like {% endif %}paid licenses in organizations outside of your enterprise account, data packs for {% data variables.large_files.product_name_long %}, or subscriptions to apps in {% data variables.product.prodname_marketplace %}. For more information about invoices, see "[Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-billing-for-your-github-account/managing-invoices-for-your-enterprise){% ifversion ghec %}."{% elsif ghes %}" in the {% data variables.product.prodname_dotcom_the_website %} documentation.{% endif %}
|
||||
|
||||
|
|
|
@ -271,6 +271,15 @@ If the {% data variables.product.prodname_codeql_workflow %} still fails on a co
|
|||
This type of merge commit is authored by {% data variables.product.prodname_dependabot %} and therefore, any workflows running on the commit will have read-only permissions. If you enabled {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} security updates or version updates on your repository, we recommend you avoid using the {% data variables.product.prodname_dependabot %} `@dependabot squash and merge` command. Instead, you can enable auto-merge for your repository. This means that pull requests will be automatically merged when all required reviews are met and status checks have passed. For more information about enabling auto-merge, see "[Automatically merging a pull request](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request#enabling-auto-merge)."
|
||||
{% endif %}
|
||||
|
||||
## Error: "is not a .ql file, .qls file, a directory, or a query pack specification"
|
||||
|
||||
You will see this error if CodeQL is unable to find the named query, query suite, or query pack at the location requested in the workflow. There are two common reasons for this error.
|
||||
|
||||
- There is a typo in the workflow.
|
||||
- A resource the workflow refers to by path was renamed, deleted, or moved to a new location.
|
||||
|
||||
After verifying the location of the resource, you can update the workflow to specify the correct location. If you run additional queries in Go analysis, you may have been affected by the relocation of the source files. For more information, see [Relocation announcement: `github/codeql-go` moving into `github/codeql`](https://github.com/github/codeql-go/issues/741) in the github/codeql-go repository.
|
||||
|
||||
## Warning: "git checkout HEAD^2 is no longer necessary"
|
||||
|
||||
If you're using an old {% data variables.product.prodname_codeql %} workflow you may get the following warning in the output from the "Initialize {% data variables.product.prodname_codeql %}" action:
|
||||
|
|
|
@ -30,7 +30,7 @@ shortTitle: Dependabot version updates
|
|||
|
||||
{% data variables.product.prodname_dependabot %} takes the effort out of maintaining your dependencies. You can use it to ensure that your repository automatically keeps up with the latest releases of the packages and applications it depends on.
|
||||
|
||||
You enable {% data variables.product.prodname_dependabot_version_updates %} by checking a _dependabot.yml_ configuration file into your repository. The configuration file specifies the location of the manifest, or of other package definition files, stored in your repository. {% data variables.product.prodname_dependabot %} uses this information to check for outdated packages and applications. {% data variables.product.prodname_dependabot %} determines if there is a new version of a dependency by looking at the semantic versioning ([semver](https://semver.org/)) of the dependency to decide whether it should update to that version. For certain package managers, {% data variables.product.prodname_dependabot_version_updates %} also supports vendoring. Vendored (or cached) dependencies are dependencies that are checked in to a specific directory in a repository rather than referenced in a manifest. Vendored dependencies are available at build time even if package servers are unavailable. {% data variables.product.prodname_dependabot_version_updates %} can be configured to check vendored dependencies for new versions and update them if necessary.
|
||||
You enable {% data variables.product.prodname_dependabot_version_updates %} by checking a `dependabot.yml` configuration file into your repository. The configuration file specifies the location of the manifest, or of other package definition files, stored in your repository. {% data variables.product.prodname_dependabot %} uses this information to check for outdated packages and applications. {% data variables.product.prodname_dependabot %} determines if there is a new version of a dependency by looking at the semantic versioning ([semver](https://semver.org/)) of the dependency to decide whether it should update to that version. For certain package managers, {% data variables.product.prodname_dependabot_version_updates %} also supports vendoring. Vendored (or cached) dependencies are dependencies that are checked in to a specific directory in a repository rather than referenced in a manifest. Vendored dependencies are available at build time even if package servers are unavailable. {% data variables.product.prodname_dependabot_version_updates %} can be configured to check vendored dependencies for new versions and update them if necessary.
|
||||
|
||||
When {% data variables.product.prodname_dependabot %} identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. For vendored dependencies, {% data variables.product.prodname_dependabot %} raises a pull request to replace the outdated dependency with the new version directly. You check that your tests pass, review the changelog and release notes included in the pull request summary, and then merge it. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ topics:
|
|||
- Secret scanning
|
||||
---
|
||||
|
||||
{% ifversion ghes < 3.3 or ghae %}
|
||||
{% ifversion ghes < 3.3 %}
|
||||
{% note %}
|
||||
|
||||
**Note:** Custom patterns for {% data variables.product.prodname_secret_scanning %} is currently in beta and is subject to change.
|
||||
|
@ -33,7 +33,7 @@ You can define custom patterns for your enterprise, organization, or repository.
|
|||
{%- else %} 20 custom patterns for each organization or enterprise account, and per repository.
|
||||
{%- endif %}
|
||||
|
||||
{% ifversion ghes < 3.3 or ghae %}
|
||||
{% ifversion ghes < 3.3 %}
|
||||
{% note %}
|
||||
|
||||
**Note:** During the beta, there are some limitations when using custom patterns for {% data variables.product.prodname_secret_scanning %}:
|
||||
|
|
|
@ -1481,6 +1481,17 @@ This event occurs when someone triggers a workflow run on GitHub or sends a `POS
|
|||
|
||||
- {% data variables.product.prodname_github_apps %} must have the `contents` permission to receive this webhook.
|
||||
|
||||
### Webhook payload object
|
||||
|
||||
| Key | Type | Description |
|
||||
|-----|-----|-----|
|
||||
| `inputs` | `object` | Inputs to the workflow. Each key represents the name of the input while it's value represents the value of that input. |
|
||||
{% data reusables.webhooks.org_desc %}
|
||||
| `ref` | `string` | The branch ref from which the workflow was run. |
|
||||
{% data reusables.webhooks.repo_desc %}
|
||||
{% data reusables.webhooks.sender_desc %}
|
||||
| `workflow` | `string` | Relative path to the workflow file which contains the workflow. |
|
||||
|
||||
### Webhook payload example
|
||||
|
||||
{{ webhookPayloadsForCurrentVersion.workflow_dispatch }}
|
||||
|
|
|
@ -56,21 +56,23 @@ Your organization's billing settings page allows you to manage settings like you
|
|||
Only organization members with the *owner* or *billing manager* role can access or change billing settings for your organization. A billing manager is a user who manages the billing settings for your organization and does not use a paid license in your organization's subscription. For more information on adding a billing manager to your organization, see "[Adding a billing manager to your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization)."
|
||||
|
||||
### Setting up an enterprise account with {% data variables.product.prodname_ghe_cloud %}
|
||||
{% note %}
|
||||
|
||||
To get an enterprise account created for you, contact [{% data variables.product.prodname_dotcom %}'s Sales team](https://enterprise.github.com/contact).
|
||||
|
||||
{% endnote %}
|
||||
|
||||
#### 1. About enterprise accounts
|
||||
|
||||
An enterprise account allows you to centrally manage policy and settings for multiple {% data variables.product.prodname_dotcom %} organizations, including member access, billing and usage and security. For more information, see "[About enterprise accounts](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)."
|
||||
#### 2. Adding organizations to your enterprise account
|
||||
|
||||
#### 2. Creating an enterpise account
|
||||
|
||||
{% data variables.product.prodname_ghe_cloud %} customers paying by invoice can create an enterprise account directly through {% data variables.product.prodname_dotcom %}. For more information, see "[Creating an enterprise account](/enterprise-cloud@latest/admin/overview/creating-an-enterprise-account)."
|
||||
|
||||
{% data variables.product.prodname_ghe_cloud %} customers not currently paying by invoice can contact [{% data variables.product.prodname_dotcom %}'s Sales team](https://enterprise.github.com/contact) to create an enterprise account for you.
|
||||
|
||||
#### 3. Adding organizations to your enterprise account
|
||||
|
||||
You can create new organizations to manage within your enterprise account. For more information, see "[Adding organizations to your enterprise](/enterprise-cloud@latest/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise)."
|
||||
|
||||
Contact your {% data variables.product.prodname_dotcom %} sales account representative if you want to transfer an existing organization to your enterprise account.
|
||||
#### 3. Viewing the subscription and usage for your enterprise account
|
||||
#### 4. Viewing the subscription and usage for your enterprise account
|
||||
You can view your current subscription, license usage, invoices, payment history, and other billing information for your enterprise account at any time. Both enterprise owners and billing managers can access and manage billing settings for enterprise accounts. For more information, see "[Viewing the subscription and usage for your enterprise account](/enterprise-cloud@latest/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)."
|
||||
|
||||
## Part 3: Managing your organization or enterprise members and teams with {% data variables.product.prodname_ghe_cloud %}
|
||||
|
|
|
@ -38,7 +38,7 @@ To get the most out of your trial, follow these steps:
|
|||
|
||||
1. [Create an organization](/enterprise-server@latest/admin/user-management/creating-organizations).
|
||||
2. To learn the basics of using {% data variables.product.prodname_dotcom %}, see:
|
||||
- [Quick start guide to {% data variables.product.prodname_dotcom %}](https://resources.github.com/webcasts/Quick-start-guide-to-GitHub/) webcast
|
||||
- [Intro to {% data variables.product.prodname_dotcom %}](https://resources.github.com/devops/methodology/maximizing-devops-roi/) webcast
|
||||
- [Understanding the {% data variables.product.prodname_dotcom %} flow](https://guides.github.com/introduction/flow/) in {% data variables.product.prodname_dotcom %} Guides
|
||||
- [Hello World](https://guides.github.com/activities/hello-world/) in {% data variables.product.prodname_dotcom %} Guides
|
||||
- "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)"
|
||||
|
|
|
@ -148,14 +148,19 @@ For more information, see "[Relative Links](#relative-links)."
|
|||
{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5559 %}
|
||||
### Specifying the theme an image is shown to
|
||||
|
||||
You can specify the theme an image is displayed to by appending `#gh-dark-mode-only` or `#gh-light-mode-only` to the end of an image URL, in Markdown.
|
||||
You can specify the theme an image is displayed for in Markdown by using the HTML `<picture>` element in combination with the `prefers-color-scheme` media feature. We distinguish between light and dark color modes, so there are two options available. You can use these options to display images optimized for dark or light backgrounds. This is particularly helpful for transparent PNG images.
|
||||
|
||||
We distinguish between light and dark color modes, so there are two options available. You can use these options to display images optimized for dark or light backgrounds. This is particularly helpful for transparent PNG images.
|
||||
For example, the following code displays a sun image for light themes and a moon for dark themes:
|
||||
|
||||
| Context | URL |
|
||||
|--------|--------|
|
||||
| Dark Theme | `![GitHub Light](https://github.com/github-light.png#gh-dark-mode-only)` |
|
||||
| Light Theme | `![GitHub Dark](https://github.com/github-dark.png#gh-light-mode-only)` |
|
||||
```HTML
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/25423296/163456776-7f95b81a-f1ed-45f7-b7ab-8fa810d529fa.png">
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/25423296/163456779-a8556205-d0a5-45e2-ac17-42d089e3c3f8.png">
|
||||
<img alt="Shows an illustrated sun in light color mode and a moon with stars in dark color mode." src="https://user-images.githubusercontent.com/25423296/163456779-a8556205-d0a5-45e2-ac17-42d089e3c3f8.png">
|
||||
</picture>
|
||||
```
|
||||
|
||||
The old method of specifying images based on the theme, by using a fragment appended to the URL (`#gh-dark-mode-only` or `#gh-light-mode-only`), is deprecated and will be removed in favor of the new method described above.
|
||||
{% endif %}
|
||||
|
||||
## Lists
|
||||
|
|
|
@ -32,14 +32,14 @@ The following scopes are recommended:
|
|||
|
||||
|
||||
```
|
||||
user{% ifversion not ghae %}
|
||||
public_repo{% endif %}
|
||||
repo
|
||||
repo_deployment
|
||||
repo:status
|
||||
read:repo_hook
|
||||
repo_deployment{% ifversion not ghae %}
|
||||
public_repo{% endif %}
|
||||
read:org
|
||||
read:public_key
|
||||
read:repo_hook
|
||||
user
|
||||
read:gpg_key
|
||||
```
|
||||
|
||||
|
|
|
@ -127,6 +127,9 @@ Using the qualifier `country`, you can filter events in the audit log based on t
|
|||
## Exporting the audit log
|
||||
|
||||
{% data reusables.audit_log.export-log %}
|
||||
|
||||
{% data reusables.audit_log.git-events-export-limited %}
|
||||
|
||||
{% data reusables.audit_log.exported-log-keys-and-values %}
|
||||
{% endif %}
|
||||
|
||||
|
|
|
@ -11,13 +11,15 @@ shortTitle: Change visibility of site
|
|||
|
||||
## About access control for {% data variables.product.prodname_pages %} sites
|
||||
|
||||
With access control for {% data variables.product.prodname_pages %}, you can restrict access to your {% data variables.product.prodname_pages %} site by publishing the site privately. A privately published site can only be accessed by people with read access to the repository the site is published from. You can use privately published sites to share your internal documentation or knowledge base with members of your enterprise.
|
||||
With access control for {% data variables.product.prodname_pages %}, you can restrict access to your project site by publishing the site privately. A privately published site can only be accessed by people with read access to the repository the site is published from. You can use privately published sites to share your internal documentation or knowledge base with members of your enterprise.
|
||||
|
||||
{% data reusables.pages.privately-publish-ghec-only %}
|
||||
|
||||
If your enterprise uses {% data variables.product.prodname_emus %}, access control is not available, and all {% data variables.product.prodname_pages %} sites are only accessible to other enterprise members. For more information about {% data variables.product.prodname_emus %}, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)."
|
||||
|
||||
If your organization uses {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, you can choose to publish your sites privately or publicly to anyone on the internet. Access control is available for project sites that are published from a private or internal repository that are owned by the organization. You cannot manage access control for an organization site. For more information about the types of {% data variables.product.prodname_pages %} sites, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)."
|
||||
If your organization uses {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, you can choose to publish your project sites privately or publicly to anyone on the internet.
|
||||
|
||||
Access control is available for project sites that are published from a private or internal repository that are owned by the organization. You cannot manage access control for an organization site. For more information about the types of {% data variables.product.prodname_pages %} sites, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)."
|
||||
|
||||
## About subdomains for privately published sites
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ redirect_from:
|
|||
versions:
|
||||
fpt: '*'
|
||||
ghes: '>=3.3'
|
||||
ghae: issue-4651
|
||||
ghae: '*'
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Repositories
|
||||
|
|
|
@ -32,4 +32,5 @@ Query parameter | Example
|
|||
|
||||
## Further reading
|
||||
|
||||
- "[About automation for issues and pull requests with query parameters](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)"
|
||||
- "[Creating an issue from a URL query](/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-url-query)"
|
||||
- "[Using query parameters to create a pull request](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request/)"
|
||||
|
|
|
@ -135,5 +135,4 @@ get_started_with_your_enterprise_account:
|
|||
- /admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise
|
||||
- /admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise
|
||||
- /admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise
|
||||
- /admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise
|
||||
- /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise
|
||||
- /admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies
|
||||
|
|
|
@ -30,4 +30,3 @@ sections:
|
|||
- The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
|
||||
- Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.
|
||||
- '{% data variables.product.prodname_actions %} storage settings cannot be validated and saved in the {% data variables.enterprise.management_console %} when "Force Path Style" is selected, and must instead be configured with the `ghe-actions-precheck` command line utility.'
|
||||
- '{% data variables.product.prodname_ghe_server %} 3.3 instances installed on Azure and provisioned with 32+ CPU cores would fail to launch, due to a bug present in the current Linux kernel. [Updated: 2022-04-08]'
|
||||
|
|
|
@ -141,7 +141,7 @@ sections:
|
|||
notes:
|
||||
# https://github.com/github/releases/issues/1503
|
||||
- |
|
||||
You can now re-run only failed jobs or an individual job in a GitHub Actions workflow run. For more information, see "[Re-running workflows and jobs](/managing-workflow-runs/re-running-workflows-and-jobs)."
|
||||
You can now re-run only failed jobs or an individual job in a GitHub Actions workflow run. For more information, see "[Re-running workflows and jobs](/actions/managing-workflow-runs/re-running-workflows-and-jobs)."
|
||||
|
||||
- heading: Dependency graph supports GitHub Actions
|
||||
notes:
|
||||
|
@ -373,7 +373,7 @@ sections:
|
|||
|
||||
# https://github.com/github/releases/issues/2054
|
||||
- |
|
||||
New gists are now created with a default branch name of either `main` or the alternative default branch name defined in your user settings. This matches how other repositories are created on GitHub Enterprise Server. For more information, see "[About branches](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#about-the-default-branch)" and "[Managing the default branch name for your repositories](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-the-default-branch-name-for-your-repositories)."
|
||||
New gists are now created with a default branch name of either `main` or the alternative default branch name defined in your user settings. This matches how other repositories are created on GitHub Enterprise Server. For more information, see "[About branches](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#about-the-default-branch)" and "[Managing the default branch name for your repositories](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories)."
|
||||
|
||||
# https://github.com/github/releases/issues/2028
|
||||
- |
|
||||
|
|
|
@ -21,14 +21,14 @@ sections:
|
|||
- |
|
||||
GitHub Advanced Security now offers an organization-level view of the application security risks detected by code scanning, Dependabot, and secret scanning. The security overview shows the enablement status of security features on each repository, as well as the number of alerts detected.
|
||||
|
||||
In addition, the security overview lists all secret scanning alerts at the organization level. Similar views for Dependabot and code scanning alerts are coming in future releases. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." <!-- ⚠️ Article will be available when we toggle content feature flags -->
|
||||
In addition, the security overview lists all secret scanning alerts at the organization level. Similar views for Dependabot and code scanning alerts are coming in future releases. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)."
|
||||
|
||||
![Screenshot of security overview](/assets/images/enterprise/3.2/release-notes/security-overview-UI.png)
|
||||
|
||||
- heading: 'Dependency graph'
|
||||
notes:
|
||||
- |
|
||||
Dependency graph is now available on GitHub AE. The dependency graph helps you understand the open source software that you depend on by parsing the dependency manifests checked into repositories. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." <!-- ⚠️ Article will be available when we toggle content feature flags -->
|
||||
Dependency graph is now available on GitHub AE. The dependency graph helps you understand the open source software that you depend on by parsing the dependency manifests checked into repositories. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)."
|
||||
|
||||
- heading: 'Dependabot alerts'
|
||||
notes:
|
||||
|
@ -74,7 +74,7 @@ sections:
|
|||
- heading: 'Audit log accessible via REST API'
|
||||
notes:
|
||||
- |
|
||||
You can now use the REST API to programmatically interface with the audit log. While audit log forwarding provides you with the ability to retain and analyze data with your own toolkit and determine patterns over time, the new REST API will help you perform limited analysis on events of note that have happened in recent history. For more information, see "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#using-the-rest-api)." <!-- ⚠️ Article will be available when we toggle content feature flags -->
|
||||
You can now use the REST API to programmatically interface with the audit log. While audit log forwarding provides you with the ability to retain and analyze data with your own toolkit and determine patterns over time, the new REST API will help you perform limited analysis on events of note that have happened in recent history. For more information, see "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#using-the-rest-api)."
|
||||
|
||||
- heading: 'Expiration dates for personal access tokens'
|
||||
notes:
|
||||
|
@ -135,7 +135,7 @@ sections:
|
|||
- heading: 'GitHub Actions'
|
||||
notes:
|
||||
- |
|
||||
To mitigate insider man-in-the-middle attacks when using actions resolved through GitHub Connect to GitHub.com from GitHub AE, GitHub AE retires the actions namespace (`OWNER/NAME`) on use. Retiring the namespace prevents that namespace from being created in your enterprise, and ensures all workflows referencing the action will download it from GitHub.com. For more information, see "[Enabling automatic access to GitHub.com actions using GitHub Connect](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)." <!-- ⚠️ Section on page will be available when we toggle content feature flags -->
|
||||
To mitigate insider man-in-the-middle attacks when using actions resolved through GitHub Connect to GitHub.com from GitHub AE, GitHub AE retires the actions namespace (`OWNER/NAME`) on use. Retiring the namespace prevents that namespace from being created in your enterprise, and ensures all workflows referencing the action will download it from GitHub.com. For more information, see "[Enabling automatic access to GitHub.com actions using GitHub Connect](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)."
|
||||
|
||||
- |
|
||||
The audit log now includes additional events for GitHub Actions. GitHub AE now records audit log entries for the following events.
|
||||
|
@ -183,7 +183,7 @@ sections:
|
|||
- heading: 'Repositories'
|
||||
notes:
|
||||
- |
|
||||
GitHub AE now includes enhanced support for _CITATION.cff_ files. _CITATION.cff_ files are plain text files with human- and machine-readable citation information. GitHub AE parses this information into convenient formats such as [APA](https://apastyle.apa.org) and [BibTeX](https://en.wikipedia.org/wiki/BibTeX) that can be copied by others. For more information, see "[About CITATION files](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files)." <!-- ⚠️ Article will be available when we toggle content feature flags -->
|
||||
GitHub AE now includes enhanced support for _CITATION.cff_ files. _CITATION.cff_ files are plain text files with human- and machine-readable citation information. GitHub AE parses this information into convenient formats such as [APA](https://apastyle.apa.org) and [BibTeX](https://en.wikipedia.org/wiki/BibTeX) that can be copied by others. For more information, see "[About CITATION files](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files)."
|
||||
|
||||
- |
|
||||
You can now add, delete, or view autolinks through the Repositories API's Autolinks endpoint. For more information, see "[Autolinked references and URLs](/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)" and "[Repositories](/rest/reference/repos#autolinks)" in the REST API documentation.
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
By default, the artifacts and log files generated by workflows are retained for 90 days before they are automatically deleted. You can adjust the retention period, depending on the type of repository:
|
||||
By default, the artifacts and log files generated by workflows are retained for 90 days before they are automatically deleted.
|
||||
|
||||
{%- ifversion fpt or ghec %}
|
||||
You can adjust the retention period, depending on the type of repository:
|
||||
|
||||
{%- ifversion fpt or ghec or ghes %}
|
||||
- For public repositories: you can change this retention period to anywhere between 1 day or 90 days.
|
||||
- For private{% ifversion ghec %} and internal{% endif %} repositories: you can change this retention period to anywhere between 1 day or 400 days.
|
||||
{%- else %}
|
||||
You can change this retention period to anywhere between 1 day or 400 days.
|
||||
{%- endif %}
|
||||
|
||||
- For private{% ifversion ghec or ghes or ghae %} and internal{% endif %} repositories: you can change this retention period to anywhere between 1 day or 400 days.
|
||||
|
||||
When you customize the retention period, it only applies to new artifacts and log files, and does not retroactively apply to existing objects. For managed repositories and organizations, the maximum retention period cannot exceed the limit set by the managing organization or enterprise.
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
You can use `jobs.<job_id>.outputs` to create a `map` of outputs for a job. Job outputs are available to all downstream jobs that depend on this job. For more information on defining job dependencies, see [`jobs.<job_id>.needs`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idneeds).
|
||||
|
||||
Job outputs are strings, and job outputs containing expressions are evaluated on the runner at the end of each job. Outputs containing secrets are redacted on the runner and not sent to {% data variables.product.prodname_actions %}.
|
||||
{% data reusables.actions.output-limitations %}
|
||||
|
||||
Job outputs containing expressions are evaluated on the runner at the end of each job. Outputs containing secrets are redacted on the runner and not sent to {% data variables.product.prodname_actions %}.
|
||||
|
||||
To use job outputs in a dependent job, you can use the `needs` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#needs-context)."
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Outputs are Unicode strings, and can be a maximum of 1 MB. The total of all outputs in a workflow run can be a maximum of 50 MB.
|
|
@ -0,0 +1,7 @@
|
|||
{% ifversion ghec %}
|
||||
{% note %}
|
||||
|
||||
**Note:** When you export Git events, events that were initiated via the web browser or the REST or GraphQL APIs are not included. For example, when a user merges a pull request in the web browser, changes are pushed to the base branch, but the Git event for that push is not included in the export.
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
|
@ -15,4 +15,4 @@ Any additional queries you want to run must belong to a {% data variables.produc
|
|||
You can specify a single _.ql_ file, a directory containing multiple _.ql_ files, a _.qls_ query suite definition file, or any combination. For more information about query suite definitions, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}We don't recommend referencing query suites directly from the `github/codeql` repository, like `github/codeql/cpp/ql/src@main`. Such queries may not be compiled with the same version of {% data variables.product.prodname_codeql %} as used for your other queries, which could lead to errors during analysis.{% endif %}
|
||||
{% ifversion fpt or ghec %}We don't recommend referencing query suites directly from the `github/codeql` repository, for example, `github/codeql/cpp/ql/src@main`. Such queries would have to be recompiled, and may not be compatible with the version of {% data variables.product.prodname_codeql %} currently active on {% data variables.product.prodname_actions %}, which could lead to errors during analysis.{% endif %}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Each enterprise policy controls the options available for a policy at the organization level. You can choose to not enforce a policy, which allows organization owners to configure the policy for the organization, or you can choose from a set of options to enforce for all organizations owned by your enterprise.
|
|
@ -4,7 +4,7 @@
|
|||
| Martin Luther King, Jr. Day | Third Monday in January |
|
||||
| Presidents' Day | Third Monday in February |
|
||||
| Memorial Day | Last Monday in May |
|
||||
| Independence Day | July 5 |
|
||||
| Independence Day | July 4 |
|
||||
| Labor Day | First Monday in September |
|
||||
| Veterans Day | November 11 |
|
||||
| Thanksgiving Day | Fourth Thursday in November |
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% ifversion fpt %}
|
||||
You can create {% data variables.product.prodname_pages %} sites that are publicly available on the internet. Organizations that use {% data variables.product.prodname_ghe_cloud %} can also publish sites privately by managing access control for the site.
|
||||
{% elsif ghec %}
|
||||
Unless your enterprise uses {% data variables.product.prodname_emus %}, you can choose to publish sites publicly or privately by managing access control for the site.
|
||||
Unless your enterprise uses {% data variables.product.prodname_emus %}, you can choose to publish project sites publicly or privately by managing access control for the site.
|
||||
{% endif %}
|
|
@ -46,6 +46,7 @@ search:
|
|||
homepage:
|
||||
explore_by_product: Explore by product
|
||||
version_picker: Version
|
||||
description: Help for wherever you are on your GitHub journey.
|
||||
toc:
|
||||
getting_started: Getting started
|
||||
popular: Popular
|
||||
|
|
|
@ -19,7 +19,6 @@ services:
|
|||
HEROKU_PRODUCTION_APP: true
|
||||
PORT: 4000
|
||||
DD_AGENT_HOST: datadog-agent
|
||||
SIGSCI_RPC_ADDRESS: sigsci-agent:8000
|
||||
depends_on:
|
||||
- datadog-agent
|
||||
restart: always
|
||||
|
@ -32,12 +31,3 @@ services:
|
|||
DD_API_KEY: ${DD_API_KEY}
|
||||
DD_AGENT_HOST: datadog-agent
|
||||
DD_HISTOGRAM_PERCENTILES: 0.99 0.95 0.50
|
||||
|
||||
sigsci-agent:
|
||||
image: signalsciences/sigsci-agent
|
||||
ports:
|
||||
- '8000:8000'
|
||||
environment:
|
||||
SIGSCI_RPC_ADDRESS: 0.0.0.0:8000
|
||||
SIGSCI_ACCESSKEY: ${SIGSCI_ACCESSKEYID}
|
||||
SIGSCI_SECRETACCESSKEY: ${SIGSCI_SECRETACCESSKEY}
|
||||
|
|
|
@ -43,7 +43,7 @@ export async function report(error, metadata) {
|
|||
]
|
||||
const failbot = new Failbot({
|
||||
app: HAYSTACK_APP,
|
||||
backends: backends,
|
||||
backends,
|
||||
})
|
||||
return failbot.report(error, metadata)
|
||||
}
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
// export const defaultCSSThemeProps = {
|
||||
export const defaultCSSTheme = {
|
||||
colorMode: 'auto', // light, dark, auto
|
||||
nightTheme: 'dark',
|
||||
dayTheme: 'light',
|
||||
}
|
||||
|
||||
// export const defaultComponentThemeProps = {
|
||||
export const defaultComponentTheme = {
|
||||
colorMode: 'auto', // day, night, auto
|
||||
nightTheme: 'dark',
|
||||
|
|
|
@ -263,8 +263,8 @@ export async function correctTranslationOrphans(pageList, basePath = null) {
|
|||
pageLoadPromises.push(
|
||||
Page.init({
|
||||
basePath: englishBasePath,
|
||||
relativePath: relativePath,
|
||||
languageCode: languageCode,
|
||||
relativePath,
|
||||
languageCode,
|
||||
})
|
||||
)
|
||||
}
|
||||
|
|
35
lib/page.js
35
lib/page.js
|
@ -25,22 +25,6 @@ import { allTools } from './all-tools.js'
|
|||
// every single time, we turn it into a Set once.
|
||||
const productMapKeysAsSet = new Set(Object.keys(productMap))
|
||||
|
||||
// Wrapper on renderContent() that caches the output depending on the
|
||||
// `context` by extracting information about the page's current permalink
|
||||
const _renderContentCache = new Map()
|
||||
|
||||
function renderContentCacheByContext(prefix) {
|
||||
return async function (template = '', context = {}, options = {}) {
|
||||
const { currentPath } = context
|
||||
const cacheKey = prefix + currentPath
|
||||
|
||||
if (!_renderContentCache.has(cacheKey)) {
|
||||
_renderContentCache.set(cacheKey, await renderContent(template, context, options))
|
||||
}
|
||||
return _renderContentCache.get(cacheKey)
|
||||
}
|
||||
}
|
||||
|
||||
class Page {
|
||||
static async init(opts) {
|
||||
opts = await Page.read(opts)
|
||||
|
@ -187,18 +171,18 @@ class Page {
|
|||
context.englishHeadings = englishHeadings
|
||||
}
|
||||
|
||||
this.intro = await renderContentCacheByContext('intro')(this.rawIntro, context)
|
||||
this.introPlainText = await renderContentCacheByContext('rawIntro')(this.rawIntro, context, {
|
||||
this.intro = await renderContent(this.rawIntro, context)
|
||||
this.introPlainText = await renderContent(this.rawIntro, context, {
|
||||
textOnly: true,
|
||||
})
|
||||
this.title = await renderContentCacheByContext('rawTitle')(this.rawTitle, context, {
|
||||
this.title = await renderContent(this.rawTitle, context, {
|
||||
textOnly: true,
|
||||
encodeEntities: true,
|
||||
})
|
||||
this.titlePlainText = await renderContentCacheByContext('titleText')(this.rawTitle, context, {
|
||||
this.titlePlainText = await renderContent(this.rawTitle, context, {
|
||||
textOnly: true,
|
||||
})
|
||||
this.shortTitle = await renderContentCacheByContext('shortTitle')(this.shortTitle, context, {
|
||||
this.shortTitle = await renderContent(this.shortTitle, context, {
|
||||
textOnly: true,
|
||||
encodeEntities: true,
|
||||
})
|
||||
|
@ -206,7 +190,7 @@ class Page {
|
|||
this.product_video = await renderContent(this.raw_product_video, context, { textOnly: true })
|
||||
|
||||
context.relativePath = this.relativePath
|
||||
const html = await renderContentCacheByContext('markdown')(this.markdown, context)
|
||||
const html = await renderContent(this.markdown, context)
|
||||
|
||||
// Adding communityRedirect for Discussions, Sponsors, and Codespaces - request from Product
|
||||
if (
|
||||
|
@ -223,15 +207,12 @@ class Page {
|
|||
|
||||
// product frontmatter may contain liquid
|
||||
if (this.rawProduct) {
|
||||
this.product = await renderContentCacheByContext('product')(this.rawProduct, context)
|
||||
this.product = await renderContent(this.rawProduct, context)
|
||||
}
|
||||
|
||||
// permissions frontmatter may contain liquid
|
||||
if (this.rawPermissions) {
|
||||
this.permissions = await renderContentCacheByContext('permissions')(
|
||||
this.rawPermissions,
|
||||
context
|
||||
)
|
||||
this.permissions = await renderContent(this.rawPermissions, context)
|
||||
}
|
||||
|
||||
// Learning tracks may contain Liquid and need to have versioning processed.
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче