From 5f2d621408f26ef4efa164bf8fbbad4b97f2d5d0 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 30 Nov 2021 16:47:32 -0500 Subject: [PATCH 1/8] make release-notes tests not depend on real network (#23196) Part of #1246 --- tests/routing/release-notes.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/routing/release-notes.js b/tests/routing/release-notes.js index df16f9332d..eae8f2d939 100644 --- a/tests/routing/release-notes.js +++ b/tests/routing/release-notes.js @@ -1,5 +1,7 @@ -import { get, getDOM } from '../helpers/supertest.js' import { jest } from '@jest/globals' +import nock from 'nock' + +import { get, getDOM } from '../helpers/supertest.js' jest.useFakeTimers('legacy') @@ -11,6 +13,17 @@ describe('release notes', () => { // advance to call out that problem specifically rather than misleadingly // attributing it to the first test await get('/') + + nock('https://github.github.com') + .get( + '/help-docs-archived-enterprise-versions/2.19/en/enterprise-server@2.19/admin/release-notes' + ) + .reply(404) + nock('https://github.github.com') + .get('/help-docs-archived-enterprise-versions/2.19/redirects.json') + .reply(200, { + emp: 'ty', + }) }) it('redirects to the release notes on enterprise.github.com if none are present for this version here', async () => { From 639debe22753f071446e20c2740643dbdbc256e9 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Tue, 30 Nov 2021 16:55:23 -0500 Subject: [PATCH 2/8] actions: update "understanding github actions" (#23201) * actions: update "understanding github actions" Take a refresh pass on the "understanding github actions" document, in order to reinforce our CI/CD messaging and definitions, and update the art with high-res illustrations. * Apply suggestions from code review Co-authored-by: Martin Lopes Co-authored-by: Martin Lopes Co-authored-by: jmarlena <6732600+jmarlena@users.noreply.github.com> --- .../help/images/overview-actions-event.png | Bin 20953 -> 47814 bytes .../help/images/overview-actions-simple.png | Bin 6575 -> 35614 bytes .../understanding-github-actions.md | 57 ++++++++++-------- data/reusables/actions/about-actions.md | 2 +- data/reusables/actions/about-runners.md | 2 +- 5 files changed, 34 insertions(+), 27 deletions(-) diff --git a/assets/images/help/images/overview-actions-event.png b/assets/images/help/images/overview-actions-event.png index 2f94aed8bfc398fe7709adc4eb99f4436fd17982..8aa97abc5df6347d6cf2d3c87d220c0875277c68 100644 GIT binary patch literal 47814 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 P`i#YC+f$Xld8hm@>)%xH literal 20953 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 f8|iLo>S>fAZNmNorMi)C diff --git a/assets/images/help/images/overview-actions-simple.png b/assets/images/help/images/overview-actions-simple.png index 00fbda89ae6a3a25431fcc1cd3848b335512adcd..b95e603ac692486bdf818d6febd486b06b1ff52f 100644 GIT binary patch literal 35614 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 z�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 3.3 or ghae-issue-4757 or ghec %}You can reference a workflow within another workflow, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)."{% endif %} +A workflow is a configurable automated process that will run one or more jobs. Workflows are defined by a YAML file checked in to your repository and will run when triggered by an event in your repository, or they can be triggered manually, or at a defined schedule. + +Your repository can have multiple workflows in a repository, each of which can perform a different set of steps. For example, you can have one workflow to build and test pull requests, another workflow to deploy your application every time a release is created, and still another workflow that adds a label every time someone opens a new issue. + +{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %}You can reference a workflow within another workflow, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)."{% endif %} ### Events -An event is a specific activity that triggers a workflow. For example, activity can originate from {% data variables.product.prodname_dotcom %} when someone pushes a commit to a repository or when an issue or pull request is created. You can also use the [repository dispatch webhook](/rest/reference/repos#create-a-repository-dispatch-event) to trigger a workflow when an external event occurs. For a complete list of events that can be used to trigger workflows, see [Events that trigger workflows](/actions/reference/events-that-trigger-workflows). +An event is a specific activity in a repository that triggers a workflow run. For example, activity can originate from {% data variables.product.prodname_dotcom %} when someone creates a pull request, opens an issue, or pushes a commit to a repository. You can also trigger a workflow run on a schedule, by [posting to a REST API](/rest/reference/repos#create-a-repository-dispatch-event), or manually. + +For a complete list of events that can be used to trigger workflows, see [Events that trigger workflows](/actions/reference/events-that-trigger-workflows). ### Jobs -A job is a set of steps that execute on the same runner. By default, a workflow with multiple jobs will run those jobs in parallel. You can also configure a workflow to run jobs sequentially. For example, a workflow can have two sequential jobs that build and test code, where the test job is dependent on the status of the build job. If the build job fails, the test job will not run. +A job is a set of _steps_ in a workflow that execute on the same runner. Each step is either a shell script that will be executed, or an _action_ that will be run. Steps are executed in order and are dependent on each other. Since each step is executed on the same runner, you can share data from one step to another. For example, you can have a step that builds your application followed by a step that tests the application that was built. -### Steps - -A step is an individual task that can run commands in a job. A step can be either an _action_ or a shell command. Each step in a job executes on the same runner, allowing the actions in that job to share data with each other. +You can configure a job's dependencies with other jobs; by default, jobs have no dependencies and run in parallel with each other. When a job takes a dependency on another job, it will wait for the dependent job to complete before it can run. For example, you may have multiple build jobs for different architectures that have no dependencies, and a packaging job that is dependent on those jobs. The build jobs will run in parallel, and when they have all completed successfully, the packaging job will run. ### Actions -_Actions_ are standalone commands that are combined into _steps_ to create a _job_. Actions are the smallest portable building block of a workflow. You can create your own actions, or use actions created by the {% data variables.product.prodname_dotcom %} community. To use an action in a workflow, you must include it as a step. +An _action_ is a custom application for the {% data variables.product.prodname_actions %} platform that performs a complex but frequently repeated task. Use an action to help reduce the amount of repetitive code that you write in your workflow files. An action can pull your git repository from {% data variables.product.prodname_dotcom %}, set up the correct toolchain for your build environment, or set up the authentication to your cloud provider. + +You can write your own actions, or you can find actions to use in your workflows in the {% data variables.product.prodname_marketplace %}. ### Runners -{% ifversion ghae %}A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. For {% data variables.product.prodname_ghe_managed %}, you can use the security hardened {% data variables.actions.hosted_runner %}s which are bundled with your instance in the cloud. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.actions.hosted_runner %}s run each workflow job in a fresh virtual environment. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." +{% ifversion ghae %} +{% data reusables.actions.about-runners %} For {% data variables.product.prodname_ghe_managed %}, you can use the security hardened {% data variables.actions.hosted_runner %}s that are bundled with your instance in the cloud. If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)." {% else %} -{% data reusables.actions.about-runners %} A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS, and each job in a workflow runs in a fresh virtual environment. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)." +{% data reusables.actions.about-runners %} Each runner can run a single job at a time. {% data variables.product.prodname_dotcom %} provides Ubuntu Linux, Microsoft Windows, and macOS runners to run your workflows; each workflow run executes in a fresh, newly-provisioned virtual machine. If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)." {% endif %} ## Create an example workflow -{% data variables.product.prodname_actions %} uses YAML syntax to define the events, jobs, and steps. These YAML files are stored in your code repository, in a directory called `.github/workflows`. +{% data variables.product.prodname_actions %} uses YAML syntax to define the workflow. Each workflow is stored as a separate YAML file in your code repository, in a directory called `.github/workflows`. You can create an example workflow in your repository that automatically triggers a series of commands whenever code is pushed. In this workflow, {% data variables.product.prodname_actions %} checks out the pushed code, installs the software dependencies, and runs `bats -v`. @@ -112,7 +119,7 @@ To help you understand how YAML syntax is used to create a workflow file, this s ``` - Specify the event that automatically triggers the workflow file. This example uses the push event, so that the jobs run every time someone pushes a change to the repository. You can set up the workflow to only run on certain branches, paths, or tags. For syntax examples including or excluding branches, paths, or tags, see "Workflow syntax for {% data variables.product.prodname_actions %}." +Specifies the trigger for this workflow. This example uses the push event, so a workflow run is triggered every time someone pushes a change to the repository or merges a pull request. This is triggered by a push to every branch; for examples of syntax that runs only on pushes to specific branches, paths, or tags, see "Workflow syntax for {% data variables.product.prodname_actions %}." @@ -123,7 +130,7 @@ To help you understand how YAML syntax is used to create a workflow file, this s ``` - Groups together all the jobs that run in the learn-github-actions workflow file. + Groups together all the jobs that run in the learn-github-actions workflow. @@ -134,7 +141,7 @@ To help you understand how YAML syntax is used to create a workflow file, this s ``` - Defines the name of the check-bats-version job stored within the jobs section. +Defines a job named check-bats-version. The child keys will define properties of the job. @@ -145,7 +152,7 @@ To help you understand how YAML syntax is used to create a workflow file, this s ``` - Configures the job to run on an Ubuntu Linux runner. This means that the job will execute on a fresh virtual machine hosted by GitHub. For syntax examples using other runners, see "Workflow syntax for {% data variables.product.prodname_actions %}." + Configures the job to run on the latest version of an Ubuntu Linux runner. This means that the job will execute on a fresh virtual machine hosted by GitHub. For syntax examples using other runners, see "Workflow syntax for {% data variables.product.prodname_actions %}." @@ -156,7 +163,7 @@ To help you understand how YAML syntax is used to create a workflow file, this s ``` - Groups together all the steps that run in the check-bats-version job. Each item nested under this section is a separate action or shell command. + Groups together all the steps that run in the check-bats-version job. Each item nested under this section is a separate action or shell script. @@ -167,7 +174,7 @@ To help you understand how YAML syntax is used to create a workflow file, this s ``` - The uses keyword tells the job to retrieve v2 of the community action named actions/checkout@v2. This is an action that checks out your repository and downloads it to the runner, allowing you to run actions against your code (such as testing tools). You must use the checkout action any time your workflow will run against the repository's code or you are using an action defined in the repository. +The uses keyword specifies that this step will run v2 of the actions/checkout action. This is an action that checks out your repository onto the runner, allowing you to run scripts or other actions against your code (such as build and test tools). You should use the checkout action any time your workflow will run against the repository's code. @@ -180,7 +187,7 @@ To help you understand how YAML syntax is used to create a workflow file, this s ``` - This step uses the actions/setup-node@v2 action to install the specified version of the node software package on the runner, which gives you access to the npm command. + This step uses the actions/setup-node@v2 action to install the specified version of the Node.js (this example uses v14). This puts both the node and npm commands in your PATH. @@ -209,13 +216,13 @@ To help you understand how YAML syntax is used to create a workflow file, this s ### Visualizing the workflow file -In this diagram, you can see the workflow file you just created and how the {% data variables.product.prodname_actions %} components are organized in a hierarchy. Each step executes a single action or shell command. Steps 1 and 2 use prebuilt community actions. Steps 3 and 4 run shell commands directly on the runner. To find more prebuilt actions for your workflows, see "[Finding and customizing actions](/actions/learn-github-actions/finding-and-customizing-actions)." +In this diagram, you can see the workflow file you just created and how the {% data variables.product.prodname_actions %} components are organized in a hierarchy. Each step executes a single action or shell script. Steps 1 and 2 run actions, while steps 3 and 4 run shell scripts. To find more prebuilt actions for your workflows, see "[Finding and customizing actions](/actions/learn-github-actions/finding-and-customizing-actions)." ![Workflow overview](/assets/images/help/images/overview-actions-event.png) -## Viewing the job's activity +## Viewing the workflow's activity -Once your job has started running, you can {% ifversion fpt or ghes > 3.0 or ghae or ghec %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. +Once your workflow has started running, you can {% ifversion fpt or ghes > 3.0 or ghae or ghec %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click **Actions**. diff --git a/data/reusables/actions/about-actions.md b/data/reusables/actions/about-actions.md index 04b25d13f2..995119f59d 100644 --- a/data/reusables/actions/about-actions.md +++ b/data/reusables/actions/about-actions.md @@ -1 +1 @@ -{% data variables.product.prodname_actions %} helps you automate tasks within your software development life cycle. +{% data variables.product.prodname_actions %} is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. diff --git a/data/reusables/actions/about-runners.md b/data/reusables/actions/about-runners.md index c39fcf6ebb..0b661b9ecf 100644 --- a/data/reusables/actions/about-runners.md +++ b/data/reusables/actions/about-runners.md @@ -1 +1 @@ -A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. You can use a runner hosted by {% data variables.product.prodname_dotcom %}, or you can host your own. \ No newline at end of file +A runner is a server that runs your workflows when they're triggered. From 3ca4b73bc4fd32c92890663c91e01f59ec26eaf3 Mon Sep 17 00:00:00 2001 From: Grace Park Date: Tue, 30 Nov 2021 14:02:30 -0800 Subject: [PATCH 3/8] update to bold instead of yellow highlighting (#23244) --- components/Search.module.scss | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/components/Search.module.scss b/components/Search.module.scss index 50644b1fe8..664a4e04b0 100644 --- a/components/Search.module.scss +++ b/components/Search.module.scss @@ -1,14 +1,11 @@ -/* TODO remove mark styling if https://github.com/primer/css/pull/1756 ships */ .resultsContainer mark { background: none; color: inherit; } .searchResultContent mark { - color: var(--color-fg-default); - background-color: var(--color-attention-subtle); + font-weight: bolder; } -/* end TODO */ .searchResultContent { max-height: 4rem; From 038fc886baae971b56027d913fd065a32a65cb06 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 30 Nov 2021 17:09:58 -0500 Subject: [PATCH 4/8] only run browser tests when JS is changing (#23080) * only run browser tests when JS is changing Part of #1246 * ugh typo * try this * tidying up --- .github/workflows/browser-test.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/browser-test.yml b/.github/workflows/browser-test.yml index b593c7870b..84628f35c5 100644 --- a/.github/workflows/browser-test.yml +++ b/.github/workflows/browser-test.yml @@ -10,6 +10,17 @@ on: branches: - main pull_request: + paths: + - '**.js' + - '**.mjs' + - '**.ts' + - '**.tsx' + - jest.config.js + - package.json + # In case something like eslint or tsc or prettier upgrades + - package-lock.json + # Ultimately, for debugging this workflow itself + - .github/workflows/browser-test.yml jobs: build: @@ -31,6 +42,11 @@ jobs: cache: npm - name: Install dependencies + env: + # This makes it so the puppeteer npm package doesn't bother + # to download a copy of chromium because it can use + # `$PUPPETEER_EXECUTABLE_PATH` from the ubuntu Action container. + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true run: npm ci --include=optional - name: Run browser-test From f07743f169cf3c7bc8f0d1742170713551b2b582 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Tue, 30 Nov 2021 14:44:17 -0800 Subject: [PATCH 5/8] Delete yml-lint.yml (#23225) --- .github/workflows/yml-lint.yml | 37 ---------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 .github/workflows/yml-lint.yml diff --git a/.github/workflows/yml-lint.yml b/.github/workflows/yml-lint.yml deleted file mode 100644 index 0964979042..0000000000 --- a/.github/workflows/yml-lint.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Lint Yaml - -# **What it does**: This lints our yaml files in the docs repository. -# **Why we have it**: We want some level of consistent formatting for YAML files. -# **Who does it impact**: Docs engineering, docs content. - -on: - workflow_dispatch: - push: - branches: - - main - paths: - - '**/*.yml' - - '**/*.yaml' - pull_request: - paths: - - '**/*.yml' - - '**/*.yaml' - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - name: Check out repo - uses: actions/checkout@1e204e9a9253d643386038d443f96446fa156a97 - - - name: Setup node - uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c - with: - node-version: 16.13.x - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Run linter - run: npx prettier -c "**/*.{yml,yaml}" From 29f8e80e71617ccd24f3d1a2a7e150bdc8f908af Mon Sep 17 00:00:00 2001 From: Grace Park Date: Tue, 30 Nov 2021 16:08:49 -0800 Subject: [PATCH 6/8] HomePage Component Updates (#23251) * separaet out into homepage components * remove unnecessary translation * update component names --- components/Search.module.scss | 1 + components/homepage/HomePageHero.tsx | 32 +++++ components/homepage/ProductSelectionCard.tsx | 86 ++++++++++++ components/homepage/ProductSelections.tsx | 20 +++ pages/[versionId]/index.tsx | 4 +- pages/index.tsx | 137 ++----------------- 6 files changed, 152 insertions(+), 128 deletions(-) create mode 100644 components/homepage/HomePageHero.tsx create mode 100644 components/homepage/ProductSelectionCard.tsx create mode 100644 components/homepage/ProductSelections.tsx diff --git a/components/Search.module.scss b/components/Search.module.scss index 664a4e04b0..47d7d749af 100644 --- a/components/Search.module.scss +++ b/components/Search.module.scss @@ -1,4 +1,5 @@ .resultsContainer mark { + font-weight: bolder; background: none; color: inherit; } diff --git a/components/homepage/HomePageHero.tsx b/components/homepage/HomePageHero.tsx new file mode 100644 index 0000000000..09cfc5b6cb --- /dev/null +++ b/components/homepage/HomePageHero.tsx @@ -0,0 +1,32 @@ +import { Search } from 'components/Search' +import { OctocatHeader } from 'components/landing/OctocatHeader' +import { useTranslation } from 'components/hooks/useTranslation' + +export const HomePageHero = () => { + const { t } = useTranslation(['search']) + + return ( +
+ {/* eslint-disable-next-line jsx-a11y/no-autofocus */} + + {({ SearchInput, SearchResults }) => { + return ( +
+
+
+ +
+
+

{t('search:need_help')}

+ {SearchInput} +
+
+ +
{SearchResults}
+
+ ) + }} +
+
+ ) +} diff --git a/components/homepage/ProductSelectionCard.tsx b/components/homepage/ProductSelectionCard.tsx new file mode 100644 index 0000000000..a72e4dd9c5 --- /dev/null +++ b/components/homepage/ProductSelectionCard.tsx @@ -0,0 +1,86 @@ +import { ProductT, ProductGroupT, useMainContext } from 'components/context/MainContext' + +import React from 'react' +import { useRouter } from 'next/router' +import { useVersion } from 'components/hooks/useVersion' +import { Link } from 'components/Link' +import * as Octicons from '@primer/octicons-react' + +type ProductSelectionCardProps = { + name: string + group: ProductGroupT +} + +export const ProductSelectionCard = ({ name, group }: ProductSelectionCardProps) => { + const router = useRouter() + const { currentVersion } = useVersion() + const { isFPT } = useMainContext() + + function href(product: ProductT) { + return `${!product.external ? `/${router.locale}` : ''}${ + product.versions?.includes(currentVersion) && !isFPT + ? `/${currentVersion}/${product.id}` + : product.href + }` + } + + const groupIcon = { + height: '22px', + } + + function showProduct(product: ProductT) { + return isFPT || product.versions?.includes(currentVersion) || product.external + } + + function icon(group: ProductGroupT) { + if (group.icon) { + return ( +
+ {group.name} +
+ ) + } else if (group.octicon) { + const octicon: React.FunctionComponent = ( + Octicons as { [name: string]: React.FunctionComponent } + )[group.octicon] as React.FunctionComponent + + return ( +
+ {React.createElement(octicon, groupIcon as React.Attributes, null)} +
+ ) + } + } + + return ( +
+
+
+ {icon(group)} + +
+

{name}

+
+
+ +
+
    + {group.children.map((product) => { + if (!showProduct(product)) { + return null + } + + return ( +
  • + + {product.name} + +
  • + ) + })} +
+
+
+
+ ) +} diff --git a/components/homepage/ProductSelections.tsx b/components/homepage/ProductSelections.tsx new file mode 100644 index 0000000000..08cf89df88 --- /dev/null +++ b/components/homepage/ProductSelections.tsx @@ -0,0 +1,20 @@ +import { useMainContext } from 'components/context/MainContext' + +import React from 'react' +import { ProductSelectionCard } from './ProductSelectionCard' + +export const ProductSelections = () => { + const { productGroups } = useMainContext() + + return ( +
+
+
+ {productGroups.map((group) => { + return + })} +
+
+
+ ) +} diff --git a/pages/[versionId]/index.tsx b/pages/[versionId]/index.tsx index 209201d14a..7e27354506 100644 --- a/pages/[versionId]/index.tsx +++ b/pages/[versionId]/index.tsx @@ -1,4 +1,4 @@ -import LandingPage from '../index' +import HomePage from '../index' export { getServerSideProps } from '../index' -export default LandingPage +export default HomePage diff --git a/pages/index.tsx b/pages/index.tsx index 7ef3eaf0cf..e3b00cc927 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,24 +1,13 @@ import { GetServerSideProps } from 'next' -import { - MainContextT, - MainContext, - getMainContext, - useMainContext, - ProductT, - ProductGroupT, -} from 'components/context/MainContext' +import { MainContextT, MainContext, getMainContext } from 'components/context/MainContext' import React from 'react' import { DefaultLayout } from 'components/DefaultLayout' import { useTranslation } from 'components/hooks/useTranslation' -import { useVersion } from 'components/hooks/useVersion' -import { useRouter } from 'next/router' -import { OctocatHeader } from 'components/landing/OctocatHeader' import { ArticleList } from 'components/landing/ArticleList' -import { Search } from 'components/Search' -import { Link } from 'components/Link' -import * as Octicons from '@primer/octicons-react' +import { HomePageHero } from 'components/homepage/HomePageHero' +import { ProductSelections } from 'components/homepage/ProductSelections' type FeaturedLink = { href: string @@ -31,133 +20,29 @@ type Props = { popularLinks: Array gettingStartedLinks: Array } -export default function MainLanding({ mainContext, gettingStartedLinks, popularLinks }: Props) { + +export default function MainHomePage({ mainContext, gettingStartedLinks, popularLinks }: Props) { return ( - + ) } -type LandingPageProps = { +type HomePageProps = { popularLinks: Array gettingStartedLinks: Array } -function LandingPage(props: LandingPageProps) { - const router = useRouter() +function HomePage(props: HomePageProps) { const { gettingStartedLinks, popularLinks } = props - const { productGroups, isFPT } = useMainContext() - const { currentVersion } = useVersion() - const { t } = useTranslation(['homepage', 'search', 'toc']) - - function showProduct(product: ProductT) { - return isFPT || product.versions?.includes(currentVersion) || product.external - } - - function href(product: ProductT) { - return `${!product.external ? `/${router.locale}` : ''}${ - product.versions?.includes(currentVersion) && !isFPT - ? `/${currentVersion}/${product.id}` - : product.href - }` - } - - const groupIcon = { - height: '22px', - } - - function icon(group: ProductGroupT) { - if (group.icon) { - return ( -
- {group.name} -
- ) - } else if (group.octicon) { - const octicon: React.FunctionComponent = ( - Octicons as { [name: string]: React.FunctionComponent } - )[group.octicon] as React.FunctionComponent - - return ( -
- {React.createElement(octicon, groupIcon as React.Attributes, null)} -
- ) - } - } + const { t } = useTranslation(['toc']) return (
- {/* */} -
- {/* eslint-disable-next-line jsx-a11y/no-autofocus */} - - {({ SearchInput, SearchResults }) => { - return ( -
-
-
- -
-
-

{t('search:need_help')}

- {SearchInput} -
-
- -
{SearchResults}
-
- ) - }} -
-
- - {/* */} -
-
-
- {productGroups.map((group) => { - return ( -
-
-
- {icon(group)} - -
-

{group.name}

-
-
- -
-
    - {group.children.map((product) => { - if (!showProduct(product)) { - return null - } - - return ( -
  • - - {product.name} - -
  • - ) - })} -
-
-
-
- ) - })} -
-
-
- + +
From ae22e18a9aca967eed0f6f8b3abbbff99ae00ebb Mon Sep 17 00:00:00 2001 From: Robert Sese Date: Tue, 30 Nov 2021 18:16:03 -0600 Subject: [PATCH 7/8] Use ActionList for ArticleList (#23252) * Use ActionList under the hood for ArticleList * Update components/landing/ArticleList.tsx --- components/landing/ArticleList.tsx | 81 ++++++++++++++++-------------- 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/components/landing/ArticleList.tsx b/components/landing/ArticleList.tsx index 95c2a94937..fbdb7f1c2e 100644 --- a/components/landing/ArticleList.tsx +++ b/components/landing/ArticleList.tsx @@ -1,5 +1,6 @@ import cx from 'classnames' import dayjs from 'dayjs' +import { ActionList } from '@primer/components' import { Link } from 'components/Link' import { ArrowRightIcon } from '@primer/octicons-react' @@ -27,45 +28,49 @@ export const ArticleList = ({ title, viewAllHref, articles }: ArticleListPropsT)
)} -
    - {articles.map((link) => { - return ( -
  • - - - - } - > - {!link.hideIntro && link.intro && ( - - - - )} - {link.date && ( - - )} - -
  • - ) + { + return { + renderItem: () => ( + + + + + } + > + {!link.hideIntro && link.intro && ( + + + + )} + {link.date && ( + + )} + + + ), + } })} -
+ > ) } From 5d329edf527824850cf5fec3b290c402b0b72e02 Mon Sep 17 00:00:00 2001 From: Marcelo Jacobus Date: Tue, 30 Nov 2021 21:35:28 -0300 Subject: [PATCH 8/8] Change ownership of files (#23249) --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index db05b0a3d5..edbeb50b42 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -16,9 +16,11 @@ package-lock.json @github/docs-engineering package.json @github/docs-engineering # Localization +/.github/workflows/create-translation-batch-pr.yml @github/docs-localization /.github/workflows/crowdin.yml @github/docs-localization /crowdin*.yml @github/docs-engineering @github/docs-localization /translations/ @github/docs-engineering @github/docs-localization @github-actions +/translations/log/ @github/docs-localization # Site Policy /content/github/site-policy/ @github/site-policy-admins