From 7571818ae6cc09c9a0d22cf5e66d49da98eaeb0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sass=20B=C3=A1lint?= Date: Tue, 10 Nov 2020 15:51:08 +0100 Subject: [PATCH 01/39] [add] force push --- .../removing-sensitive-data-from-a-repository.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md b/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md index 96185410bb..42d7ef1a00 100644 --- a/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md +++ b/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md @@ -40,6 +40,12 @@ To replace all text listed in `passwords.txt` wherever it can be found in your r $ bfg --replace-text passwords.txt ``` +At the end, force push the changes: + +```shell +$ git push --force +``` + See the [BFG Repo-Cleaner](http://rtyley.github.io/bfg-repo-cleaner/)'s documentation for full usage and download instructions. #### Using filter-branch From 3a1ecd715b2f0b0d0b556439e5ac2c17781f715b Mon Sep 17 00:00:00 2001 From: Shohei Ueda <30958501+peaceiris@users.noreply.github.com> Date: Fri, 13 Nov 2020 15:53:50 +0900 Subject: [PATCH 02/39] Add GitHub Pages Action Add the GitHub Pages Action which is listed at the Actions topic as same as softprops/action-gh-release peaceiris/actions-gh-pages: https://github.com/peaceiris/actions-gh-pages - GitHub Actions for GitHub Pages: Deploy static files and publish your site easily. Static-Site-Generators-friendly. Actions topic: https://github.com/topics/actions --- data/variables/action_code_examples.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data/variables/action_code_examples.yml b/data/variables/action_code_examples.yml index 8b2cfe23e4..048cb87207 100644 --- a/data/variables/action_code_examples.yml +++ b/data/variables/action_code_examples.yml @@ -294,3 +294,9 @@ - monorepo - copybara - workflow +- title: Deploy static files to GitHub Pages + description: GitHub Action to publish website to GitHub Pages automatically + languages: 'TypeScript, JavaScript' + href: peaceiris/actions-gh-pages + tags: + - publishing From c98ed3a159999519ea5998a69b7917fde7843f0e Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Sun, 6 Dec 2020 20:43:33 -0500 Subject: [PATCH 03/39] add enterprise release list middleware --- middleware/enterprise-releases.js | 8 ++++++++ middleware/index.js | 1 + 2 files changed, 9 insertions(+) create mode 100644 middleware/enterprise-releases.js diff --git a/middleware/enterprise-releases.js b/middleware/enterprise-releases.js new file mode 100644 index 0000000000..9d931a7f8f --- /dev/null +++ b/middleware/enterprise-releases.js @@ -0,0 +1,8 @@ +const { liquid } = require('../lib/render-content') +const layouts = require('../lib/layouts') + +module.exports = async (req, res, next) => { + if (!req.path.endsWith('/enterprise-releases')) return next() + + return res.send(await liquid.parseAndRender(layouts['enterprise-releases'], req.context)) +} diff --git a/middleware/index.js b/middleware/index.js index 1d3958a96f..01cb0db3e8 100644 --- a/middleware/index.js +++ b/middleware/index.js @@ -73,6 +73,7 @@ module.exports = function (app) { app.use(require('./contextualizers/rest')) app.use(require('./contextualizers/webhooks')) app.use(require('./breadcrumbs')) + app.use(require('./enterprise-releases')) app.use(require('./dev-toc')) app.use(require('./featured-links')) From 4806c740a7f9c32a4c0b551b99eb5719f9e1cc0a Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Sun, 6 Dec 2020 20:44:01 -0500 Subject: [PATCH 04/39] add a new layout with a list of enterprise server releases, both supported and deprecated --- layouts/enterprise-releases.html | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 layouts/enterprise-releases.html diff --git a/layouts/enterprise-releases.html b/layouts/enterprise-releases.html new file mode 100644 index 0000000000..17b97e63e0 --- /dev/null +++ b/layouts/enterprise-releases.html @@ -0,0 +1,46 @@ + + + {% include head %} + + + {% include sidebar %} + +
+
+
+
+ +
+ +
+
+

Enterprise Server Releases

+
+
+
+

Currently supported

+ +

Deprecated

+

These docs remain available but are no longer maintained:

+ + {% include support %} + {% include small-footer %} +
+
+
+
+ +
+ + From 89748da0551dd7efba9e81ef403177deee42f80b Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Sun, 6 Dec 2020 20:44:29 -0500 Subject: [PATCH 05/39] link to the new enterprise releases page --- includes/article-version-switcher.html | 2 +- includes/article.html | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/includes/article-version-switcher.html b/includes/article-version-switcher.html index 96b1732a3a..62a5caa0f7 100644 --- a/includes/article-version-switcher.html +++ b/includes/article-version-switcher.html @@ -1,5 +1,5 @@ {% if page.permalinks and page.permalinks.length > 1 %} -
+
{% data ui.pages.article_version %} {{ allVersions[currentVersion].versionTitle }} diff --git a/includes/article.html b/includes/article.html index 3920419c6b..072f2ca8c8 100644 --- a/includes/article.html +++ b/includes/article.html @@ -5,7 +5,10 @@
{% include breadcrumbs %}
-
{% include article-version-switcher %}
+
+ {% include article-version-switcher %} + +
From f966af7a156c4eb47712e4cd3b12bc0536b36b95 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Sun, 6 Dec 2020 20:44:56 -0500 Subject: [PATCH 06/39] add new arrays to exported module --- lib/enterprise-server-releases.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/enterprise-server-releases.js b/lib/enterprise-server-releases.js index 1c1ffcaae8..f746f7998a 100644 --- a/lib/enterprise-server-releases.js +++ b/lib/enterprise-server-releases.js @@ -44,6 +44,8 @@ const lastVersionWithoutStubbedRedirectFiles = '2.17' // last version using paths like /enterprise/////
// instead of /enterprise-server@///
const lastReleaseWithLegacyFormat = '2.18' +const deprecatedReleasesWithLegacyFormat = deprecated.filter(version => versionSatisfiesRange(version, `<=2.18`)) +const deprecatedReleasesWithNewFormat = deprecated.filter(version => versionSatisfiesRange(version, '>2.18')) module.exports = { supported, @@ -57,5 +59,7 @@ module.exports = { dates, firstVersionDeprecatedOnNewSite, lastVersionWithoutStubbedRedirectFiles, - lastReleaseWithLegacyFormat + lastReleaseWithLegacyFormat, + deprecatedReleasesWithLegacyFormat, + deprecatedReleasesWithNewFormat } From 17b21b6ec3913a31be2d576638ea62f70f2d43f0 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Sun, 6 Dec 2020 21:01:05 -0500 Subject: [PATCH 07/39] lint --- lib/enterprise-server-releases.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/enterprise-server-releases.js b/lib/enterprise-server-releases.js index f746f7998a..6674dc3d86 100644 --- a/lib/enterprise-server-releases.js +++ b/lib/enterprise-server-releases.js @@ -44,7 +44,7 @@ const lastVersionWithoutStubbedRedirectFiles = '2.17' // last version using paths like /enterprise/////
// instead of /enterprise-server@///
const lastReleaseWithLegacyFormat = '2.18' -const deprecatedReleasesWithLegacyFormat = deprecated.filter(version => versionSatisfiesRange(version, `<=2.18`)) +const deprecatedReleasesWithLegacyFormat = deprecated.filter(version => versionSatisfiesRange(version, '<=2.18')) const deprecatedReleasesWithNewFormat = deprecated.filter(version => versionSatisfiesRange(version, '>2.18')) module.exports = { From 5362d8b672f71c277897ee18bf7fb7e1f11ba454 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Mon, 7 Dec 2020 16:44:32 -0500 Subject: [PATCH 08/39] move Enterprise release link into article versions dropdown --- includes/article-version-switcher.html | 1 + includes/article.html | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/includes/article-version-switcher.html b/includes/article-version-switcher.html index 62a5caa0f7..87fd86abf6 100644 --- a/includes/article-version-switcher.html +++ b/includes/article-version-switcher.html @@ -14,6 +14,7 @@ > {{ allVersions[permalink.pageVersion].versionTitle }} {% endfor %} + See all Enterprise releases
{% endif %} diff --git a/includes/article.html b/includes/article.html index 072f2ca8c8..3920419c6b 100644 --- a/includes/article.html +++ b/includes/article.html @@ -5,10 +5,7 @@
{% include breadcrumbs %}
-
- {% include article-version-switcher %} - -
+
{% include article-version-switcher %}
From da51ae2a053a4acaec64b9d1db0f379f966977ed Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Dec 2020 10:00:14 -0500 Subject: [PATCH 09/39] remove border --- includes/article-version-switcher.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/article-version-switcher.html b/includes/article-version-switcher.html index 87fd86abf6..2c75407b61 100644 --- a/includes/article-version-switcher.html +++ b/includes/article-version-switcher.html @@ -14,7 +14,7 @@ > {{ allVersions[permalink.pageVersion].versionTitle }} {% endfor %} - See all Enterprise releases + See all Enterprise releases
{% endif %} From 64c59fbf3e283789162ae88033fc65cd356d5495 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Dec 2020 10:13:13 -0500 Subject: [PATCH 10/39] add UI text to data so it can be localized --- data/ui.yml | 6 ++++++ layouts/enterprise-releases.html | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/data/ui.yml b/data/ui.yml index d144567335..05bf6ae346 100644 --- a/data/ui.yml +++ b/data/ui.yml @@ -66,6 +66,12 @@ contribution_cta: button: Make a contribution or: Or, to_guidelines: learn how to contribute. +enterprise_releases_list: + title: Enterprise Server Releases + currently_supported: Currently supported + currently_supported_message: See GitHub Enterprise for more information. + deprecated: Deprecated + deprecated_message: 'These docs remain available but are no longer maintained:' products: graphql: reference: diff --git a/layouts/enterprise-releases.html b/layouts/enterprise-releases.html index 17b97e63e0..533c171c13 100644 --- a/layouts/enterprise-releases.html +++ b/layouts/enterprise-releases.html @@ -14,18 +14,19 @@
-

Enterprise Server Releases

+

{% data ui.enterprise_releases_list.title %}

-

Currently supported

+

{% data ui.enterprise_releases_list.currently_supported %}

+

{% data ui.enterprise_releases_list.currently_supported_message %}

-

Deprecated

-

These docs remain available but are no longer maintained:

+

{% data ui.enterprise_releases_list.deprecated %}

+

{% data ui.enterprise_releases_list.deprecated_message %}

    {% for version in enterpriseServerReleases.deprecatedReleasesWithNewFormat %}
  • Enterprise Server {{version}}
  • From c52a9ba1ef28a275fcf3e1e0ef5103a82efb8839 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Dec 2020 10:15:23 -0500 Subject: [PATCH 11/39] rename page to enterprise-server-releases --- includes/article-version-switcher.html | 2 +- ...terprise-releases.html => enterprise-server-releases.html} | 0 middleware/enterprise-releases.js | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) rename layouts/{enterprise-releases.html => enterprise-server-releases.html} (100%) diff --git a/includes/article-version-switcher.html b/includes/article-version-switcher.html index 2c75407b61..aeb34582b2 100644 --- a/includes/article-version-switcher.html +++ b/includes/article-version-switcher.html @@ -14,7 +14,7 @@ > {{ allVersions[permalink.pageVersion].versionTitle }} {% endfor %} - See all Enterprise releases + See all Enterprise releases
{% endif %} diff --git a/layouts/enterprise-releases.html b/layouts/enterprise-server-releases.html similarity index 100% rename from layouts/enterprise-releases.html rename to layouts/enterprise-server-releases.html diff --git a/middleware/enterprise-releases.js b/middleware/enterprise-releases.js index 9d931a7f8f..7cca6c248d 100644 --- a/middleware/enterprise-releases.js +++ b/middleware/enterprise-releases.js @@ -2,7 +2,7 @@ const { liquid } = require('../lib/render-content') const layouts = require('../lib/layouts') module.exports = async (req, res, next) => { - if (!req.path.endsWith('/enterprise-releases')) return next() + if (!req.path.endsWith('/enterprise-server-releases')) return next() - return res.send(await liquid.parseAndRender(layouts['enterprise-releases'], req.context)) + return res.send(await liquid.parseAndRender(layouts['enterprise-server-releases'], req.context)) } From 3ca261ac821485b5a6c7dd6729af59da0c0964fc Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Dec 2020 10:38:39 -0500 Subject: [PATCH 12/39] add Developer deprecated docs to the list and also add a mini-toc --- data/ui.yml | 4 +++- layouts/enterprise-server-releases.html | 23 ++++++++++++++++--- lib/enterprise-server-releases.js | 4 +++- ...eases.js => enterprise-server-releases.js} | 5 ++++ middleware/index.js | 2 +- 5 files changed, 32 insertions(+), 6 deletions(-) rename middleware/{enterprise-releases.js => enterprise-server-releases.js} (59%) diff --git a/data/ui.yml b/data/ui.yml index 05bf6ae346..f6fb7d07ca 100644 --- a/data/ui.yml +++ b/data/ui.yml @@ -69,9 +69,11 @@ contribution_cta: enterprise_releases_list: title: Enterprise Server Releases currently_supported: Currently supported - currently_supported_message: See GitHub Enterprise for more information. + currently_supported_message: See GitHub Enterprise for information about the latest release. deprecated: Deprecated deprecated_message: 'These docs remain available but are no longer maintained:' + deprecated_developer: Deprecated on developer.github.com + deprecated_developer_message: 'These docs remain available on the legacy developer site but are no longer maintained:' products: graphql: reference: diff --git a/layouts/enterprise-server-releases.html b/layouts/enterprise-server-releases.html index 533c171c13..f4cec49988 100644 --- a/layouts/enterprise-server-releases.html +++ b/layouts/enterprise-server-releases.html @@ -8,7 +8,7 @@
-
+
@@ -17,15 +17,27 @@

{% data ui.enterprise_releases_list.title %}

+
+
+ {% if miniTocItems.size > 1 %} +

{% data ui.pages.miniToc %}

+
    + {% for item in miniTocItems %} +
  • {{ item.contents }}
  • + {% endfor %} +
+ {% endif %} +
+
-

{% data ui.enterprise_releases_list.currently_supported %}

+

{% data ui.enterprise_releases_list.currently_supported %}

{% data ui.enterprise_releases_list.currently_supported_message %}

-

{% data ui.enterprise_releases_list.deprecated %}

+

{% data ui.enterprise_releases_list.deprecated %}

{% data ui.enterprise_releases_list.deprecated_message %}

+

{% data ui.enterprise_releases_list.deprecated_developer %}

+

{% data ui.enterprise_releases_list.deprecated_developer_message %}

+ {% for version in enterpriseServerReleases.deprecatedReleasesOnDeveloperSite %} +
  • Enterprise Server {{version}}
  • + {% endfor %} {% include support %} {% include small-footer %}
    diff --git a/lib/enterprise-server-releases.js b/lib/enterprise-server-releases.js index 6674dc3d86..a5c5c6f09a 100644 --- a/lib/enterprise-server-releases.js +++ b/lib/enterprise-server-releases.js @@ -46,6 +46,7 @@ const lastVersionWithoutStubbedRedirectFiles = '2.17' const lastReleaseWithLegacyFormat = '2.18' const deprecatedReleasesWithLegacyFormat = deprecated.filter(version => versionSatisfiesRange(version, '<=2.18')) const deprecatedReleasesWithNewFormat = deprecated.filter(version => versionSatisfiesRange(version, '>2.18')) +const deprecatedReleasesOnDeveloperSite = deprecated.filter(version => versionSatisfiesRange(version, '<=2.16')) module.exports = { supported, @@ -61,5 +62,6 @@ module.exports = { lastVersionWithoutStubbedRedirectFiles, lastReleaseWithLegacyFormat, deprecatedReleasesWithLegacyFormat, - deprecatedReleasesWithNewFormat + deprecatedReleasesWithNewFormat, + deprecatedReleasesOnDeveloperSite } diff --git a/middleware/enterprise-releases.js b/middleware/enterprise-server-releases.js similarity index 59% rename from middleware/enterprise-releases.js rename to middleware/enterprise-server-releases.js index 7cca6c248d..a3f331d97c 100644 --- a/middleware/enterprise-releases.js +++ b/middleware/enterprise-server-releases.js @@ -1,8 +1,13 @@ const { liquid } = require('../lib/render-content') const layouts = require('../lib/layouts') +const getMiniTocItems = require('../lib/get-mini-toc-items') module.exports = async (req, res, next) => { if (!req.path.endsWith('/enterprise-server-releases')) return next() + const html = await liquid.parseAndRender(layouts['enterprise-server-releases'], req.context) + + req.context.miniTocItems = getMiniTocItems(html) + return res.send(await liquid.parseAndRender(layouts['enterprise-server-releases'], req.context)) } diff --git a/middleware/index.js b/middleware/index.js index 01cb0db3e8..b133f3283e 100644 --- a/middleware/index.js +++ b/middleware/index.js @@ -73,7 +73,7 @@ module.exports = function (app) { app.use(require('./contextualizers/rest')) app.use(require('./contextualizers/webhooks')) app.use(require('./breadcrumbs')) - app.use(require('./enterprise-releases')) + app.use(require('./enterprise-server-releases')) app.use(require('./dev-toc')) app.use(require('./featured-links')) From afb30d2d985968cb3747e105bd2d800031efb96d Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Dec 2020 10:45:28 -0500 Subject: [PATCH 13/39] add a final else for displaying a title if no page.fullTitle --- includes/head.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/head.html b/includes/head.html index 27e957bc54..aae0ee2a4b 100644 --- a/includes/head.html +++ b/includes/head.html @@ -1,6 +1,6 @@ - {% if error == '404' %}{% data ui.errors.oops %}{% elsif currentVersion == 'homepage' %}GitHub Documentation{% else %}{{ page.fullTitle }}{% endif %} + {% if error == '404' %}{% data ui.errors.oops %}{% elsif currentVersion == 'homepage' %}GitHub Documentation{% elsif page.fullTitle %}{{ page.fullTitle }}{% else %}GitHub Documentation{% endif %} {% if page.hidden %} {% endif %} From a4f24446540b54e54b22e47c185bfd91f3b29777 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Dec 2020 13:38:37 -0500 Subject: [PATCH 14/39] new Explorer layout with iFrame --- content/graphql/overview/explorer.md | 2 +- layouts/graphql-explorer.html | 33 +++++++++++++++++++++++++++ middleware/contextualizers/graphql.js | 1 - 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 layouts/graphql-explorer.html diff --git a/content/graphql/overview/explorer.md b/content/graphql/overview/explorer.md index f87b12b44e..74540b78a4 100644 --- a/content/graphql/overview/explorer.md +++ b/content/graphql/overview/explorer.md @@ -7,6 +7,6 @@ versions: free-pro-team: '*' enterprise-server: '*' github-ae: '*' +layout: graphql-explorer --- -You can access GitHub's GraphQL Explorer at https://developer.github.com/v4/explorer. diff --git a/layouts/graphql-explorer.html b/layouts/graphql-explorer.html new file mode 100644 index 0000000000..3ce7663241 --- /dev/null +++ b/layouts/graphql-explorer.html @@ -0,0 +1,33 @@ + + + {% include head %} + + + {% include sidebar %} + +
    + {% include header %} + +
    +
    +
    +
    + {% include breadcrumbs %} +
    +
    + +
    +
    + +
    +
    +
    +
    + + {% include support %} + {% include small-footer %} +
    + + diff --git a/middleware/contextualizers/graphql.js b/middleware/contextualizers/graphql.js index 34fffaf1e2..b5a1f7cc20 100644 --- a/middleware/contextualizers/graphql.js +++ b/middleware/contextualizers/graphql.js @@ -4,7 +4,6 @@ const changelog = require('../../lib/graphql/static/changelog') const prerenderedObjects = require('../../lib/graphql/static/prerendered-objects') const allVersions = require('../../lib/all-versions') -// TODO do we need to support staging? https://graphql-stage.github.com/explorer const explorerUrl = process.env.NODE_ENV === 'production' ? 'https://graphql.github.com/explorer' : 'http://localhost:3000' From 97891bf48a0ad8f979152f49758f26579b47d2da Mon Sep 17 00:00:00 2001 From: Martin Lopes <54248166+martin389@users.noreply.github.com> Date: Thu, 10 Dec 2020 13:22:07 +1000 Subject: [PATCH 15/39] Explain risks of org and enterprise level self-hosted runners (#16583) * Added notes about risks of self-hosted runners * Apply suggestions from code review Co-authored-by: Lucas Costi * Apply suggestions from code review Co-authored-by: Lucas Costi --- .../security-hardening-for-github-actions.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/content/actions/learn-github-actions/security-hardening-for-github-actions.md b/content/actions/learn-github-actions/security-hardening-for-github-actions.md index 00afdd7c2b..418711ff42 100644 --- a/content/actions/learn-github-actions/security-hardening-for-github-actions.md +++ b/content/actions/learn-github-actions/security-hardening-for-github-actions.md @@ -54,6 +54,8 @@ This means that a compromise of a single action within a workflow can be very si **Warning:** The short version of the commit SHA is insecure and should never be used for specifying an action's Git reference. Because of how repository networks work, any user can fork the repository and push a crafted commit to it that collides with the short SHA. This causes subsequent clones at that SHA to fail because it becomes an ambiguous commit. As a result, any workflows that use the shortened SHA will immediately fail. {% endwarning %} + + * **Audit the source code of the action** Ensure that the action is handling the content of your repository and secrets as expected. For example, check that secrets are not sent to unintended hosts, or are not inadvertently logged. @@ -92,10 +94,14 @@ This list describes the recommended approaches for accessing repository data wit As a result, self-hosted runners should almost [never be used for public repositories](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories) on {% data variables.product.product_name %}, because any user can open pull requests against the repository and compromise the environment. Similarly, be cautious when using self-hosted runners on private repositories, as anyone who can fork the repository and open a PR (generally those with read-access to the repository) are able to compromise the self-hosted runner environment, including gaining access to secrets and the more privileged `GITHUB_TOKEN` which grants write-access permissions on the repository. +When a self-hosted runner is defined at the organization or enterprise level, {% data variables.product.product_name %} can schedule workflows from multiple repositories onto the same runner. Consequently, a security compromise of these environments can result in a wide impact. To help reduce the scope of a compromise, you can create boundaries by organizing your self-hosted runners into separate groups. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)." + You should also consider the environment of the self-hosted runner machines: - What sensitive information resides on the machine configured as a self-hosted runner? For example, private SSH keys, API access tokens, among others. - Does the machine have network access to sensitive services? For example, Azure or AWS metadata services. The amount of sensitive information in this environment should be kept to a minimum, and you should always be mindful that any user capable of invoking workflows has access to this environment. +Some customers might attempt to partially mitigate these risks by implementing systems that automatically destroy the self-hosted runner after each job execution. However, this approach might not be as effective as intended, as there is no way to guarantee that a self-hosted runner only runs one job. + ### Auditing {% data variables.product.prodname_actions %} events You can use the audit log to monitor administrative tasks in an organization. The audit log records the type of action, when it was run, and which user account performed the action. @@ -132,5 +138,3 @@ The following tables describe the {% data variables.product.prodname_actions %} | `action:org.runner_group_renamed` | Triggered when an organization admin renames a self-hosted runner group. | `action:org.runner_group_runners_added` | Triggered when an organization admin [adds a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). | `action:org.runner_group_runners_removed` | Triggered when an organization admin removes a self-hosted runner from a group. - - From 3160079f5151a6082403b0ec829027cc0e53909f Mon Sep 17 00:00:00 2001 From: Chiedo John <2156688+chiedo@users.noreply.github.com> Date: Thu, 10 Dec 2020 09:21:49 -0500 Subject: [PATCH 16/39] Run the stall check every 2 hours (#16864) Co-authored-by: Chiedo --- .github/workflows/repo-sync-stalls.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/repo-sync-stalls.yml b/.github/workflows/repo-sync-stalls.yml index fb605313c3..8b4f19ab20 100644 --- a/.github/workflows/repo-sync-stalls.yml +++ b/.github/workflows/repo-sync-stalls.yml @@ -2,7 +2,7 @@ name: Repo Sync Stalls on: workflow_dispatch: schedule: - - cron: '*/30 * * * *' + - cron: '0 */2 * * *' jobs: check-freezer: name: Check for deployment freezes From aaca067a3b9d50fcfeeca83aa1092ca90949bf81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sass=20B=C3=A1lint?= Date: Thu, 10 Dec 2020 18:03:39 +0100 Subject: [PATCH 17/39] Update content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md Co-authored-by: Laura Coursen --- .../removing-sensitive-data-from-a-repository.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md b/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md index 42d7ef1a00..1c2be329e8 100644 --- a/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md +++ b/content/github/authenticating-to-github/removing-sensitive-data-from-a-repository.md @@ -40,7 +40,7 @@ To replace all text listed in `passwords.txt` wherever it can be found in your r $ bfg --replace-text passwords.txt ``` -At the end, force push the changes: +After the sensitive data is removed, you must force push your changes to {% data variables.product.product_name %}. ```shell $ git push --force From bf62d3121d3d762800df284823d375ed8a22e829 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Thu, 10 Dec 2020 12:07:01 -0500 Subject: [PATCH 18/39] Algolia requires an H1 title --- layouts/graphql-explorer.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/layouts/graphql-explorer.html b/layouts/graphql-explorer.html index 3ce7663241..23fe4cc7eb 100644 --- a/layouts/graphql-explorer.html +++ b/layouts/graphql-explorer.html @@ -15,6 +15,8 @@ {% include breadcrumbs %} + +

    {{ page.title }}

    From 7d474b4141c65d96fbeb0747efb7278629c79773 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Thu, 10 Dec 2020 12:07:14 -0500 Subject: [PATCH 19/39] attempt to fix CSP content blocked issue --- middleware/csp.js | 1 + 1 file changed, 1 insertion(+) diff --git a/middleware/csp.js b/middleware/csp.js index 647448e928..e9d2cdb677 100644 --- a/middleware/csp.js +++ b/middleware/csp.js @@ -38,6 +38,7 @@ module.exports = async (req, res, next) => { ], frameSrc: [ // exceptions for GraphQL Explorer 'https://graphql-explorer.githubapp.com', // production env + 'https://graphql.github.com/', 'http://localhost:3000', // development env 'https://www.youtube-nocookie.com' ], From 788d39f0adf80bb3cac320da66718eebd88a80b3 Mon Sep 17 00:00:00 2001 From: Chiedo John <2156688+chiedo@users.noreply.github.com> Date: Thu, 10 Dec 2020 12:53:07 -0500 Subject: [PATCH 20/39] Try and get reposync branch updated on a cron (#16866) Get repo sync updated on a cron as some extra hardening Co-authored-by: Chiedo Co-authored-by: James M. Greene --- .../autoupdate-repo-sync-branch-on-cron.yml | 14 ++++++++++++++ .github/workflows/repo-sync.yml | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/autoupdate-repo-sync-branch-on-cron.yml diff --git a/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml b/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml new file mode 100644 index 0000000000..c2aac2f4f4 --- /dev/null +++ b/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml @@ -0,0 +1,14 @@ +name: autoupdate reposync branch on cron +on: + schedule: + - cron: '*/5 * * * *' + autoupdate: + name: autoupdate + runs-on: ubuntu-18.04 + steps: + - uses: docker://chinthakagodawita/autoupdate-action:v1 + env: + GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} + PR_FILTER: labelled + PR_LABELS: 'automated-reposync-pr' + MERGE_MSG: "Branch was updated using the 'autoupdate reposync branch on cron' Actions workflow." diff --git a/.github/workflows/repo-sync.yml b/.github/workflows/repo-sync.yml index 298eab5668..1788af7f96 100644 --- a/.github/workflows/repo-sync.yml +++ b/.github/workflows/repo-sync.yml @@ -52,7 +52,7 @@ jobs: destination_branch: main pr_title: 'repo sync' pr_body: "This is an automated pull request to sync changes between the public and private repos.\n\n:robot: This pull request should be merged (not squashed) to preserve continuity across repos, so please let a bot do the merging!" - pr_label: automerge,autoupdate + pr_label: automerge,autoupdate,automated-reposync-pr github_token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} - name: Find pull request From c0663d4977ec99adbd1bcf660403e24aa80348db Mon Sep 17 00:00:00 2001 From: Chiedo John <2156688+chiedo@users.noreply.github.com> Date: Thu, 10 Dec 2020 13:21:39 -0500 Subject: [PATCH 21/39] Fix .github/workflows/autoupdate-repo-sync-branch-on-cron.yml (#16876) Fix Repo Sync Auto Updater Co-authored-by: Chiedo --- .../autoupdate-repo-sync-branch-on-cron.yml | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml b/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml index c2aac2f4f4..cfe2543058 100644 --- a/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml +++ b/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml @@ -2,13 +2,14 @@ name: autoupdate reposync branch on cron on: schedule: - cron: '*/5 * * * *' - autoupdate: - name: autoupdate - runs-on: ubuntu-18.04 - steps: - - uses: docker://chinthakagodawita/autoupdate-action:v1 - env: - GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} - PR_FILTER: labelled - PR_LABELS: 'automated-reposync-pr' - MERGE_MSG: "Branch was updated using the 'autoupdate reposync branch on cron' Actions workflow." + jobs: + autoupdate: + name: autoupdate + runs-on: ubuntu-18.04 + steps: + - uses: docker://chinthakagodawita/autoupdate-action:v1 + env: + GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} + PR_FILTER: labelled + PR_LABELS: 'automated-reposync-pr' + MERGE_MSG: "Branch was updated using the 'autoupdate reposync branch on cron' Actions workflow." From f44d5aa648317f204e3b5ea6a2833b7d9ac6545c Mon Sep 17 00:00:00 2001 From: Vanessa Yuen <6842965+vanessayuenn@users.noreply.github.com> Date: Thu, 10 Dec 2020 19:37:06 +0100 Subject: [PATCH 22/39] Add VS Code debugger config (#16819) * add config for using vscode debugger reference: https://github.com/Microsoft/vscode-recipes/tree/master/nodemon * some docs Co-authored-by: Kevin Heis --- .vscode/launch.json | 13 +++++++++++++ contributing/development.md | 12 ++++++++++++ package.json | 1 + 3 files changed, 26 insertions(+) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000000..e7265cc1f8 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "attach", + "name": "Node: Nodemon", + "processId": "${command:PickProcess}", + "restart": true, + "protocol": "inspector", + }, + ] +} \ No newline at end of file diff --git a/contributing/development.md b/contributing/development.md index 9a2c34ed2c..439e75d8c5 100644 --- a/contributing/development.md +++ b/contributing/development.md @@ -32,6 +32,18 @@ As an alternative, you can simply use [GitHub Codespaces](https://github.com/fea In a matter of minutes, you will be ready to edit, preview and test your changes directly from the comfort of your browser. +### Debugging with VS Code + +This repo has configuration for debugging with VS Code's built-in Node Debugger. + +1. After running the build steps, start the app by running `npm run debug`. +2. In VS Code, click on the Debugging icon in the Activity Bar to bring up the Debug view. +3. In the Debug View, select the **'Node: Nodemon'** configuration, then press F5 or click the green play button. You should see all of your running node processes. +4. Select the node process that's started with the `--inspect` flag. +5. Debugger has now been attached. Enjoy! + +For more detailed instructions, please see this [VS Code recipe](https://github.com/Microsoft/vscode-recipes/tree/master/nodemon). You can also learn more about debugging using VS Code [here](https://code.visualstudio.com/docs/editor/debugging). + ### Viewing a top-level table of contents While running the local server, you can visit [localhost:4000/dev-toc](http://localhost:4000/dev-toc) to view a top-level TOC of all the content in the site. This page is not available on https://docs.github.com. It was created for internal GitHub writers' use. diff --git a/package.json b/package.json index 545de58826..312235cd88 100644 --- a/package.json +++ b/package.json @@ -150,6 +150,7 @@ "scripts": { "start": "cross-env NODE_ENV=development ENABLED_LANGUAGES='en,ja' nodemon server.js", "dev": "npm start", + "debug": "cross-env NODE_ENV=development ENABLED_LANGUAGES='en,ja' nodemon --inspect server.js", "rest-dev": "script/rest/update-files.js && npm run dev", "build": "cross-env NODE_ENV=production npx webpack --mode production", "start-all-languages": "cross-env NODE_ENV=development nodemon server.js", From 3418d1cd0fdebefd6b48a7721b755f554a4a5154 Mon Sep 17 00:00:00 2001 From: Chiedo John <2156688+chiedo@users.noreply.github.com> Date: Thu, 10 Dec 2020 14:11:09 -0500 Subject: [PATCH 23/39] Fix indentation (#16879) Co-authored-by: Chiedo --- .../autoupdate-repo-sync-branch-on-cron.yml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml b/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml index cfe2543058..4d4bb57307 100644 --- a/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml +++ b/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml @@ -2,14 +2,14 @@ name: autoupdate reposync branch on cron on: schedule: - cron: '*/5 * * * *' - jobs: - autoupdate: - name: autoupdate - runs-on: ubuntu-18.04 - steps: - - uses: docker://chinthakagodawita/autoupdate-action:v1 - env: - GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} - PR_FILTER: labelled - PR_LABELS: 'automated-reposync-pr' - MERGE_MSG: "Branch was updated using the 'autoupdate reposync branch on cron' Actions workflow." +jobs: + autoupdate: + name: autoupdate + runs-on: ubuntu-18.04 + steps: + - uses: docker://chinthakagodawita/autoupdate-action:v1 + env: + GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} + PR_FILTER: labelled + PR_LABELS: 'automated-reposync-pr' + MERGE_MSG: "Branch was updated using the 'autoupdate reposync branch on cron' Actions workflow." From 152477aaea51b3dbee758e6b37474dd54e22f95b Mon Sep 17 00:00:00 2001 From: zara <54415598+zaralogue@users.noreply.github.com> Date: Thu, 10 Dec 2020 11:33:15 -0800 Subject: [PATCH 24/39] Update finding-discussions-across-multiple-repositories.md changed instruction text to direct user to click on "Your discussions" instead of "Your enterprises" --- .../guides/finding-discussions-across-multiple-repositories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/discussions/guides/finding-discussions-across-multiple-repositories.md b/content/discussions/guides/finding-discussions-across-multiple-repositories.md index 9b3d3d2873..aadd23b6e9 100644 --- a/content/discussions/guides/finding-discussions-across-multiple-repositories.md +++ b/content/discussions/guides/finding-discussions-across-multiple-repositories.md @@ -10,7 +10,7 @@ versions: ### Finding discussions 1. Navigate to {% data variables.product.prodname_dotcom_the_website %}. -1. In the top-right corner of {% data variables.product.prodname_dotcom_the_website %}, click your profile photo, then click **Your enterprises**. +1. In the top-right corner of {% data variables.product.prodname_dotcom_the_website %}, click your profile photo, then click **Your discussions**. !["Your discussions" in drop-down menu for profile photo on {% data variables.product.product_name %}](/assets/images/help/discussions/your-discussions.png) 1. Toggle between **Created** and **Commented** to see the discussions you've created or participated in. From e520e4cef8424a53083963dfcd1acab69901fafe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Dec 2020 19:55:19 +0000 Subject: [PATCH 25/39] Bump ini from 1.3.5 to 1.3.7 (#16870) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: James M. Greene --- package-lock.json | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index e4cee8054d..08dc7ee35e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11508,12 +11508,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "optional": true }, - "ini": { - "version": "1.3.5", - "resolved": false, - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "optional": true - }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": false, @@ -13005,9 +12999,9 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" }, "inline-style-parser": { "version": "0.1.1", From 591b539f20e768b02c965a9235c978adbe161333 Mon Sep 17 00:00:00 2001 From: ajs256 <67526318+ajs256@users.noreply.github.com> Date: Thu, 10 Dec 2020 12:05:51 -0800 Subject: [PATCH 26/39] Clarify CODEOWNERS syntax exceptions (#1551) * Fix #1407 Say that a CODEOWNERS file follows most, but not all, gitignore syntax rules * More updates See https://github.com/github/docs/issues/1407#issuecomment-741943838 * Fix link syntax oops! * Update content/github/creating-cloning-and-archiving-repositories/about-code-owners.md Co-authored-by: hubwriter Co-authored-by: hubwriter --- .../about-code-owners.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/content/github/creating-cloning-and-archiving-repositories/about-code-owners.md b/content/github/creating-cloning-and-archiving-repositories/about-code-owners.md index 732c404318..fb66821ca2 100644 --- a/content/github/creating-cloning-and-archiving-repositories/about-code-owners.md +++ b/content/github/creating-cloning-and-archiving-repositories/about-code-owners.md @@ -39,9 +39,9 @@ For code owners to receive review requests, the CODEOWNERS file must be on the b ### CODEOWNERS syntax -A CODEOWNERS file uses a pattern that follows the same rules used in [gitignore](https://git-scm.com/docs/gitignore#_pattern_format) files. The pattern is followed by one or more {% data variables.product.prodname_dotcom %} usernames or team names using the standard `@username` or `@org/team-name` format. You can also refer to a user by an email address that has been added to their {% data variables.product.product_name %} account, for example `user@example.com`. +A CODEOWNERS file uses a pattern that follows most of the same rules used in [gitignore](https://git-scm.com/docs/gitignore#_pattern_format) files, with [some exceptions](#syntax-exceptions). The pattern is followed by one or more {% data variables.product.prodname_dotcom %} usernames or team names using the standard `@username` or `@org/team-name` format. You can also refer to a user by an email address that has been added to their {% data variables.product.product_name %} account, for example `user@example.com`. -If any line in your CODEOWNERS file contains invalid syntax, the file will not be detected and will not be used to request reviews. Invalid syntax includes inline comments and user or team names that do not exist on {% data variables.product.product_name %}. +If any line in your CODEOWNERS file contains invalid syntax, the file will not be detected and will not be used to request reviews. #### Example of a CODEOWNERS file ``` # This is a comment. @@ -83,6 +83,13 @@ apps/ @octocat # subdirectories. /docs/ @doctocat ``` +#### Syntax exceptions +There are some syntax rules for gitignore files that do not work in CODEOWNERS files: +- Escaping a pattern starting with `#` using `\` so it is treated as a pattern and not a comment +- Using `!` to negate a pattern +- Using `[ ]` to define a character range + + ### Further reading From ca04ba60a07243fa456673ef87963a31a5c3533e Mon Sep 17 00:00:00 2001 From: Chiedo John <2156688+chiedo@users.noreply.github.com> Date: Thu, 10 Dec 2020 15:14:55 -0500 Subject: [PATCH 27/39] Make sure the check always passes (#16885) Make sure the check always passes Co-authored-by: Chiedo --- .github/workflows/confirm-internal-staff-work-in-docs.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/confirm-internal-staff-work-in-docs.yml b/.github/workflows/confirm-internal-staff-work-in-docs.yml index fc1d3ea024..b01755192e 100644 --- a/.github/workflows/confirm-internal-staff-work-in-docs.yml +++ b/.github/workflows/confirm-internal-staff-work-in-docs.yml @@ -17,7 +17,8 @@ jobs: continue-on-error: true if: github.repository == 'github/docs' steps: - - uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 + - id: membership_check + uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 with: github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }} script: | @@ -61,10 +62,10 @@ jobs: body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/docs-internal repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks! \n\n/cc @github/docs @github/docs-engineering` }); - throw new Error('A Hubber opened an issue on the public github/docs repo'); + core.setOutput('did_warn', 'true') - name: Send Slack notification if a GitHub employee who isn't on the docs team opens an issue in public - if: ${{ failure() && github.repository == 'github/docs' }} + if: ${{ steps.membership_check.outputs.did_warn && github.repository == 'github/docs' }} uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd with: channel: ${{ secrets.DOCS_OPEN_SOURCE_SLACK_CHANNEL_ID }} From 73f3a97714397e4c3f427fc2bb7be76c3554e91f Mon Sep 17 00:00:00 2001 From: Chiedo John <2156688+chiedo@users.noreply.github.com> Date: Thu, 10 Dec 2020 15:43:38 -0500 Subject: [PATCH 28/39] Remove autoupdate cron for repo sync (#16890) The autoupdate action apparently does not support running on crons Co-authored-by: Chiedo --- .../autoupdate-repo-sync-branch-on-cron.yml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/autoupdate-repo-sync-branch-on-cron.yml diff --git a/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml b/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml deleted file mode 100644 index 4d4bb57307..0000000000 --- a/.github/workflows/autoupdate-repo-sync-branch-on-cron.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: autoupdate reposync branch on cron -on: - schedule: - - cron: '*/5 * * * *' -jobs: - autoupdate: - name: autoupdate - runs-on: ubuntu-18.04 - steps: - - uses: docker://chinthakagodawita/autoupdate-action:v1 - env: - GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} - PR_FILTER: labelled - PR_LABELS: 'automated-reposync-pr' - MERGE_MSG: "Branch was updated using the 'autoupdate reposync branch on cron' Actions workflow." From fead78930ffa7896582e4f00186e4e464e7ec3ec Mon Sep 17 00:00:00 2001 From: github-openapi-bot <69533958+github-openapi-bot@users.noreply.github.com> Date: Fri, 11 Dec 2020 12:10:45 -0500 Subject: [PATCH 29/39] Updating OpenAPI descriptions (#16778) Co-authored-by: Sarah Edwards --- lib/rest/static/decorated/api.github.com.json | 12 ++++++------ lib/rest/static/decorated/ghes-2.18.json | 8 ++++---- lib/rest/static/decorated/ghes-2.19.json | 8 ++++---- lib/rest/static/decorated/ghes-2.20.json | 8 ++++---- lib/rest/static/decorated/ghes-2.21.json | 8 ++++---- lib/rest/static/decorated/ghes-2.22.json | 8 ++++---- lib/rest/static/decorated/github.ae.json | 8 ++++---- .../static/dereferenced/api.github.com.deref.json | 4 +++- lib/rest/static/dereferenced/ghes-2.18.deref.json | 2 +- lib/rest/static/dereferenced/ghes-2.19.deref.json | 2 +- lib/rest/static/dereferenced/ghes-2.20.deref.json | 2 +- lib/rest/static/dereferenced/ghes-2.21.deref.json | 2 +- lib/rest/static/dereferenced/ghes-2.22.deref.json | 2 +- lib/rest/static/dereferenced/github.ae.deref.json | 2 +- 14 files changed, 39 insertions(+), 37 deletions(-) diff --git a/lib/rest/static/decorated/api.github.com.json b/lib/rest/static/decorated/api.github.com.json index f5234c81cc..dc05a83d45 100644 --- a/lib/rest/static/decorated/api.github.com.json +++ b/lib/rest/static/decorated/api.github.com.json @@ -49098,11 +49098,11 @@ }, "base_tree": { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } }, @@ -49302,11 +49302,11 @@ }, { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } ] @@ -80855,7 +80855,7 @@ "httpStatusCode": "200", "httpStatusMessage": "OK", "description": "Default response", - "payload": "
    [\n  {\n    \"billing_cycle\": \"monthly\",\n    \"next_billing_date\": \"2017-11-11T00:00:00Z\",\n    \"unit_count\": null,\n    \"on_free_trial\": true,\n    \"free_trial_ends_on\": \"2017-11-11T00:00:00Z\",\n    \"updated_at\": \"2017-11-02T01:12:12Z\",\n    \"account\": {\n      \"login\": \"github\",\n      \"id\": 4,\n      \"url\": \"https://api.github.com/orgs/github\",\n      \"email\": null,\n      \"organization_billing_email\": \"billing@github.com\",\n      \"type\": \"Organization\"\n    },\n    \"plan\": {\n      \"url\": \"https://api.github.com/marketplace_listing/plans/1313\",\n      \"accounts_url\": \"https://api.github.com/marketplace_listing/plans/1313/accounts\",\n      \"id\": 1313,\n      \"number\": 3,\n      \"name\": \"Pro\",\n      \"description\": \"A professional-grade CI solution\",\n      \"monthly_price_in_cents\": 1099,\n      \"yearly_price_in_cents\": 11870,\n      \"price_model\": \"flat-rate\",\n      \"has_free_trial\": true,\n      \"unit_name\": null,\n      \"state\": \"published\",\n      \"bullets\": [\n        \"Up to 25 private repositories\",\n        \"11 concurrent builds\"\n      ]\n    }\n  }\n]\n
    " + "payload": "
    [\n  {\n    \"billing_cycle\": \"monthly\",\n    \"next_billing_date\": \"2017-11-11T00:00:00Z\",\n    \"unit_count\": null,\n    \"on_free_trial\": true,\n    \"free_trial_ends_on\": \"2017-11-11T00:00:00Z\",\n    \"updated_at\": \"2017-11-02T01:12:12Z\",\n    \"account\": {\n      \"login\": \"github\",\n      \"id\": 4,\n      \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjE=\",\n      \"url\": \"https://api.github.com/orgs/github\",\n      \"email\": null,\n      \"organization_billing_email\": \"billing@github.com\",\n      \"type\": \"Organization\"\n    },\n    \"plan\": {\n      \"url\": \"https://api.github.com/marketplace_listing/plans/1313\",\n      \"accounts_url\": \"https://api.github.com/marketplace_listing/plans/1313/accounts\",\n      \"id\": 1313,\n      \"number\": 3,\n      \"name\": \"Pro\",\n      \"description\": \"A professional-grade CI solution\",\n      \"monthly_price_in_cents\": 1099,\n      \"yearly_price_in_cents\": 11870,\n      \"price_model\": \"flat-rate\",\n      \"has_free_trial\": true,\n      \"unit_name\": null,\n      \"state\": \"published\",\n      \"bullets\": [\n        \"Up to 25 private repositories\",\n        \"11 concurrent builds\"\n      ]\n    }\n  }\n]\n
    " }, { "httpStatusCode": "304", @@ -80942,7 +80942,7 @@ "httpStatusCode": "200", "httpStatusMessage": "OK", "description": "Default response", - "payload": "
    [\n  {\n    \"billing_cycle\": \"monthly\",\n    \"next_billing_date\": \"2017-11-11T00:00:00Z\",\n    \"unit_count\": null,\n    \"on_free_trial\": true,\n    \"free_trial_ends_on\": \"2017-11-11T00:00:00Z\",\n    \"updated_at\": \"2017-11-02T01:12:12Z\",\n    \"account\": {\n      \"login\": \"github\",\n      \"id\": 4,\n      \"url\": \"https://api.github.com/orgs/github\",\n      \"email\": null,\n      \"organization_billing_email\": \"billing@github.com\",\n      \"type\": \"Organization\"\n    },\n    \"plan\": {\n      \"url\": \"https://api.github.com/marketplace_listing/plans/1313\",\n      \"accounts_url\": \"https://api.github.com/marketplace_listing/plans/1313/accounts\",\n      \"id\": 1313,\n      \"number\": 3,\n      \"name\": \"Pro\",\n      \"description\": \"A professional-grade CI solution\",\n      \"monthly_price_in_cents\": 1099,\n      \"yearly_price_in_cents\": 11870,\n      \"price_model\": \"flat-rate\",\n      \"has_free_trial\": true,\n      \"unit_name\": null,\n      \"state\": \"published\",\n      \"bullets\": [\n        \"Up to 25 private repositories\",\n        \"11 concurrent builds\"\n      ]\n    }\n  }\n]\n
    " + "payload": "
    [\n  {\n    \"billing_cycle\": \"monthly\",\n    \"next_billing_date\": \"2017-11-11T00:00:00Z\",\n    \"unit_count\": null,\n    \"on_free_trial\": true,\n    \"free_trial_ends_on\": \"2017-11-11T00:00:00Z\",\n    \"updated_at\": \"2017-11-02T01:12:12Z\",\n    \"account\": {\n      \"login\": \"github\",\n      \"id\": 4,\n      \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjE=\",\n      \"url\": \"https://api.github.com/orgs/github\",\n      \"email\": null,\n      \"organization_billing_email\": \"billing@github.com\",\n      \"type\": \"Organization\"\n    },\n    \"plan\": {\n      \"url\": \"https://api.github.com/marketplace_listing/plans/1313\",\n      \"accounts_url\": \"https://api.github.com/marketplace_listing/plans/1313/accounts\",\n      \"id\": 1313,\n      \"number\": 3,\n      \"name\": \"Pro\",\n      \"description\": \"A professional-grade CI solution\",\n      \"monthly_price_in_cents\": 1099,\n      \"yearly_price_in_cents\": 11870,\n      \"price_model\": \"flat-rate\",\n      \"has_free_trial\": true,\n      \"unit_name\": null,\n      \"state\": \"published\",\n      \"bullets\": [\n        \"Up to 25 private repositories\",\n        \"11 concurrent builds\"\n      ]\n    }\n  }\n]\n
    " }, { "httpStatusCode": "304", diff --git a/lib/rest/static/decorated/ghes-2.18.json b/lib/rest/static/decorated/ghes-2.18.json index d10bcdb33c..8cd77fe5b1 100644 --- a/lib/rest/static/decorated/ghes-2.18.json +++ b/lib/rest/static/decorated/ghes-2.18.json @@ -34324,11 +34324,11 @@ }, "base_tree": { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } }, @@ -34528,11 +34528,11 @@ }, { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } ] diff --git a/lib/rest/static/decorated/ghes-2.19.json b/lib/rest/static/decorated/ghes-2.19.json index e254f94730..953c6ba88a 100644 --- a/lib/rest/static/decorated/ghes-2.19.json +++ b/lib/rest/static/decorated/ghes-2.19.json @@ -34983,11 +34983,11 @@ }, "base_tree": { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } }, @@ -35187,11 +35187,11 @@ }, { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } ] diff --git a/lib/rest/static/decorated/ghes-2.20.json b/lib/rest/static/decorated/ghes-2.20.json index b5889ea988..7212ad4f3f 100644 --- a/lib/rest/static/decorated/ghes-2.20.json +++ b/lib/rest/static/decorated/ghes-2.20.json @@ -35450,11 +35450,11 @@ }, "base_tree": { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } }, @@ -35654,11 +35654,11 @@ }, { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } ] diff --git a/lib/rest/static/decorated/ghes-2.21.json b/lib/rest/static/decorated/ghes-2.21.json index 6af3cf0431..c305a65fd1 100644 --- a/lib/rest/static/decorated/ghes-2.21.json +++ b/lib/rest/static/decorated/ghes-2.21.json @@ -39099,11 +39099,11 @@ }, "base_tree": { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } }, @@ -39303,11 +39303,11 @@ }, { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } ] diff --git a/lib/rest/static/decorated/ghes-2.22.json b/lib/rest/static/decorated/ghes-2.22.json index 2a22ddf102..5b4f9ed054 100644 --- a/lib/rest/static/decorated/ghes-2.22.json +++ b/lib/rest/static/decorated/ghes-2.22.json @@ -46564,11 +46564,11 @@ }, "base_tree": { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } }, @@ -46768,11 +46768,11 @@ }, { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } ] diff --git a/lib/rest/static/decorated/github.ae.json b/lib/rest/static/decorated/github.ae.json index b57c96c290..09c762b704 100644 --- a/lib/rest/static/decorated/github.ae.json +++ b/lib/rest/static/decorated/github.ae.json @@ -36969,11 +36969,11 @@ }, "base_tree": { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } }, @@ -37173,11 +37173,11 @@ }, { "type": "string", - "description": "

    The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.

    ", + "description": "

    The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.

    ", "name": "base_tree", "in": "body", "rawType": "string", - "rawDescription": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "rawDescription": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n", "childParamsGroups": [] } ] diff --git a/lib/rest/static/dereferenced/api.github.com.deref.json b/lib/rest/static/dereferenced/api.github.com.deref.json index 7dbc79d269..82f8b97418 100644 --- a/lib/rest/static/dereferenced/api.github.com.deref.json +++ b/lib/rest/static/dereferenced/api.github.com.deref.json @@ -155506,7 +155506,7 @@ }, "base_tree": { "type": "string", - "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" } }, "required": [ @@ -270539,6 +270539,7 @@ "account": { "login": "github", "id": 4, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", "url": "https://api.github.com/orgs/github", "email": null, "organization_billing_email": "billing@github.com", @@ -270852,6 +270853,7 @@ "account": { "login": "github", "id": 4, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", "url": "https://api.github.com/orgs/github", "email": null, "organization_billing_email": "billing@github.com", diff --git a/lib/rest/static/dereferenced/ghes-2.18.deref.json b/lib/rest/static/dereferenced/ghes-2.18.deref.json index 476aa57a33..f4adb36abf 100644 --- a/lib/rest/static/dereferenced/ghes-2.18.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.18.deref.json @@ -110376,7 +110376,7 @@ }, "base_tree": { "type": "string", - "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" } }, "required": [ diff --git a/lib/rest/static/dereferenced/ghes-2.19.deref.json b/lib/rest/static/dereferenced/ghes-2.19.deref.json index 24c6a057fb..2a8e02c5c3 100644 --- a/lib/rest/static/dereferenced/ghes-2.19.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.19.deref.json @@ -113552,7 +113552,7 @@ }, "base_tree": { "type": "string", - "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" } }, "required": [ diff --git a/lib/rest/static/dereferenced/ghes-2.20.deref.json b/lib/rest/static/dereferenced/ghes-2.20.deref.json index 7e7bac75ea..17dc4216de 100644 --- a/lib/rest/static/dereferenced/ghes-2.20.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.20.deref.json @@ -114769,7 +114769,7 @@ }, "base_tree": { "type": "string", - "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" } }, "required": [ diff --git a/lib/rest/static/dereferenced/ghes-2.21.deref.json b/lib/rest/static/dereferenced/ghes-2.21.deref.json index 1c3be8a440..e3fb6ebdd8 100644 --- a/lib/rest/static/dereferenced/ghes-2.21.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.21.deref.json @@ -124029,7 +124029,7 @@ }, "base_tree": { "type": "string", - "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" } }, "required": [ diff --git a/lib/rest/static/dereferenced/ghes-2.22.deref.json b/lib/rest/static/dereferenced/ghes-2.22.deref.json index b89d584129..1f96fa42c2 100644 --- a/lib/rest/static/dereferenced/ghes-2.22.deref.json +++ b/lib/rest/static/dereferenced/ghes-2.22.deref.json @@ -145204,7 +145204,7 @@ }, "base_tree": { "type": "string", - "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" } }, "required": [ diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index f72cf1c7b8..0c149da495 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -118183,7 +118183,7 @@ }, "base_tree": { "type": "string", - "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" } }, "required": [ From 1af45e459589c3ce629da68057d14b6b312bdafb Mon Sep 17 00:00:00 2001 From: Hyang-Ah Hana Kim Date: Fri, 11 Dec 2020 12:23:14 -0500 Subject: [PATCH 30/39] Update the supported Language/platforms list The default image supports now more languages and platforms. https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux --- .../configuring-codespaces-for-your-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md b/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md index bae90e2db4..fe07347683 100644 --- a/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md +++ b/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md @@ -15,7 +15,7 @@ versions: {% data reusables.codespaces.about-configuration %} -If you don't define a configuration in your repository, {% data variables.product.prodname_dotcom %} creates a codespace with a base Linux image. The base Linux image includes tools for Node.js, JavaScript, TypeScript, Python, C++, Java, C#, .NET Core, PHP, and PowerShell. For more information about the base Linux image, see the [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux) repository. +If you don't define a configuration in your repository, {% data variables.product.prodname_dotcom %} creates a codespace with a base Linux image. The base Linux image includes tools for Python, Node.js, JavaScript, TypeScript, C++, Java, C#, F#, .NET Core, PHP, PowerShell, Go, Ruby, Rust. For more information about the base Linux image, see the [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux) repository. {% data reusables.codespaces.about-personalization %} {% data reusables.codespaces.codespace-config-order %} For more information, see "[Personalizing {% data variables.product.prodname_codespaces %} for your account](/github/developing-online-with-codespaces/personalizing-codespaces-for-your-account)." From 7a3ee5885753fd6e2ff959dbe7d46058204c28da Mon Sep 17 00:00:00 2001 From: Hyang-Ah Hana Kim Date: Fri, 11 Dec 2020 12:31:57 -0500 Subject: [PATCH 31/39] Update configuring-codespaces-for-your-project.md --- .../configuring-codespaces-for-your-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md b/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md index fe07347683..07781dde1b 100644 --- a/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md +++ b/content/github/developing-online-with-codespaces/configuring-codespaces-for-your-project.md @@ -15,7 +15,7 @@ versions: {% data reusables.codespaces.about-configuration %} -If you don't define a configuration in your repository, {% data variables.product.prodname_dotcom %} creates a codespace with a base Linux image. The base Linux image includes tools for Python, Node.js, JavaScript, TypeScript, C++, Java, C#, F#, .NET Core, PHP, PowerShell, Go, Ruby, Rust. For more information about the base Linux image, see the [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux) repository. +If you don't define a configuration in your repository, {% data variables.product.prodname_dotcom %} creates a codespace with a base Linux image. The base Linux image includes tools for Python, Node.js, JavaScript, TypeScript, C++, Java, C#, F#, .NET Core, PHP, PowerShell, Go, Ruby, and Rust. For more information about the base Linux image, see the [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux) repository. {% data reusables.codespaces.about-personalization %} {% data reusables.codespaces.codespace-config-order %} For more information, see "[Personalizing {% data variables.product.prodname_codespaces %} for your account](/github/developing-online-with-codespaces/personalizing-codespaces-for-your-account)." From eaf2a67fa1efffec524a13bd83fde0ca075f2260 Mon Sep 17 00:00:00 2001 From: Jason Etcovitch Date: Fri, 11 Dec 2020 13:13:18 -0500 Subject: [PATCH 32/39] Use connectDatadog(e) (#16888) * npm i connect-datadog * Add connectDatadog middleware * Add comments * Use DD_API_KEY to gate Co-authored-by: Chiedo John <2156688+chiedo@users.noreply.github.com> --- middleware/connect-datadog.js | 8 ++++++++ middleware/index.js | 5 +++++ package-lock.json | 30 ++++++++++++++++++++++++------ package.json | 1 + 4 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 middleware/connect-datadog.js diff --git a/middleware/connect-datadog.js b/middleware/connect-datadog.js new file mode 100644 index 0000000000..f17821d4c1 --- /dev/null +++ b/middleware/connect-datadog.js @@ -0,0 +1,8 @@ +const connectDatadog = require('connect-datadog') +const statsd = require('../lib/statsd') + +module.exports = connectDatadog({ + dogstatsd: statsd, + method: true, // Track HTTP methods (GET, POST, etc) + response_code: true // Track response codes +}) diff --git a/middleware/index.js b/middleware/index.js index 596e52324a..7996e9f547 100644 --- a/middleware/index.js +++ b/middleware/index.js @@ -14,6 +14,11 @@ module.exports = function (app) { app.use(require('morgan')('dev', { skip: (req, res) => !isDevelopment })) if (isDevelopment) app.use(require('./webpack')) + // *** Observability *** + if (process.env.DD_API_KEY) { + app.use(require('./connect-datadog')) + } + // *** Early exits *** // Don't use the proxy's IP, use the requester's for rate limiting // See https://expressjs.com/en/guide/behind-proxies.html diff --git a/package-lock.json b/package-lock.json index 08dc7ee35e..53465f4809 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5271,7 +5271,7 @@ }, "agentkeepalive": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", + "resolved": "http://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" }, "aggregate-error": { @@ -5417,7 +5417,7 @@ "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", "requires": { "sprintf-js": "~1.0.2" } @@ -6794,7 +6794,7 @@ }, "brfs": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "resolved": "http://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", "requires": { "quote-stream": "^1.0.1", @@ -7769,6 +7769,24 @@ "xdg-basedir": "^4.0.0" } }, + "connect-datadog": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/connect-datadog/-/connect-datadog-0.0.9.tgz", + "integrity": "sha512-CThcRgy6AAStdBRsrNdneeJkEuH0/2G1QanYFfl0F+ZkbQaRMMM9/apvZ1R3SMD9iAST/Xa78Q0jC51KCB/4LQ==", + "requires": { + "hot-shots": "^6.3.0" + }, + "dependencies": { + "hot-shots": { + "version": "6.8.7", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-6.8.7.tgz", + "integrity": "sha512-XH8iezBSZgVw2jegu96pUfF1Zv0VZ/iXjb7L5yE3F7mn7/bdhf4qeniXjO0wQWeefe433rhOsazNKLxM+XMI9w==", + "requires": { + "unix-dgram": "2.0.x" + } + } + } + }, "connect-slashes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/connect-slashes/-/connect-slashes-1.4.0.tgz", @@ -9403,7 +9421,7 @@ "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", "requires": { "is-arrayish": "^0.2.1" } @@ -12541,7 +12559,7 @@ "dependencies": { "mkdirp": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=" }, "nopt": { @@ -17667,7 +17685,7 @@ }, "magic-string": { "version": "0.22.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "requires": { "vlq": "^0.2.2" diff --git a/package.json b/package.json index 312235cd88..77b1e6913a 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "cheerio": "^1.0.0-rc.3", "clipboard": "^2.0.6", "compression": "^1.7.4", + "connect-datadog": "0.0.9", "connect-slashes": "^1.4.0", "cookie-parser": "^1.4.5", "copy-webpack-plugin": "^6.0.3", From 92d57221034e8bd69f6b0df087b5c10a0081dfd9 Mon Sep 17 00:00:00 2001 From: Jason Etcovitch Date: Fri, 11 Dec 2020 13:43:11 -0500 Subject: [PATCH 33/39] Add 2.22 release notes (#16586) * Add 2.22.0 * Add 2.22.1 * Add 2.22.2 * Add 2.22.3 * Add 2.22.4 * Lint YAML files * intro shouldn't be required * Align all notes * Full height sidebar * Make the sidebar full height properly * Get the real layout going * Include full name * Move details > summary around * Fix sticky sidebar * Tweak bottom of page * Add more label colors * Change heading title * Don't be
    , change sticky header * Include other releases' info * Show prev/next links * Change sidenav to show all releases * Fix ordering of chevron * Fix link underlines * Collapsing minor versions * Moar padding * Setup schema for sub-sections * Update a YAML file to match schema * Redo rendering/sorting logic * Update layout * Convert remaining notes * Improve schema * Use proper min properties * Custom bullet points * Show details control for version picker * Improve layout on small screens * One more tiny fix * Order by semver * Use proper version in details * Fix extra arrows showing up * Change label colors * Pass the reference check * Add gradients * Gradient all the things --- data/release-notes/2-22/0.yml | 129 ++++++++++++++ data/release-notes/2-22/1.yml | 73 ++++++++ data/release-notes/2-22/2.yml | 30 ++++ data/release-notes/2-22/3.yml | 24 +++ data/release-notes/2-22/4.yml | 17 ++ includes/release-notes-category-label.html | 29 ++- includes/release-notes-heading.html | 18 ++ layouts/release-notes.html | 168 ++++++++++++------ lib/release-notes-schema.js | 54 ++++-- .../enterprise-release-notes.js | 87 +++++---- stylesheets/gradients.scss | 83 +++++++++ stylesheets/index.scss | 2 + stylesheets/release-notes.scss | 17 ++ tests/meta/repository-references.js | 3 +- 14 files changed, 614 insertions(+), 120 deletions(-) create mode 100644 data/release-notes/2-22/0.yml create mode 100644 data/release-notes/2-22/1.yml create mode 100644 data/release-notes/2-22/2.yml create mode 100644 data/release-notes/2-22/3.yml create mode 100644 data/release-notes/2-22/4.yml create mode 100644 includes/release-notes-heading.html create mode 100644 stylesheets/gradients.scss create mode 100644 stylesheets/release-notes.scss diff --git a/data/release-notes/2-22/0.yml b/data/release-notes/2-22/0.yml new file mode 100644 index 0000000000..d067c49c4c --- /dev/null +++ b/data/release-notes/2-22/0.yml @@ -0,0 +1,129 @@ +intro: GitHub is excited to present GitHub Enterprise Server 2.22.0. +date: '2020-09-23' +sections: + features: + - heading: GitHub Actions Beta + notes: + - | + [GitHub Actions](https://github.com/features/actions) is a powerful, flexible solution for CI/CD and workflow automation. GitHub Actions on Enteprise Server includes tools to help you manage the service, including key metrics in the Management Console, audit logs and access controls to help you control the roll out. + + You will need to provide your own [storage](https://docs.github.com/en/enterprise/2.22/admin/github-actions/enabling-github-actions-and-configuring-storage) and runners for GitHub Actions. AWS S3, Azure Blob Storage and MinIO are supported. Please review the [updated minimum requirements for your platform](https://docs.github.com/en/enterprise/2.22/admin/installation/setting-up-a-github-enterprise-server-instance) before you turn on GitHub Actions. To learn more, contact the GitHub Sales team or [sign up for the beta](https://resources.github.com/beta-signup/). {% comment %} https://github.com/github/releases/issues/775 {% endcomment %} + + - heading: GitHub Packages Beta + notes: + - | + [GitHub Packages](https://github.com/features/packages) is a package hosting service, natively integrated with GitHub APIs, Actions, and webhooks. Create an [end-to-end DevOps workflow](https://docs.github.com/en/enterprise/2.22/admin/packages/configuring-packages-support-for-your-enterprise) that includes your code, continuous integration, and deployment solutions. + + Supported storage back ends include AWS S3 and MinIO with support for Azure blob coming in a future release. Please note that the current Docker support will be replaced by a beta of the new GitHub Container Registry in the next release. Please review the [updated minimum requirements for your platform](https://docs.github.com/en/enterprise/2.22/admin/installation/setting-up-a-github-enterprise-server-instance) before you turn on GitHub Packages. To learn more, contact the GitHub Sales team or [sign up for the beta](https://resources.github.com/beta-signup/). {% comment %} https://github.com/github/releases/issues/773 {% endcomment %} + + - heading: Advanced Security Code Scanning Beta + notes: + - | + [GitHub Advanced Security code scanning](https://github.com/features/security) is a developer-first, GitHub-native static application security testing (SAST). Easily find security vulnerabilities before they reach production, all powered by the world’s most powerful code analysis engine: CodeQL. + + Administrators using GitHub Advanced Security can [sign up for](https://resources.github.com/beta-signup/) and [enable](https://docs.github.com/en/enterprise/2.22/admin/configuration/configuring-code-scanning-for-your-appliance) GitHub Advanced Security code scanning beta. Please review the [updated minimum requirements for your platform](https://docs.github.com/en/enterprise/2.22/admin/installation/setting-up-a-github-enterprise-server-instance) before you turn on GitHub Advanced Security code scanning. {% comment %} https://github.com/github/releases/issues/768 {% endcomment %} + + - heading: Pull Request Retargeting + notes: + - | + When a [pull request's head branch](https://docs.github.com/en/enterprise/2.22/user/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches) is merged and deleted, all other open pull requests in the same repository that target this branch are now retargeted to the merged pull request's base branch. Previously these pull requests were closed. {% comment %} https://github.com/github/releases/issues/801 {% endcomment %} + + - heading: Suspend and Unsuspend an App Installation + notes: + - | + Administrators and users can [suspend any GitHub App’s access](https://docs.github.com/enterprise/2.22/user/rest/reference/apps#suspend-an-app-installation) for as long as needed, and [unsuspend the app](https://docs.github.com/enterprise/2.22/user/rest/reference/apps#unsuspend-an-app-installation) on command through Settings and the API. Suspended apps cannot access the GitHub API or webhook events. You can use this instead of uninstalling an application, which deauthorises every user. {% comment %} https://github.com/github/github/pull/138316 https://github.com/github/github/pull/150869 {% endcomment %}'' + + - heading: Improved Large Scale Performance + notes: + - | + We have revised the approach we take to scheduling network maintenance for repositories, ensuring large monorepos are able to avoid failure states. {% comment %} https://github.com/github/github/pull/146789, https://github.com/github/github/pull/147931, https://github.com/github/github/pull/146724, https://github.com/github/git-protocols/issues/94 {% endcomment %}'' + + Passive replicas are now [supported and configurable on GitHub Enterprise Server cluster deployments](https://docs.github.com/en/enterprise/2.22/admin/enterprise-management/configuring-high-availability-replication-for-a-cluster). These changes will enable faster failover, reducing RTO and RPO. {% comment %} https://github.com/github/releases/issues/905 {% endcomment %} + + - heading: View All of Your Users + notes: + - | + For exceptionally large teams, administrators can [adjust the 1,500 default maximum for user lists](https://docs.github.com/en/enterprise/2.22/admin/configuration/command-line-utilities#ghe-config). {% comment %} https://github.com/github/github/pull/146508 {% endcomment %}'' + + changes: + - heading: Administration Changes + notes: + - Shared workers have been enabled to make live updates more resilient by sharing connections across tabs. {% comment %} https://github.com/github/releases/issues/914 {% endcomment %} + - The "Contact Support" link on `50x` error pages now links to the support email or link configured in the Management Console. {% comment %} https://github.com/github/github/pull/142123 {% endcomment %} + - It's now possible to [manage global announcements and expiration dates through the enterprise account settings](https://docs.github.com/en/enterprise/2.22/admin/installation/command-line-utilities#ghe-announce). {% comment %} https://github.com/github/releases/issues/945, https://github.com/github/github/pull/148475, https://github.com/github/github/pull/148494 {% endcomment %} + - You can now [exempt certain users from the default API rate limits configured in the management console](https://docs.github.com/en/enterprise/2.22/admin/configuration/configuring-rate-limits), if necessary. {% comment %} https://github.com/github/github/pull/148673 {% endcomment %} + - Repository administrators can now [set their repository to any available visibility option](https://docs.github.com/en/enterprise/2.22/user/github/administering-a-repository/setting-repository-visibility) from a single dialog in the repository's settings. Previously, you had to navigate separate sections, buttons, and dialog boxes for changing between public and private and between private and internal. {% comment %} https://github.com/github/releases/issues/882 {% endcomment %} + - A new Enterprise settings link on the user dropdown menu makes it easier to navigate to Enterprise Account Settings. {% comment %} https://github.com/github/releases/issues/946, https://github.com/github/github/pull/150595, https://github.com/github/github/pull/150520, https://github.com/github/github/pull/151121, https://github.com/github/hydro-schemas/pull/1244 {% endcomment %} + - The legacy "Admin Center" link on the /stafftools page has been removed. The "Enterprise" link is now the best way to navigate to the Enterprise Account from the /stafftools page. {% comment %} https://github.com/github/github/pull/147633 {% endcomment %} + - The Options sub-menu item in the Enterprise Account settings has been moved from the Settings section to the Policies section. {% comment %} https://github.com/github/releases/issues/944, https://github.com/github/github/pull/148477 {% endcomment %} + - '[Accessing resources by using a personal access token or SSH key now counts as user activity](https://docs.github.com/en/enterprise/2.22/admin/user-management/managing-dormant-users). This relieves administrators from the burden of filtering out certain users from the user dormancy reports and makes it safer to use the "Suspend all" button without accidentally suspending users who only accessed GitHub in a read-only way over the APIs with a Personal Access Token (PAT) or SSH key. {% comment %} https://github.com/github/github/pull/140433, https://github.com/github/help-docs/pull/14853, https://github.com/github/customer-feedback/issues/174, https://github.com/github/supportability/issues/14 {% endcomment %}' + + - heading: Security Changes + notes: + - Two-factor recovery codes can no longer be used during the two-factor sign in process. One-Time-Passwords are the only acceptable values. {% comment %} https://github.com/github/github/pull/145016, https://github.com/github/github/pull/140208 {% endcomment %} + - When a user is signed into GitHub Enterprise Server through single sign-on, the [default repository visibility selection is Private](https://docs.github.com/en/enterprise/2.22/user/github/administering-a-repository/setting-repository-visibility). {% comment %} https://github.com/github/releases/issues/872 {% endcomment %} + - Owners of GitHub Apps can now choose to have their [user-to-server access tokens expire after 8 hours](https://developer.github.com/changes/2020-04-30-expiring-user-to-server-access-tokens-for-github-apps/), to help enforce regular token rotation and reduce the impact of a compromised token. {% comment %} https://github.com/github/releases/issues/966 {% endcomment %} + + - heading: Developer Changes + notes: + - '[The GitHub UI has undergone a design refresh](https://github.blog/changelog/2020-06-23-design-updates-to-repositories-and-github-ui/), and the repositories homepage has been redesigned, including a responsive layout and improved mobile web experience. {% comment %} https://github.com/github/releases/issues/886 {% endcomment %}' + - In the "Clone with SSH" repository dropdown menu, users will now be notified if they do not have any keys setup. {% comment %} https://github.com/github/github/pull/149098 {% endcomment %} + - Commits are now ordered chronologically in the pull request timeline and commits tab. This new ordering is also reflected in the ["List commits on a pull request"](https://docs.github.com/en/enterprise/2.22/user/rest/reference/pulls#list-commits-on-a-pull-request) REST API and GraphQL ["PullRequest object"](https://docs.github.com/en/enterprise/2.22/user/graphql/reference/objects#pullrequest) timeline connection. {% comment %} https://github.com/github/releases/issues/867 {% endcomment %} + - Users can now [set a skin tone default for emoji autocomplete results](https://github.blog/changelog/2020-07-17-customizable-skin-tones-in-emoji-autocomplete/) in comment text areas. {% comment %} https://github.com/github/releases/issues/916 {% endcomment %} + - '[Tree-sitter](https://github.com/tree-sitter/tree-sitter) improves syntax highlighting and is now the default library used for language parsing. {% comment %} https://github.com/github/releases/issues/918, https://github.com/github/windrose/issues/44 {% endcomment %}' + + - heading: Users and organizations can add Twitter usernames to their GitHub profiles + notes: + - '[Developers and organizations can now add their Twitter username to their profile](https://github.blog/changelog/2020-07-22-users-and-organizations-can-now-add-twitter-usernames-to-their-github-profiles/) {% comment %} https://github.com/github/github/pull/145127 {% endcomment %}' + + - heading: API Changes + notes: + - | + #### Graduated Previews + + The following previews are now an official part of the API: + * The GitHub Apps API and endpoints that returned the `performed_via_github_app` property no longer require the [`machine-man`](https://developer.github.com/changes/2020-08-20-graduate-machine-man-and-sailor-v-previews/) preview header. {% comment %} https://github.com/github/releases/issues/965 {% endcomment %} + * To add and view a lock reason to an issue, you no longer need to use the [`sailor-v`](https://developer.github.com/changes/2020-08-20-graduate-machine-man-and-sailor-v-previews/) preview header. {% comment %} https://github.com/github/github/pull/143676 {% endcomment %} + + - | + #### GraphQL Schema Changes + + * [The GraphQL schema changes](https://docs.github.com/enterprise/2.22/user/graphql/overview/changelog) include backwards-compatible changes, schema previews, and upcoming breaking changes. + + bugs: + - The stafftools page for viewing pending collaborator showed a `500 Internal Server Error` when there was a pending email invite. {% comment %} https://github.com/github/github/pull/150836 {% endcomment %} + - The Repository Health Check in stafftools could give incorrect results on busy repositories. {% comment %} https://github.com/github/github/pull/151160 {% endcomment %} + - A logged in user trying to accept an email invitation could get a `404 Not Found` error. {% comment %} https://github.com/github/github/pull/150848 {% endcomment %} + - If a user navigated to a repository whose name started with "repositories.", they were redirected to the owner's "Repositories" tab instead of landing on the repository overview page. {% comment %} https://github.com/github/github/pull/149704 {% endcomment %} + - Labels in the dashboard timeline did not have enough contrast. {% comment %} https://github.com/github/github/pull/146749 {% endcomment %} + + deprecations: + - heading: Upcoming Deprecation of GitHub Enterprise Server 2.19 + notes: + - '**GitHub Enterprise Server 2.19 will be deprecated as of November 12, 2020** That means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of GitHub Enterprise Server](https://help.github.com/enterprise/admin/guides/installation/upgrading-github-enterprise/) as soon as possible.' + - heading: Deprecation of Legacy GitHub App Webhook Events + notes: + - Starting with GitHub Enterprise Server 2.21.0 two legacy GitHub Apps-related webhook events have been deprecated and will be removed in GitHub Enterprise Server 2.25.0. The deprecated events `integration_installation` and `integration_installation_repositories` have equivalent events which will be supported. More information is available in the [deprecation announcement blog post](https://developer.github.com/changes/2020-04-15-replacing-the-installation-and-installation-repositories-events/). {% comment %} https://github.com/github/enterprise-web/pull/6419#issuecomment-668303461 {% endcomment %} + - heading: Deprecation of Legacy GitHub Apps Endpoint + notes: + - Starting with GitHub Enterprise Server 2.21.0 the legacy GitHub Apps endpoint for creating installation access tokens was deprecated and will be removed in GitHub Enterprise Server 2.25.0. More information is available in the [deprecation announcement blog post](https://developer.github.com/changes/2020-04-15-replacing-create-installation-access-token-endpoint/). {% comment %} https://github.com/github/enterprise-web/pull/6419#issuecomment-668303461 {% endcomment %} + - heading: Deprecation of OAuth Application API + notes: + - GitHub [no longer supports the OAuth application endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/) and have replaced them with a version that moves the access token to the request body for improved security. Brownouts will start in March 2021 and all calls to the old version of the OAuth application endpoints will return a status code of 404 starting on May 5, 2021 at 16:00 UTC. + + # - type: Backup and Disaster recovery + # note: GitHub Enterprise Server 2.22 requires at least [GitHub Enterprise Backup Utilities](https://github.com/github/backup-utils) 2.22.0 for [Backups and Disaster Recovery](https://help.github.com/enterprise/2.22/admin/guides/installation/backups-and-disaster-recovery/). + + known_issues: + - On a freshly set up GitHub Enterprise Server without any users, an attacker could create the first admin user. {% comment %} https://github.com/github/enterprise2/issues/1889 {% endcomment %} + - Custom firewall rules are not maintained during an upgrade. {% comment %} https://github.com/github/enterprise2/issues/2823 {% endcomment %} + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %} + - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %} + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %} + - The Name ID Format dropdown in the Management Console resets to "unspecified" after setting instance to "persistent". {% comment %} https://github.com/github/enterprise2/issues/13446 {% endcomment %} + - The repository Settings page of a repository for a user or organization GitHub Pages sites will fail with a "500 Internal Server Error". {% comment %} https://github.com/github/github/issues/156183 {% endcomment %} + - Users may experience slower Git clone and fetch performance on an instance with high availability replicas due to reads being forwarded to a different node. {% comment %} https://github.com/github/spokesd/issues/746 {% endcomment %} + - '[Creating a GitHub App from a manifest](https://docs.github.com/en/enterprise/2.22/user/developers/apps/creating-a-github-app-from-a-manifest) fails. To work around this issue, users can follow the manual instructions for [creating a GitHub App](https://docs.github.com/en/enterprise/2.22/user/developers/apps/creating-a-github-app). {% comment %} https://github.com/github/enterprise2/issues/22849 {% endcomment %}' + - GitHub usernames may change unintentionally when using SAML authentication, if the GitHub username does not match the value of the attribute mapped to the `username` field in the Management Console. (updated 2020-10-08) {% comment %} https://github.com/github/external-identities/issues/335 {% endcomment %} + - On a freshly set up 2.22.0 instance or after upgrading to 2.22.0, the activity feed on an organization's dashboard will no longer update. (updated 2020-10-27) {% comment %}https://github.com/github/enterprise2/issues/23050{% endcomment %} + - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} diff --git a/data/release-notes/2-22/1.yml b/data/release-notes/2-22/1.yml new file mode 100644 index 0000000000..f488b82d34 --- /dev/null +++ b/data/release-notes/2-22/1.yml @@ -0,0 +1,73 @@ +date: '2020-10-09' +sections: + security_fixes: + - '**MEDIUM**: ImageMagick has been updated to address [DSA-4715-1](https://www.debian.org/security/2020/dsa-4715). {% comment %} https://github.com/github/enterprise2/pull/22623, https://github.com/github/enterprise2/pull/22610 {% endcomment %}' + - 'Requests from a GitHub App integration to refresh an OAuth access token would be accepted if sent with a different, valid OAuth client ID and client secret than was used to create the refresh token. {% comment %} https://github.com/github/github/pull/154921, https://github.com/github/github/pull/154423, https://github.com/github/ecosystem-apps/issues/1066 {% endcomment %}' + - 'A user whose LDAP directory username standardizes to an existing GHES account login could authenticate into the existing account. {% comment %} https://github.com/github/github/pull/156513, https://github.com/github/github/pull/155512 {% endcomment %}' + - 'Packages have been updated to the latest security versions. {% comment %} https://github.com/github/enterprise2/pull/22912, https://github.com/github/enterprise2/pull/22878 {% endcomment %}' + + bugs: + - | + The NameID Format dropdown in the Management Console would be reset to "unspecified" after setting it to "persistent". {% comment %} https://github.com/github/enterprise2/pull/22376, https://github.com/github/enterprise2/pull/22331, https://github.com/github/enterprise2/issues/13446 {% endcomment %} + - | + Upgrading using a hotpatch could fail with an error: `'libdbi1' was not found` {% comment %} https://github.com/github/enterprise2/pull/22557, https://github.com/github/enterprise2/pull/22552 {% endcomment %} + - | + Saving settings via the [management console](https://docs.github.com/en/enterprise-server@latest/admin/configuration/accessing-the-management-console) would append a newline to the [TLS/SSL certificate and key](https://docs.github.com/en/enterprise-server@latest/admin/configuration/configuring-tls) files which triggered unnecessary reloading of some services. {% comment %} https://github.com/github/enterprise2/pull/22570, https://github.com/github/enterprise2/pull/22540 {% endcomment %} + - | + System logs for Dependency Graph were not rotating, allowing unbounded storage growth. {% comment %} https://github.com/github/enterprise2/pull/22767, https://github.com/github/enterprise2/pull/22733 {% endcomment %} + - | + The MS SQL Server performance graph showed statistics from the primary instance even when a replica was selected. {% comment %} https://github.com/github/enterprise2/pull/22778, https://github.com/github/enterprise2/pull/22750 {% endcomment %} + - | + `ghe-actions-precheck` would silently exit without running the storage checks if Actions was not enabled. {% comment %} https://github.com/github/enterprise2/pull/22787, https://github.com/github/enterprise2/pull/22742 {% endcomment %} + - | + Upgrade could fail if the resqued workers override setting is in use. {% comment %} https://github.com/github/enterprise2/pull/22836, https://github.com/github/enterprise2/pull/22814 {% endcomment %} + - | + Some services running in containers were not sending logs to the journal. {% comment %} https://github.com/github/enterprise2/pull/22994, https://github.com/github/enterprise2/pull/22518 {% endcomment %} + - | + Links to GitHub Security Advisories would use a URL with the hostname of the GitHub Enterprise Server instance instead of GitHub.com, directing the user to a nonexistent URL. {% comment %} https://github.com/github/github/pull/153316, https://github.com/github/github/pull/151301 {% endcomment %} + - | + When importing a repository with `ghe-migrator`, an unexpected exception could occur when inconsistent data is present. {% comment %} https://github.com/github/github/pull/153850, https://github.com/github/github/pull/151552 {% endcomment %} + - | + The enterprise account security settings page showed a "View your organizations' current configurations" link for the "Two-factor authentication" setting when the authentication mode in use does not support built in two-factor authentication. {% comment %} https://github.com/github/github/pull/153860 {% endcomment %} + - | + OAuth refresh tokens would be removed prematurely. {% comment %} https://github.com/github/github/pull/154271, https://github.com/github/github/pull/153694 {% endcomment %} + - | + Search repair tasks would generate exceptions during the migration phase of configuration. {% comment %} https://github.com/github/github/pull/154573, https://github.com/github/github/pull/153392 {% endcomment %} + - | + On the settings page for GitHub Apps, the "Beta Features" tab was not visible in some circumstances. {% comment %} https://github.com/github/github/pull/154612, https://github.com/github/github/pull/154417 {% endcomment %} + - | + When using `ghe-migrator` to import PR review requests, records associated with deleted users would result in extraneous database records. {% comment %} https://github.com/github/github/pull/154960, https://github.com/github/github/pull/153169 {% endcomment %} + - | + When importing users with `ghe-migrator`, an error of "Emails is invalid" would occur if the system-generated email address were longer than 100 characters. {% comment %} https://github.com/github/github/pull/155109, https://github.com/github/github/pull/152418 {% endcomment %} + - | + Logging webhook activity could use large amounts of disk space and cause the root disk to become full. {% comment %} https://github.com/github/github/pull/155657, https://github.com/github/github/pull/154100 {% endcomment %} + - | + Users experienced slower Git clone and fetch performance on an instance with high availability replicas due to reads being forwarded to a different node. {% comment %} https://github.com/github/github/pull/156195, https://github.com/github/github/pull/156016, https://github.com/github/spokesd/issues/746 {% endcomment %} + - | + The repository Settings page of a repository for a user or organization GitHub Pages sites would fail with a "500 Internal Server Error". {% comment %} https://github.com/github/github/pull/156439, https://github.com/github/github/issues/156183 {% endcomment %} + - | + Repository network maintenance operations could become stuck in a `running` state. {% comment %} https://github.com/github/github/pull/156669, https://github.com/github/github/pull/156036 {% endcomment %} + - | + A repository being deleted immediately after uploading a code scanning result could cause a stall in the processing of code scanning results for all repositories. {% comment %} https://github.com/github/github/pull/157063, https://github.com/github/github/pull/156437 {% endcomment %} + - | + When a large number of code scanning results were submitted at the same time, processing of batches could time out resulting in a stall in processing of code scanning results. {% comment %} https://github.com/github/github/pull/157065, https://github.com/github/github/pull/156462 {% endcomment %} + - | + [Creating a GitHub App from a manifest](https://docs.github.com/en/enterprise/2.22/user/developers/apps/creating-a-github-app-from-a-manifest) would fail. {% comment %} https://github.com/github/github/pull/157133, https://github.com/github/github/pull/156904, https://github.com/github/enterprise2/issues/22849 {% endcomment %} + - | + GitHub usernames were changed unintentionally when using SAML authentication, when the GitHub username did not match the value of the attribute mapped to the `username` field in the Management Console. {% comment %} https://github.com/github/github/pull/158131, https://github.com/github/github/pull/157936, https://github.com/github/external-identities/issues/335 {% endcomment %} + + changes: + - Support is added for the AWS EC2 instance type `m5.16xlarge`. {% comment %} https://github.com/github/enterprise2/pull/22502, https://github.com/github/enterprise2/pull/22473 {% endcomment %} + - Remove the requirement for SSH fingerprints in `ghe-migrator` archives as it can always be computed. {% comment %} https://github.com/github/github/pull/156946, https://github.com/github/github/pull/155387 {% endcomment %} + - GitHub App Manifests now include the `request_oauth_on_install` field. {% comment %} https://github.com/github/github/pull/156991, https://github.com/github/github/pull/155010, https://github.com/github/ecosystem-apps/issues/1055 {% endcomment %} + + known_issues: + - On a freshly set up GitHub Enterprise Server without any users, an attacker could create the first admin user. {% comment %} https://github.com/github/enterprise2/issues/1889 {% endcomment %} + - Custom firewall rules are not maintained during an upgrade. {% comment %} https://github.com/github/enterprise2/issues/2823 {% endcomment %} + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %} + - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %} + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %} + - Configuration updates will fail when restoring data to a GitHub Actions-enabled instance if the original backup source did not have the feature enabled. {% comment %} https://github.com/github/c2c-actions-runtime/issues/915 {% endcomment %} + - GitHub Actions can fail to start up successfully if it was previously enabled on an instance running 2.22.0 and is upgraded to 2.22.1. (updated 2020-10-23) {% comment %} https://github.com/github/c2c-actions/issues/1680 {% endcomment %} + - On a freshly set up 2.22.1 instance or after upgrading to 2.22.1, the activity feed on an organization's dashboard will no longer update. (updated 2020-10-27) {% comment %}https://github.com/github/enterprise2/issues/23050{% endcomment %} + - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} diff --git a/data/release-notes/2-22/2.yml b/data/release-notes/2-22/2.yml new file mode 100644 index 0000000000..98bc473105 --- /dev/null +++ b/data/release-notes/2-22/2.yml @@ -0,0 +1,30 @@ +date: '2020-10-20' +sections: + security_fixes: + - Packages have been updated to the latest security versions. {% comment %} https://github.com/github/enterprise2/pull/23097, https://github.com/github/enterprise2/pull/23081 {% endcomment %} + + bugs: + - | + If the storage account settings failed to validate while configuring GitHub Actions, running `ghe-actions-teardown` was required before making a new attempt. {% comment %} https://github.com/github/enterprise2/pull/23057, https://github.com/github/enterprise2/pull/22981 {% endcomment %} + - | + A custom proxy configuration could adversely affect the GitHub Actions environment. {% comment %} https://github.com/github/enterprise2/pull/23121, https://github.com/github/enterprise2/pull/23092, https://github.com/github/c2c-actions-platform/issues/2254 {% endcomment %} + - | + On a change of an address on eth0, Nomad and Consul could get unresponsive. {% comment %} https://github.com/github/enterprise2/pull/23227, https://github.com/github/enterprise2/pull/23153 {% endcomment %} + - | + When using self-signed certificates, GHES could have SSL validation exceptions upon configuring GitHub Actions. {% comment %} https://github.com/github/enterprise2/pull/23381 {% endcomment %} + - | + Using a GitHub Action from a branch name with a `+` or `/` character resulted in an error: `Unable to resolve action`. {% comment %} https://github.com/github/github/pull/157942, https://github.com/github/github/pull/157819, https://github.com/github/launch/pull/3463 {% endcomment %} + - | + The enterprise account "Confirm two-factor requirement policy" messaging was incorrect. {% comment %} https://github.com/github/github/pull/158735 {% endcomment %} + - | + On certain requests above 100MB, Kafka's buffer could be over-allocated. {% comment %} https://github.com/github/kafka-lite/pull/286, https://github.com/github/kafka-lite/pull/285 {% endcomment %} + + known_issues: + - On a freshly set up GitHub Enterprise Server without any users, an attacker could create the first admin user. {% comment %} https://github.com/github/enterprise2/issues/1889 {% endcomment %} + - Custom firewall rules are not maintained during an upgrade. {% comment %} https://github.com/github/enterprise2/issues/2823 {% endcomment %} + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %} + - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %} + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %} + - GitHub Actions can fail to start up successfully if it was previously enabled on an instance running 2.22.0 and is upgraded to 2.22.2. (updated 2020-10-23) {% comment %} https://github.com/github/c2c-actions/issues/1680 {% endcomment %} + - On a freshly set up 2.22.2 instance or after upgrading to 2.22.2, the activity feed on an organization's dashboard will no longer update. (updated 2020-10-27) {% comment %}https://github.com/github/enterprise2/issues/23050{% endcomment %} + - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} diff --git a/data/release-notes/2-22/3.yml b/data/release-notes/2-22/3.yml new file mode 100644 index 0000000000..31076af63a --- /dev/null +++ b/data/release-notes/2-22/3.yml @@ -0,0 +1,24 @@ +date: '2020-11-03' +sections: + security_fixes: + - | + **LOW:** High CPU usage could be triggered by a specially crafted request to the SVN bridge resulting in Denial of Service (DoS) on the SVN bridge service. (updated 2020-11-16) {% comment %} https://github.com/github/slumlord/pull/1005, https://github.com/github/slumlord/pull/1000 {% endcomment %} + - | + **LOW:** Incorrect token validation resulted in a reduced entropy for matching tokens during authentication. Analysis shows that in practice there's no significant security risk here. {% comment %} https://github.com/github/github/pull/159457, https://github.com/github/github/pull/159193 {% endcomment %} + - | + Packages have been updated to the latest security versions. {% comment %} https://github.com/github/enterprise2/pull/23540, https://github.com/github/enterprise2/pull/23171, https://github.com/github/enterprise2/pull/23693, https://github.com/github/enterprise2/pull/23677 {% endcomment %} + + bugs: + - GitHub Actions could fail to start up successfully if it was previously enabled on an instance running 2.22.0 and was upgraded to 2.22.1 or 2.22.2. {% comment %} https://github.com/github/enterprise2/pull/23622, https://github.com/github/enterprise2/pull/23490, https://github.com/github/c2c-actions/issues/1680 {% endcomment %} + - Configuration files for GitHub Actions were not copied to the replica when setting up high availability replicas potentially leading to errors during `ghe-repl-promote`. {% comment %} https://github.com/github/enterprise2/pull/23703, https://github.com/github/enterprise2/pull/23683 {% endcomment %} + - On a freshly set up 2.22.1 or 2.22.2 instance or after upgrading to 2.22.1 or 2.22.2, the activity feed on an organization's dashboard would not update. {% comment %} https://github.com/github/github/pull/159376, https://github.com/github/github/pull/159235, https://github.com/github/enterprise2/issues/23050 {% endcomment %} + - Editing issues templates with filenames containing non-ASCII characters would fail with a "500 Internal Server Error". {% comment %} https://github.com/github/github/pull/160588, https://github.com/github/github/pull/159747 {% endcomment %} + - A metric gathering method for background jobs increased CPU utilization. (updated 2020-11-03) {% comment %} https://github.com/github/github/pull/160109 {% endcomment %} + + known_issues: + - On a freshly set up GitHub Enterprise Server without any users, an attacker could create the first admin user. {% comment %} https://github.com/github/enterprise2/issues/1889 {% endcomment %} + - Custom firewall rules are not maintained during an upgrade. {% comment %} https://github.com/github/enterprise2/issues/2823 {% endcomment %} + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %} + - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %} + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %} + - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} diff --git a/data/release-notes/2-22/4.yml b/data/release-notes/2-22/4.yml new file mode 100644 index 0000000000..a4bc3fa24b --- /dev/null +++ b/data/release-notes/2-22/4.yml @@ -0,0 +1,17 @@ +date: '2020-11-17' +sections: + security_fixes: + - Packages have been updated to the latest security versions. {% comment %} https://github.com/github/enterprise2/pull/23845, https://github.com/github/enterprise2/pull/23712 {% endcomment %} + + bugs: + - The babeld logs were missing a separator between seconds and microseconds. {% comment %} https://github.com/github/babeld/pull/1006, https://github.com/github/babeld/pull/1002 {% endcomment %} + - After upgrading GHES with a hotpatch, the `ghe-actions-precheck` and `ghe-packages-precheck` commands would fail with the error `"docker load" accepts no arguments`. {% comment %} https://github.com/github/enterprise2/pull/23760, https://github.com/github/enterprise2/pull/23745 {% endcomment %} + - When the enterprise account "Repository visibility change" policy was set to "Enabled", organization owners could not change the visibility of repositories within the organization. {% comment %} https://github.com/github/github/pull/160920, https://github.com/github/github/pull/160773 {% endcomment %} + - Audit logs could be attributed to 127.0.0.1 instead of the actual source IP address. {% comment %} https://github.com/github/github/pull/162438, https://github.com/github/github/pull/161215 {% endcomment %} + + known_issues: + - On a freshly set up GitHub Enterprise Server without any users, an attacker could create the first admin user. {% comment %} https://github.com/github/enterprise2/issues/1889 {% endcomment %} + - Custom firewall rules are not maintained during an upgrade. {% comment %} https://github.com/github/enterprise2/issues/2823 {% endcomment %} + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %} + - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %} + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %} diff --git a/includes/release-notes-category-label.html b/includes/release-notes-category-label.html index d100d9abaa..d14441c921 100644 --- a/includes/release-notes-category-label.html +++ b/includes/release-notes-category-label.html @@ -1,12 +1,25 @@ -{% assign sectionTitle = section.title | default: 'Misc' %} - -{% case sectionTitle %} - {% when "New Feature" %} - {% assign colors = "bg-orange text-white" %} - {% when "Bugs" %} - {% assign colors = "bg-purple text-white" %} +{% case section[0] %} + {% when "features" %} + {% assign colors = "bg-gradient-aquamarine-mauve text-white" %} + {% assign text = "Features" %} + {% when "bugs" %} + {% assign colors = "bg-gradient-red-orange text-white" %} + {% assign text = "Bug fixes" %} + {% when "known_issues" %} + {% assign colors = "bg-gradient-dark-mint text-white" %} + {% assign text = "Known issues" %} + {% when "security_fixes" %} + {% assign colors = "bg-gradient-coral-yellow text-white" %} + {% assign text = "Security fixes" %} + {% when "changes" %} + {% assign colors = "bg-gradient-blue-purple text-white" %} + {% assign text = "Changes" %} + {% when "deprecations" %} + {% assign colors = "bg-gradient-mint-blue text-white" %} + {% assign text = "Deprecations" %} {% else %} {% assign colors = "bg-blue text-white" %} + {% assign text = "INVALID SECTION" %} {% endcase %} -{{ sectionTitle }} +{{ text }} diff --git a/includes/release-notes-heading.html b/includes/release-notes-heading.html new file mode 100644 index 0000000000..dbb2e409c1 --- /dev/null +++ b/includes/release-notes-heading.html @@ -0,0 +1,18 @@ +{% case section[0] %} + {% when "features" %} + {% assign colors = "text-gradient-aquamarine-mauve" %} + {% when "bugs" %} + {% assign colors = "text-gradient-red-orange" %} + {% when "known_issues" %} + {% assign colors = "text-gradient-dark-mint" %} + {% when "security_fixes" %} + {% assign colors = "text-gradient-coral-yellow-dark" %} + {% when "changes" %} + {% assign colors = "text-gradient-blue-purple" %} + {% when "deprecations" %} + {% assign colors = "text-gradient-dark-mint" %} + {% else %} + {% assign colors = "text-gradient-aquamarine-mauve" %} +{% endcase %} + +

    {{ note.heading }}

    diff --git a/layouts/release-notes.html b/layouts/release-notes.html index ce3764084c..7625dda74f 100644 --- a/layouts/release-notes.html +++ b/layouts/release-notes.html @@ -11,83 +11,133 @@ {% include header %} {% include deprecation-banner %} -
    -
    -
    {% include article-version-switcher %}
    -
    - {% include breadcrumbs %} +
    +
    - -
    -
    -
    -

    {{ allVersions[currentVersion].versionTitle }}

    -
    +
    {% for patch in releaseNotes %} -
    - -

    - {{ patch.version }} +
    +
    +
    +

    + {{ allVersions[currentVersion].versionTitle }}.{{ patch.patchVersion }} - {% if patch.release_candidate %} - Release Candidate - {% endif %} -

    + {% if patch.release_candidate %} + Release Candidate + {% endif %} +

    -
    - {{ patch.date | date: "%B %d, %Y" }} + + Download + - +
    -
    -

    {{ patch.intro }}

    +

    {{ patch.date | date: "%B %d, %Y" }}

    + - {% for section in patch.sortedNotes %} -
    -
    - {% include 'release-notes-category-label' %} -
    +
    +

    {{ patch.intro }}

    -
      - {% for note in section.notes %} - {% if note.note and note.note != '

      n/a

      ' %} -
    • - {{ note.note }} + {% for section in patch.sections %} +
      +
      + {% include 'release-notes-category-label' %} +
      + +
        + {% for note in section[1] %} +
      • + {% if note.heading %} + {% include 'release-notes-heading' %} +
          + {% for subNote in note.notes %} +
        • {{ subNote }}
        • + {% endfor %} +
        + {% else %} + {{ note }} + {% endif %}
      • - {% endif %} - {% endfor %} -
      -
      - {% endfor %} -
    + {% endfor %} + +
    + {% endfor %} +
    +
    {% endfor %}
    +
    - - {% include support %} - {% include small-footer %} +
    + {% include small-footer %} +
    diff --git a/lib/release-notes-schema.js b/lib/release-notes-schema.js index e58278e29a..2519011b83 100644 --- a/lib/release-notes-schema.js +++ b/lib/release-notes-schema.js @@ -1,8 +1,32 @@ +const section = { + anyOf: [ + { + type: 'array', + items: { type: 'string' }, + minItems: 1 + }, + { + type: 'object', + properties: { + heading: { + type: 'string', + required: true + }, + notes: { + type: 'array', + items: { type: 'string' }, + required: true, + minItems: 1 + } + } + } + ] +} + module.exports = { properties: { intro: { - type: 'string', - required: true + type: 'string' }, date: { type: 'string', @@ -13,22 +37,18 @@ module.exports = { type: 'boolean', default: false }, - notes: { + sections: { required: true, - type: 'array', - items: { - type: 'object', - properties: { - note: { - type: 'string', - required: true - }, - type: { - type: 'string', - required: true - } - } - } + type: 'object', + minProperties: 1, + properties: [ + 'bugs', + 'known_issues', + 'features', + 'changes', + 'deprecations', + 'security_fixes' + ].reduce((prev, curr) => ({ ...prev, [curr]: section }), {}) } } } diff --git a/middleware/contextualizers/enterprise-release-notes.js b/middleware/contextualizers/enterprise-release-notes.js index e871114426..565ee70309 100644 --- a/middleware/contextualizers/enterprise-release-notes.js +++ b/middleware/contextualizers/enterprise-release-notes.js @@ -1,5 +1,43 @@ +const semver = require('semver') const renderContent = require('../../lib/render-content') const patterns = require('../../lib/patterns') +const enterpriseReleases = require('../../lib/enterprise-server-releases').supported + +/** + * Turn { [key]: { notes, intro, date } } + * into [{ version, notes, intro, date }] + */ +function sortPatchKeys (release, version) { + const keys = Object.keys(release) + .map(key => ({ version: `${version}.${key}`, patchVersion: key, ...release[key] })) + return keys + .sort((a, b) => { + if (semver.gt(a.version, b.version)) return -1 + if (semver.lt(a.version, b.version)) return 1 + return 0 + }) +} + +/** + * Render each note in the given patch, by looping through the + * sections and rendering either `note` or `note.notes` in the + * case of a sub-section + */ +async function renderPatchNotes (patch, ctx) { + // Run the notes through the markdown rendering pipeline + for (const key in patch.sections) { + await Promise.all(patch.sections[key].map(async (noteOrHeading, index) => { + patch.sections[key][index] = typeof noteOrHeading === 'string' + ? await renderContent(noteOrHeading, ctx) + : { + ...noteOrHeading, + notes: await Promise.all(noteOrHeading.notes.map(note => renderContent(note, ctx))) + } + })) + } + + return patch +} module.exports = async (req, res, next) => { // The `/release-notes` sub-path @@ -22,44 +60,23 @@ module.exports = async (req, res, next) => { } const releaseNotes = allReleaseNotes[versionString] - const keys = Object.keys(releaseNotes) - // Turn { [key]: { notes, intro, date } } - // into [{ version, notes, intro, date }] - const patches = keys - .sort((a, b) => { - if (a > b) return -1 - if (a < b) return 1 - return 0 - }) - .map(key => ({ version: `${requestedVersion}.${key}`, ...releaseNotes[key] })) + const patches = sortPatchKeys(releaseNotes, requestedVersion) - const renderedPatches = await Promise.all(patches.map(async patch => { - // Render the intro block, it might contain markdown formatting - patch.intro = await renderContent(patch.intro, req.context) + req.context.releaseNotes = await Promise.all(patches.map(async patch => renderPatchNotes(patch, req.context))) - // Run the notes through the markdown rendering pipeline - patch.notes = await Promise.all(patch.notes.map(async note => { - if (note.note) note.note = await renderContent(note.note, req.context) - return note - })) + // Put together information about other releases + req.context.releases = enterpriseReleases.map(version => { + const ret = { version } + if (!req.context.site.data['release-notes']) return ret + const release = req.context.site.data['release-notes'][version.replace(/\./g, '-')] + if (!release) return ret + const patches = sortPatchKeys(release, version) + return { ...ret, patches } + }) - // Sort the notes into sections - // Takes an array of notes: Array<{ note, type }> - // Turns it into { [type]: [{ note }] } - patch.sortedNotes = patch.notes.reduce((prev, curr) => { - const existingObj = prev.find(o => o.title === curr.type) - if (!existingObj) { - prev.push({ title: curr.type, notes: [curr] }) - } else { - existingObj.notes.push(curr) - } - return prev - }, []) - - return patch - })) - - req.context.releaseNotes = renderedPatches + const releaseIndex = enterpriseReleases.findIndex(release => release === requestedVersion) + req.context.nextRelease = enterpriseReleases[releaseIndex - 1] + req.context.prevRelease = enterpriseReleases[releaseIndex + 1] return next() } diff --git a/stylesheets/gradients.scss b/stylesheets/gradients.scss new file mode 100644 index 0000000000..d49462f1e0 --- /dev/null +++ b/stylesheets/gradients.scss @@ -0,0 +1,83 @@ +// Dark Text Gradients + +.text-gradient { + -webkit-background-clip: text !important; + background-clip: text !important; + -webkit-text-fill-color: transparent; + -webkit-box-decoration-break: clone; + + &-aquamarine-mauve { + @extend .text-gradient; + background: -webkit-linear-gradient(130deg, #3bf0e4 -6.8%, #bca1f7 70%); + } + &-dark-mint { + @extend .text-gradient; + background: -webkit-linear-gradient(90deg, #05aa82, #1c8df0); + } + &-mint-blue-dark { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #a2facf 0%, #64acff 100%); + } + &-coral-yellow-dark { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #ff7170 0%, #ffe57f 100%); + } + &-purple-coral-dark { + @extend .text-gradient; + background: -webkit-linear-gradient(92deg, #bca1f7 15%, #e577b4 45%, #ff7170 85%); + } + &-turq-purple-dark { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #3bf0e4 0%, #bca1f7 100%); + } + &-pink-blue-dark { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #e577b4 0%, #64acff 100%); + } + + // Light Text Gradients + &-blue-green { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #2188ff 0%, #01a49e 100%); + } + &-red-orange { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #ed4e50 0%, #f06f00 100%); + } + &-purple-coral { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #9867f0 0%, #ed4e50 100%); + } + &-blue-purple { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #2188ff 0%, #804eda 100%); + } + &-pink-blue { + @extend .text-gradient; + background: -webkit-linear-gradient(-70deg, #db469f 0%, #2188ff 100%); + } +} + +.bg-gradient { + &-red-orange { + background: linear-gradient(-70deg, #ed4e50 0%, #f06f00 100%); + } + &-aquamarine-mauve { + background: linear-gradient(130deg, #3bf0e4 -6.8%, #bca1f7 70%); + } + &-purple-coral { + background: linear-gradient(87.54deg, #9867f0 -6.8%, #ed4e50 84.14%); + } + &-coral-yellow { + background: linear-gradient(267.91deg, #ffe57f 9.35%, #ff7170 96.48%); + } + &-dark-mint { + background: linear-gradient(90deg, #05aa82, #1c8df0); + } + &-mint-blue { + background: linear-gradient(271.72deg, #a2facf 7.09%, #64acff 96.61%); + } + &-blue-purple { + background: linear-gradient(90.91deg, #027bfd -24.67%, #9f51fb 53.55%); + } +} diff --git a/stylesheets/index.scss b/stylesheets/index.scss index d0cd95ec13..21702f86c3 100644 --- a/stylesheets/index.scss +++ b/stylesheets/index.scss @@ -56,3 +56,5 @@ $marketing-font-path: "/dist/fonts/"; @import "shadows.scss"; @import "product-landing.scss"; @import "dev-toc.scss"; +@import "release-notes.scss"; +@import "gradients.scss"; \ No newline at end of file diff --git a/stylesheets/release-notes.scss b/stylesheets/release-notes.scss new file mode 100644 index 0000000000..5ec1cbd7e8 --- /dev/null +++ b/stylesheets/release-notes.scss @@ -0,0 +1,17 @@ +ul.release-notes-list li.release-notes-list-item { + &::marker { + // `• ` + content: '\2022\00a0'; + font-size: 1.6em; + margin-right: $spacer-2; + color: $gray-400; + } + + &.list-style-none::marker { + content: ''; + } +} + +details[open].release-notes-version-picker summary .octicon.octicon-chevron-down { + transform: rotate(180deg); +} diff --git a/tests/meta/repository-references.js b/tests/meta/repository-references.js index 9df0e07888..388b3259fd 100644 --- a/tests/meta/repository-references.js +++ b/tests/meta/repository-references.js @@ -48,7 +48,8 @@ describe('check for repository references', () => { 'docs/index.yaml', 'lib/excluded-links.js', 'content/early-access', - 'data/early-access' + 'data/early-access', + 'data/release-notes' // These include links to internal issues in Liquid comments ] }) From 21b44e08cb6f04da09768eba43970ee7808d8685 Mon Sep 17 00:00:00 2001 From: Jason Etcovitch Date: Fri, 11 Dec 2020 14:38:45 -0500 Subject: [PATCH 34/39] Fix Algolia page for release notes (#16907) * Add an h1 for Algolia * Fix markdown styles --- layouts/release-notes.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/layouts/release-notes.html b/layouts/release-notes.html index 7625dda74f..daf45e7f11 100644 --- a/layouts/release-notes.html +++ b/layouts/release-notes.html @@ -11,7 +11,7 @@ {% include header %} {% include deprecation-banner %} -
    +
    -