From c46e43e03bd11de14fd78b67d86fbd380d5778be Mon Sep 17 00:00:00 2001 From: Bradley Grainger Date: Tue, 5 Oct 2021 06:26:03 -0700 Subject: [PATCH 01/16] Fix link to self-review. --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 51227417a2..cb2a9e7b4b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -25,7 +25,7 @@ Closes [issue link] ### Check off the following: - [ ] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click **View deployment**). -- [ ] For content changes, I have completed the [self-review checklist](https://github.com/github/docs/blob/main/CONTRIBUTING.md#self-review). +- [ ] For content changes, I have completed the [self-review checklist](https://github.com/github/docs/blob/main/contributing/self-review.md#self-review). ### Writer impact (This section is for GitHub staff members only): From 3184b254a0edc4d6a3caeea2a3742b4518cd276a Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 12:31:47 -0500 Subject: [PATCH 02/16] Declare that undeploy job needs cancel-jobs-before-undeploy job (#21894) --- .github/workflows/staging-undeploy-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/staging-undeploy-pr.yml b/.github/workflows/staging-undeploy-pr.yml index e71e363f1f..35a662d9fd 100644 --- a/.github/workflows/staging-undeploy-pr.yml +++ b/.github/workflows/staging-undeploy-pr.yml @@ -42,6 +42,7 @@ jobs: echo 'Cancelling other deployment runs (if any)...' undeploy: + needs: cancel-jobs-before-undeploy if: ${{ github.repository == 'github/docs-internal' || github.repository == 'github/docs' }} runs-on: ubuntu-latest timeout-minutes: 5 From a984700b0cd62f8dfe4d1cbfb20d78aa84d59319 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 5 Oct 2021 17:43:24 +0000 Subject: [PATCH 03/16] update search indexes --- lib/search/indexes/github-docs-2.22-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-cn.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt.json.br | 4 ++-- 72 files changed, 144 insertions(+), 144 deletions(-) diff --git a/lib/search/indexes/github-docs-2.22-cn-records.json.br b/lib/search/indexes/github-docs-2.22-cn-records.json.br index eaeb2baa19..36096e03ec 100644 --- a/lib/search/indexes/github-docs-2.22-cn-records.json.br +++ b/lib/search/indexes/github-docs-2.22-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fddf4c7faf6c930bf0e378a1ffcc9bfef95449c1d863b7143091bf1c960cd41 -size 525387 +oid sha256:cbb2d80d35e5e85dfa53a3833fec3f1ca8bf3ef878169f5e396bb185c757a2d7 +size 525507 diff --git a/lib/search/indexes/github-docs-2.22-cn.json.br b/lib/search/indexes/github-docs-2.22-cn.json.br index 44006dba5f..b2bdebdc13 100644 --- a/lib/search/indexes/github-docs-2.22-cn.json.br +++ b/lib/search/indexes/github-docs-2.22-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6cdba924672d13a96e72c94d0b655f2da4f5db0d43a0ea2fa1405f6b42ccc19a -size 868817 +oid sha256:a9f36dd4cecb6f5adb3664aba8b2cf9998ad5e7c135303ab74aeb3ed47e37fba +size 868782 diff --git a/lib/search/indexes/github-docs-2.22-de-records.json.br b/lib/search/indexes/github-docs-2.22-de-records.json.br index 0265fa7ed4..44f0461241 100644 --- a/lib/search/indexes/github-docs-2.22-de-records.json.br +++ b/lib/search/indexes/github-docs-2.22-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f8031aa7987254c33af030664ead0eb1c3e50fc6fcff27a5ca4f292ba67cbb50 -size 479354 +oid sha256:0e4989aa501e78a09769a574be8cd3350f7635c8ec335967b3019d7718fc10e2 +size 479365 diff --git a/lib/search/indexes/github-docs-2.22-de.json.br b/lib/search/indexes/github-docs-2.22-de.json.br index 004f53dcd3..5c28d69bfd 100644 --- a/lib/search/indexes/github-docs-2.22-de.json.br +++ b/lib/search/indexes/github-docs-2.22-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b99f605bc49ee1b3a25628af635843f16e7977a73e52390bc313acd016c7bde5 -size 2127018 +oid sha256:3fa235aa73771f6bbb01e7e5a2fb54e1c1e8fbcd30c3f96b5bd04767727d902c +size 2127939 diff --git a/lib/search/indexes/github-docs-2.22-en-records.json.br b/lib/search/indexes/github-docs-2.22-en-records.json.br index 2143880b36..47cc9d9117 100644 --- a/lib/search/indexes/github-docs-2.22-en-records.json.br +++ b/lib/search/indexes/github-docs-2.22-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1af5ed92b5d28760746f716ae1cb30744cc31fa11e4fbac972165224d7569c00 -size 433209 +oid sha256:222bce107edf6d1ae5c710c45d7f940b6b030cec155c56092ab2043879e7dca5 +size 433344 diff --git a/lib/search/indexes/github-docs-2.22-en.json.br b/lib/search/indexes/github-docs-2.22-en.json.br index b4f60a79e8..5e58bbb750 100644 --- a/lib/search/indexes/github-docs-2.22-en.json.br +++ b/lib/search/indexes/github-docs-2.22-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f74a2f4c99b8b8c12d08e13664063fb5127ed5eafee4172d24339a4420e4ea4 -size 1691908 +oid sha256:6f4609be9fd8ca8cbefec201010f5ecbb3a5b4d2a85d72c68b5cc892a44dd8a4 +size 1692349 diff --git a/lib/search/indexes/github-docs-2.22-es-records.json.br b/lib/search/indexes/github-docs-2.22-es-records.json.br index a565e203b1..6e86190fe1 100644 --- a/lib/search/indexes/github-docs-2.22-es-records.json.br +++ b/lib/search/indexes/github-docs-2.22-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:684ae2ed9ff94f290a37483b01392248ecad74c82a2cdb0a3d310248a81b003e -size 194966 +oid sha256:d08fd927b6a9565cb760d941e31af2ced02569a13d086d15c862fd78264dd450 +size 195205 diff --git a/lib/search/indexes/github-docs-2.22-es.json.br b/lib/search/indexes/github-docs-2.22-es.json.br index 813eee40c5..57033eb226 100644 --- a/lib/search/indexes/github-docs-2.22-es.json.br +++ b/lib/search/indexes/github-docs-2.22-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8da6555baf4dc636f2a10b47c5b9cee0af00ea34f065c7e2927eb761d6e65390 -size 702561 +oid sha256:7b08b2d9e1cba12a661e4d6fda08791cadc9b6e84cdd0cb962074568c4d5bb97 +size 702609 diff --git a/lib/search/indexes/github-docs-2.22-ja-records.json.br b/lib/search/indexes/github-docs-2.22-ja-records.json.br index 03a6519646..1fcc8bd3e1 100644 --- a/lib/search/indexes/github-docs-2.22-ja-records.json.br +++ b/lib/search/indexes/github-docs-2.22-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac5b16a4f0e00a22ceafc689084228c5e9256bdd2e7899158b6d029691ee2ec2 -size 545312 +oid sha256:e213cbf9c90b97eea8f12bc6981a27b24f3bc95e5db41f9022bff86a3df17f10 +size 545532 diff --git a/lib/search/indexes/github-docs-2.22-ja.json.br b/lib/search/indexes/github-docs-2.22-ja.json.br index 70cdd86c03..1e2ea90af2 100644 --- a/lib/search/indexes/github-docs-2.22-ja.json.br +++ b/lib/search/indexes/github-docs-2.22-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a9ca00d6233c9a57d6c626adb98a3ab56acd7a603dadb9b07dd9d56dfe912ca -size 2880736 +oid sha256:b35cf165bb7ed70ae0eac16a3476d7fa316f0d4aba345db6a0e4703b4f402080 +size 2882065 diff --git a/lib/search/indexes/github-docs-2.22-pt-records.json.br b/lib/search/indexes/github-docs-2.22-pt-records.json.br index d6283a8163..8c600e001f 100644 --- a/lib/search/indexes/github-docs-2.22-pt-records.json.br +++ b/lib/search/indexes/github-docs-2.22-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eeaa533b175af0ed77e04bc809e267e2d9691cc71db070d76daa65713db4ace0 -size 456916 +oid sha256:1627518ddf631ad8c177add05b0b725d6ed536b7eb527c2f18d0c592d6a04918 +size 456721 diff --git a/lib/search/indexes/github-docs-2.22-pt.json.br b/lib/search/indexes/github-docs-2.22-pt.json.br index 4df906d3c3..6889251443 100644 --- a/lib/search/indexes/github-docs-2.22-pt.json.br +++ b/lib/search/indexes/github-docs-2.22-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e564855f3a9cb64eac81e2e824ee4567ccebf8c0ad3c23a063af553cf2cd202a -size 1906016 +oid sha256:5a5d22a08b3e92ce8bfc3e2816d37cee7b540c96c819759e749429a638478c28 +size 1905437 diff --git a/lib/search/indexes/github-docs-3.0-cn-records.json.br b/lib/search/indexes/github-docs-3.0-cn-records.json.br index b56ee84cc8..3eadf06ca2 100644 --- a/lib/search/indexes/github-docs-3.0-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.0-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2bf514c59e3928c9c156a7297961ac0f9e40196c133f0f6f42b9124a54571a97 -size 544827 +oid sha256:bf1410f8359bc105d86e756cca42835a8014bfc245202a725012c88caf0f17a9 +size 544955 diff --git a/lib/search/indexes/github-docs-3.0-cn.json.br b/lib/search/indexes/github-docs-3.0-cn.json.br index a02e362647..e9a6b104bf 100644 --- a/lib/search/indexes/github-docs-3.0-cn.json.br +++ b/lib/search/indexes/github-docs-3.0-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:870a970a2d7faa1bebf71d76ef894bfbb30f7d1d9b9aeb724fecb0ffa2ddfe6f -size 906924 +oid sha256:826dfe31de1349559813ce954376bf4b9ef2964fe6b0722b8fe4b6d6cd2d308f +size 906637 diff --git a/lib/search/indexes/github-docs-3.0-de-records.json.br b/lib/search/indexes/github-docs-3.0-de-records.json.br index ad9ba4ce06..a633c721f6 100644 --- a/lib/search/indexes/github-docs-3.0-de-records.json.br +++ b/lib/search/indexes/github-docs-3.0-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2538fd004ef1f5cfd3c68865cc225200ec4650fce02d758345f9f491aa99fee5 -size 499761 +oid sha256:6640729bbb9705a0c8bf2c6de6e4afa032c6a42c4cab76353b96374025f22146 +size 499700 diff --git a/lib/search/indexes/github-docs-3.0-de.json.br b/lib/search/indexes/github-docs-3.0-de.json.br index 9db729d843..173c032ad4 100644 --- a/lib/search/indexes/github-docs-3.0-de.json.br +++ b/lib/search/indexes/github-docs-3.0-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49c06c5d0f26bb42d2797c56fb4dcbfdad8b3856760452eb9fbb7fe37e14d167 -size 2232343 +oid sha256:79a5bbdc7fb3d8b126c6d4c9a400cf771add04d71c75caa864c1c6b85b67a870 +size 2233040 diff --git a/lib/search/indexes/github-docs-3.0-en-records.json.br b/lib/search/indexes/github-docs-3.0-en-records.json.br index 107fe60df3..c9bb044aeb 100644 --- a/lib/search/indexes/github-docs-3.0-en-records.json.br +++ b/lib/search/indexes/github-docs-3.0-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56eee7ffb97d071f93035c1e14e52107831f3b45af4ed351c941ed1796b0624e -size 453365 +oid sha256:ed646d323be99e7b847dab80da0ea759f00b99c560ba46593efabf555a77f4bf +size 452925 diff --git a/lib/search/indexes/github-docs-3.0-en.json.br b/lib/search/indexes/github-docs-3.0-en.json.br index c9b621d729..5ddae7f9df 100644 --- a/lib/search/indexes/github-docs-3.0-en.json.br +++ b/lib/search/indexes/github-docs-3.0-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d8f2b68341c3ae80dbfbfe40d910816bbb99f141239672bbd70f035d9a5a60f -size 1766262 +oid sha256:106cf7e4ac8708efff6baf5a509c2afc9cda493b697e0035ae54dab90b2990b8 +size 1766498 diff --git a/lib/search/indexes/github-docs-3.0-es-records.json.br b/lib/search/indexes/github-docs-3.0-es-records.json.br index d40791e8c1..ae061e13c0 100644 --- a/lib/search/indexes/github-docs-3.0-es-records.json.br +++ b/lib/search/indexes/github-docs-3.0-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e7f2780c8fe7c1aab0ed263ab293ce6d954bd417cb0ba3cc1f79698d8748bba -size 193801 +oid sha256:7f763b626b0d253834788287b12faaf405b74964ef715411e6b29e46038aa919 +size 193641 diff --git a/lib/search/indexes/github-docs-3.0-es.json.br b/lib/search/indexes/github-docs-3.0-es.json.br index a7f025d90a..98821cfb77 100644 --- a/lib/search/indexes/github-docs-3.0-es.json.br +++ b/lib/search/indexes/github-docs-3.0-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b810b4df4eee3953399f92c37951736bdc71eea7463222a321b3db333b31252b -size 694352 +oid sha256:293a76890f56500bee9b88c2e58f2c3a8c029e0c60f1b7221733db8921de190f +size 694283 diff --git a/lib/search/indexes/github-docs-3.0-ja-records.json.br b/lib/search/indexes/github-docs-3.0-ja-records.json.br index 4f1517d679..05ab9a417d 100644 --- a/lib/search/indexes/github-docs-3.0-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.0-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53e7f463b04033d32c3996b0212503d4b199da02c3d14499b3472e1f080b2398 -size 567804 +oid sha256:74af6d629f3a42326bef83b4aa230f3872ad519c80d39169538f5cf2d2e9974b +size 567795 diff --git a/lib/search/indexes/github-docs-3.0-ja.json.br b/lib/search/indexes/github-docs-3.0-ja.json.br index af9f1926e3..0ea4e70431 100644 --- a/lib/search/indexes/github-docs-3.0-ja.json.br +++ b/lib/search/indexes/github-docs-3.0-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49a2a706283a54b8f878a9edde25b3be6504d32447b32558994a6db17ac320dc -size 3007018 +oid sha256:03e14228282df34399326469181cefef9b2c54d6cf676bf1cf983ea1678615e1 +size 3008538 diff --git a/lib/search/indexes/github-docs-3.0-pt-records.json.br b/lib/search/indexes/github-docs-3.0-pt-records.json.br index 8ca7cf4643..053da0ad36 100644 --- a/lib/search/indexes/github-docs-3.0-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.0-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d081c90eb2aaaff60ebc80549e72734df6b03f03baa8b53d0a62255be77e56d7 -size 477490 +oid sha256:08771e46080efb50a26e9686cd352b4d50b5497e286e594bfdee00372737e4e1 +size 477617 diff --git a/lib/search/indexes/github-docs-3.0-pt.json.br b/lib/search/indexes/github-docs-3.0-pt.json.br index 25eb9d11f4..e0c3be5247 100644 --- a/lib/search/indexes/github-docs-3.0-pt.json.br +++ b/lib/search/indexes/github-docs-3.0-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b12f9dd29b19b36445a09b1b82727c09d98c315c7ba89e3cd83a021314062d2 -size 1994090 +oid sha256:a616e92e0b52088fa5a1294ac59605aa995a3e8e2b562650b2164f8fa07652c7 +size 1993322 diff --git a/lib/search/indexes/github-docs-3.1-cn-records.json.br b/lib/search/indexes/github-docs-3.1-cn-records.json.br index a128c18ff8..f50c3ffec1 100644 --- a/lib/search/indexes/github-docs-3.1-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.1-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ad305dc09e9a22d000b29a82e3f8fb9946d1ae5e74049de10dccf3b9e929f94 -size 557425 +oid sha256:b9dec8357fa232d190b19793e451edd0195f4645f5a20aa9729032e0ef727c8e +size 557391 diff --git a/lib/search/indexes/github-docs-3.1-cn.json.br b/lib/search/indexes/github-docs-3.1-cn.json.br index 6b14f3b380..3ce746da60 100644 --- a/lib/search/indexes/github-docs-3.1-cn.json.br +++ b/lib/search/indexes/github-docs-3.1-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e17dfd64c1d3e9de9fffc1f478ec4c7664799b03ec7405a6eec3cb212a6f573 -size 929718 +oid sha256:3f58cfbcda789631b164c29ec4965b58ede8d382622f42b7943c1b9ef27342a8 +size 929478 diff --git a/lib/search/indexes/github-docs-3.1-de-records.json.br b/lib/search/indexes/github-docs-3.1-de-records.json.br index 9f3e6eb6aa..2849bd2ec0 100644 --- a/lib/search/indexes/github-docs-3.1-de-records.json.br +++ b/lib/search/indexes/github-docs-3.1-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce036cc17ecb858f5256716d97332d6048f7b4c61250ffa5d061bd6b3bb1e9d8 -size 508542 +oid sha256:517ba3e3ac5958cc63b2fd9eba574caca0621e99c95ecea056a0ef4cc0f774c8 +size 508465 diff --git a/lib/search/indexes/github-docs-3.1-de.json.br b/lib/search/indexes/github-docs-3.1-de.json.br index 5af46db205..661e1aecad 100644 --- a/lib/search/indexes/github-docs-3.1-de.json.br +++ b/lib/search/indexes/github-docs-3.1-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ce66bf59df88391d0438292bc4fc0a01581f77de1e1696df20d2de53401e373 -size 2284813 +oid sha256:03744bbd72090103ecfb665be3270518f7360958dfa06d65d36920a50ec04053 +size 2284825 diff --git a/lib/search/indexes/github-docs-3.1-en-records.json.br b/lib/search/indexes/github-docs-3.1-en-records.json.br index a157e97a2a..acbe961958 100644 --- a/lib/search/indexes/github-docs-3.1-en-records.json.br +++ b/lib/search/indexes/github-docs-3.1-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c750dddeba3fa6917a5fb899b98a0abfe15ab92e8740dafdae885c999756775e -size 461953 +oid sha256:1cdb7cf7d6734b09da4e573bd2e0baa860a1661116c7e81f896b5d751e94bb4c +size 461942 diff --git a/lib/search/indexes/github-docs-3.1-en.json.br b/lib/search/indexes/github-docs-3.1-en.json.br index 2c9f6d9811..f271abb1a3 100644 --- a/lib/search/indexes/github-docs-3.1-en.json.br +++ b/lib/search/indexes/github-docs-3.1-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3293fa50b36d8c39712d1f315282099702cdceddd51daf619c97a59c016a6583 -size 1804852 +oid sha256:c07327cb961e2e3486da77d7d0ea7ec54f9afb9b5d976fce08c45d91bb9d5f16 +size 1805237 diff --git a/lib/search/indexes/github-docs-3.1-es-records.json.br b/lib/search/indexes/github-docs-3.1-es-records.json.br index 3af8c55364..c6ada80655 100644 --- a/lib/search/indexes/github-docs-3.1-es-records.json.br +++ b/lib/search/indexes/github-docs-3.1-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f649f668c7a78318efdf0af749846e2cd8dbda4bffaeb86a32ced1b1a42b682 -size 193642 +oid sha256:c684920a6c549196ed74921363d25d66ad033c4a9d882547b239de5e8bb91ea6 +size 193685 diff --git a/lib/search/indexes/github-docs-3.1-es.json.br b/lib/search/indexes/github-docs-3.1-es.json.br index f04cc7902d..7cc6259ed7 100644 --- a/lib/search/indexes/github-docs-3.1-es.json.br +++ b/lib/search/indexes/github-docs-3.1-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6384445ec50d97e6536e86ec01f3e981daa0256d0bf4cba56fb42e7d18631773 -size 694106 +oid sha256:4146c318a059f7b9fd81f3a5d924a9e21a6efa9e6866be8b056fc1f8bb4f01ab +size 694403 diff --git a/lib/search/indexes/github-docs-3.1-ja-records.json.br b/lib/search/indexes/github-docs-3.1-ja-records.json.br index 1bef4f75c6..64ebc93cfd 100644 --- a/lib/search/indexes/github-docs-3.1-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.1-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdc13a433adfde9df018da3d98ac4a273499d50226ba3a3ae81bbfcef28542f5 -size 579765 +oid sha256:9dba7bbe5bc6ac00e7d22ec249e260d8970c6f24dc9ee67d9d68da6ea7ddc59c +size 579917 diff --git a/lib/search/indexes/github-docs-3.1-ja.json.br b/lib/search/indexes/github-docs-3.1-ja.json.br index f908bfb3ee..91c133e1e2 100644 --- a/lib/search/indexes/github-docs-3.1-ja.json.br +++ b/lib/search/indexes/github-docs-3.1-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58ee435f8493df69e0db01590a338af6dcc046c1129f609a754c3d45fa2be3e4 -size 3073608 +oid sha256:ab3a51c1362f3828c8193cb9da95d0cc4ccd0be7b0a5574f06ac1002a83bdd9d +size 3073853 diff --git a/lib/search/indexes/github-docs-3.1-pt-records.json.br b/lib/search/indexes/github-docs-3.1-pt-records.json.br index c05eaffade..a7bfa803a4 100644 --- a/lib/search/indexes/github-docs-3.1-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.1-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e258eaf818c974da57c5d348359e5e20e222bda61be8d0fa945ebcbacaa8fb4 -size 487223 +oid sha256:55d902647f5549f5d0403e063dffa6395286f438e065d5b457559a88a0bae930 +size 487253 diff --git a/lib/search/indexes/github-docs-3.1-pt.json.br b/lib/search/indexes/github-docs-3.1-pt.json.br index a24230e93f..6a059b7149 100644 --- a/lib/search/indexes/github-docs-3.1-pt.json.br +++ b/lib/search/indexes/github-docs-3.1-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f018d3a08a09c4e708c94477cad1e50e0a6424ae5773b9f4e0b9ae5f0b40af7b -size 2036343 +oid sha256:dbbea1c794e8f86369fe53d9cae6fca6118bb951b127c27cd60b9d4cd915e141 +size 2037559 diff --git a/lib/search/indexes/github-docs-3.2-cn-records.json.br b/lib/search/indexes/github-docs-3.2-cn-records.json.br index c17b93585d..cbc53ba75b 100644 --- a/lib/search/indexes/github-docs-3.2-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.2-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f639e18af0f10e4d3e3fd3a75e0e865cb0bcca1b30acaa3a92adc2d9da8bcef1 -size 567991 +oid sha256:628b0dc654cd25711900d599eac51d8d867d9f4111fd3387c55d675360dde19e +size 568088 diff --git a/lib/search/indexes/github-docs-3.2-cn.json.br b/lib/search/indexes/github-docs-3.2-cn.json.br index fcbfe33c50..65739cd96b 100644 --- a/lib/search/indexes/github-docs-3.2-cn.json.br +++ b/lib/search/indexes/github-docs-3.2-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c51adeb90f772f779ee9d07c0c264faadd64f3410f1d4dc4e035db558fedfe2 -size 948883 +oid sha256:90a70cedc341f7ad16b5aa7c735bafa2efdee999cea4d2adfdd03a3b9f903dbb +size 949108 diff --git a/lib/search/indexes/github-docs-3.2-de-records.json.br b/lib/search/indexes/github-docs-3.2-de-records.json.br index 3ce26fa3cb..1a1ab8c0f0 100644 --- a/lib/search/indexes/github-docs-3.2-de-records.json.br +++ b/lib/search/indexes/github-docs-3.2-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55ced6f594891748c1f9b12d300b9c25a36a08bcb93124fb4528423c8e4d7436 -size 517640 +oid sha256:6f56f602c0f46d0c2279a6349544540f24e327ee55e2012c20536ae1637ca061 +size 517528 diff --git a/lib/search/indexes/github-docs-3.2-de.json.br b/lib/search/indexes/github-docs-3.2-de.json.br index e632111094..bd0bab1b8b 100644 --- a/lib/search/indexes/github-docs-3.2-de.json.br +++ b/lib/search/indexes/github-docs-3.2-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e98505a08a7aa99326182d580fd8e74505c550a825ba6751594f6c5886d8f635 -size 2332458 +oid sha256:bfe05993eb41edbc7eda80f04e246544b3da3115fd9d2a605c1dc9bbbef09f1c +size 2333320 diff --git a/lib/search/indexes/github-docs-3.2-en-records.json.br b/lib/search/indexes/github-docs-3.2-en-records.json.br index c712fd50e4..dbb5b91540 100644 --- a/lib/search/indexes/github-docs-3.2-en-records.json.br +++ b/lib/search/indexes/github-docs-3.2-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:752e411b9781f6ed04421e84bbf5e7ea7b59484317056cac327f4a3c70cb6de1 -size 470578 +oid sha256:10be4e6bcf2689fa11e9b0fe1842f04ff2bad6dcc99f025d48486dc0c24b4af3 +size 471502 diff --git a/lib/search/indexes/github-docs-3.2-en.json.br b/lib/search/indexes/github-docs-3.2-en.json.br index 21f684736a..8d3d0e3b48 100644 --- a/lib/search/indexes/github-docs-3.2-en.json.br +++ b/lib/search/indexes/github-docs-3.2-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b580446492439c10830e82df784b9ae51ebd99d0e9dfc84c4e2e6bd35091179e -size 1837601 +oid sha256:73ee8fd727751dec54cea9c1d38b887bdd3a662a31c40e2f1ed5e8346291faff +size 1838899 diff --git a/lib/search/indexes/github-docs-3.2-es-records.json.br b/lib/search/indexes/github-docs-3.2-es-records.json.br index c11d05e3f4..9268c31c2a 100644 --- a/lib/search/indexes/github-docs-3.2-es-records.json.br +++ b/lib/search/indexes/github-docs-3.2-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8b1e5f442286f359edae735cb5aa734715092f91c0bf9b5f451966e8a86cc9d -size 193623 +oid sha256:f90906b8706d1ad4484ecf0f7389cfc105c8407be0b45f9db73dd6a6ad9e1065 +size 193588 diff --git a/lib/search/indexes/github-docs-3.2-es.json.br b/lib/search/indexes/github-docs-3.2-es.json.br index f9f83187ca..51d3a3985b 100644 --- a/lib/search/indexes/github-docs-3.2-es.json.br +++ b/lib/search/indexes/github-docs-3.2-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcee8f4de2c5c68ec0398ab42b56fa260dd221b74b2d8af1479867483fd04866 -size 694265 +oid sha256:9121cbe9e57b0c483a31997649e7b0891d51dca751a11af56cd4995daf983cfa +size 694362 diff --git a/lib/search/indexes/github-docs-3.2-ja-records.json.br b/lib/search/indexes/github-docs-3.2-ja-records.json.br index 782f66755a..c5400c3462 100644 --- a/lib/search/indexes/github-docs-3.2-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.2-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21e91105029496724f2f82ba2000ba65eaa5329bed583b4e7f2c11d39f497942 -size 590355 +oid sha256:fd8574928f998f6d3fd1f125128a2dac8f0c45accf8a437fd2de3968c728cd94 +size 590437 diff --git a/lib/search/indexes/github-docs-3.2-ja.json.br b/lib/search/indexes/github-docs-3.2-ja.json.br index 06cd24fe66..bb677f0f8a 100644 --- a/lib/search/indexes/github-docs-3.2-ja.json.br +++ b/lib/search/indexes/github-docs-3.2-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e61b40d7c866e660e30b09ec1a575f9f1388b211c75c2968e418890aacc9ca6 -size 3139802 +oid sha256:1cf4796dfcea5a8d9004825207bd4cb59480d108c3521d9643ed2ca86ca4da5e +size 3140907 diff --git a/lib/search/indexes/github-docs-3.2-pt-records.json.br b/lib/search/indexes/github-docs-3.2-pt-records.json.br index 33d1b16070..92630b9b41 100644 --- a/lib/search/indexes/github-docs-3.2-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.2-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09f632ae8796b8f5c1845c89d319935a188a1641f1ab65cb05a0e9f91c6c6c2e -size 496563 +oid sha256:a4e92197edb1bf5ab17fb4adfb97262f0b1dc5873884375dd45d8e22d5343bc4 +size 496616 diff --git a/lib/search/indexes/github-docs-3.2-pt.json.br b/lib/search/indexes/github-docs-3.2-pt.json.br index a5cfe1d4e0..3323f9b80f 100644 --- a/lib/search/indexes/github-docs-3.2-pt.json.br +++ b/lib/search/indexes/github-docs-3.2-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d67d4d22c177a7b0ba24ffe243b9d62773710ac68fdf65235eef18435504438 -size 2078064 +oid sha256:1d354d5cd052751d0e0056581814c5d4ee41907d73cd33db5cf00c44e73f4f71 +size 2079118 diff --git a/lib/search/indexes/github-docs-dotcom-cn-records.json.br b/lib/search/indexes/github-docs-dotcom-cn-records.json.br index fe60285cca..1e57f07c43 100644 --- a/lib/search/indexes/github-docs-dotcom-cn-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41b1cc4a802ea385979c392523bf971cc7c3ec938b1e9204caafe571c158dcbc -size 770867 +oid sha256:bd01619759b4ec4432f5d2f15d6839a7f3635cb41ae65248090d347c1259c585 +size 770935 diff --git a/lib/search/indexes/github-docs-dotcom-cn.json.br b/lib/search/indexes/github-docs-dotcom-cn.json.br index b23e202ef7..eb486ec717 100644 --- a/lib/search/indexes/github-docs-dotcom-cn.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a794aad29a10a55d1808133f201af9a84120baab06aa5ca6528b561ec0e02191 -size 1171975 +oid sha256:ef8d0fb2b6dd26b5bb57b961650914319eb411ecf4162f505f42ea1add9c0588 +size 1171701 diff --git a/lib/search/indexes/github-docs-dotcom-de-records.json.br b/lib/search/indexes/github-docs-dotcom-de-records.json.br index 5478b99f74..e3643e34bf 100644 --- a/lib/search/indexes/github-docs-dotcom-de-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b7204fc53e0fb66bfa17ec8146182d5e9a101f0ce7f79bd69097184a1a2d81d -size 690488 +oid sha256:7911a8e79e6e12b0fc6f571219e90c383bc08d226d9d8df36f26b846cc81f6c6 +size 690860 diff --git a/lib/search/indexes/github-docs-dotcom-de.json.br b/lib/search/indexes/github-docs-dotcom-de.json.br index 53150bdb28..6415f04986 100644 --- a/lib/search/indexes/github-docs-dotcom-de.json.br +++ b/lib/search/indexes/github-docs-dotcom-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cdc586417bb82419c73bb97e06f053dc67c3b1a6545b85a65d4927c54f13f222 -size 3124134 +oid sha256:acd4550be23b9110f918392d9d1510981093367e3ad2fdc6617a51a74c48280f +size 3125158 diff --git a/lib/search/indexes/github-docs-dotcom-en-records.json.br b/lib/search/indexes/github-docs-dotcom-en-records.json.br index fccd06127c..5d19d94a38 100644 --- a/lib/search/indexes/github-docs-dotcom-en-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:323cdec00093da4bdae83801ff99b25c14675130a5c39775e13b3e24a360fb19 -size 636380 +oid sha256:4fc840d330eb5d1b8af74d4b588f47de99aa5dcdcf71ff3ce452b7f0d15d9d95 +size 636739 diff --git a/lib/search/indexes/github-docs-dotcom-en.json.br b/lib/search/indexes/github-docs-dotcom-en.json.br index 60efc10f50..6d68893cf7 100644 --- a/lib/search/indexes/github-docs-dotcom-en.json.br +++ b/lib/search/indexes/github-docs-dotcom-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f65f5e0c97318bbcbb572029d65958af88acbc6fe91a3be1eeb43bd1fd5f549a -size 2419325 +oid sha256:3506de03a226201ce322f499c224f3aa6c740cbb84acf6e4432d826fc765e905 +size 2419645 diff --git a/lib/search/indexes/github-docs-dotcom-es-records.json.br b/lib/search/indexes/github-docs-dotcom-es-records.json.br index e12956fb21..23d8ba8d48 100644 --- a/lib/search/indexes/github-docs-dotcom-es-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad355cc33f19caa65db451708b90aa3ff71fc0166360a9c38a53e414977ae625 -size 205209 +oid sha256:a5ec23890d6565f86c790052fedae535434823411e947b861a7f4e96594dd818 +size 205335 diff --git a/lib/search/indexes/github-docs-dotcom-es.json.br b/lib/search/indexes/github-docs-dotcom-es.json.br index a73a3fbe10..f59320dd8c 100644 --- a/lib/search/indexes/github-docs-dotcom-es.json.br +++ b/lib/search/indexes/github-docs-dotcom-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c12de3c0ef9cea4bbb7a44032b810970f11c8d3a7a4aa64ae65030cf97251d10 -size 651254 +oid sha256:184e1a79c820f0d94ab2dfbc9ad65d6416a55e83f13930f4fc90c73fa87c649d +size 651389 diff --git a/lib/search/indexes/github-docs-dotcom-ja-records.json.br b/lib/search/indexes/github-docs-dotcom-ja-records.json.br index bd021062c0..f4fa2e0b7b 100644 --- a/lib/search/indexes/github-docs-dotcom-ja-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40d34b94f1e8c1bc486057b29de0d0f17d58b022f4fdc0a17ff1ae338ed6424f -size 795235 +oid sha256:a8ee6e07d60ed6e31d87b34817dce0378cd0de8fdab1ee388126a5c520ba97c0 +size 795373 diff --git a/lib/search/indexes/github-docs-dotcom-ja.json.br b/lib/search/indexes/github-docs-dotcom-ja.json.br index ec82f6651f..a799ce00e9 100644 --- a/lib/search/indexes/github-docs-dotcom-ja.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29580572fcd363168719010f2d06a067a6b2dbe718fe2fc33bae7c995936f5d9 -size 4151082 +oid sha256:152d745ff83b2d43575c790b3f6f72cb36180edce82d4d408b6a45fc3827dac5 +size 4152796 diff --git a/lib/search/indexes/github-docs-dotcom-pt-records.json.br b/lib/search/indexes/github-docs-dotcom-pt-records.json.br index b063ef0e29..cde30da365 100644 --- a/lib/search/indexes/github-docs-dotcom-pt-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a8cc3dcdbb5fb8cee6db148f34387dd04e97de205d2700b70fc170529c98fa6 -size 669799 +oid sha256:bc0df7f412e53935927fc64516dd1f945800bdae411cc618903aeed611179bf8 +size 669958 diff --git a/lib/search/indexes/github-docs-dotcom-pt.json.br b/lib/search/indexes/github-docs-dotcom-pt.json.br index 1c9885199a..0bc1cd34d0 100644 --- a/lib/search/indexes/github-docs-dotcom-pt.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5c0ebf0a075601dda156efd63cc7bdb3df318c080ace8106321ab59836623e8 -size 2751097 +oid sha256:561e049c8f6ce1454065e50bc4d871e949f77a3f440d76002e1c2eb7adac8af7 +size 2752237 diff --git a/lib/search/indexes/github-docs-ghae-cn-records.json.br b/lib/search/indexes/github-docs-ghae-cn-records.json.br index 91516a9813..73d5df890e 100644 --- a/lib/search/indexes/github-docs-ghae-cn-records.json.br +++ b/lib/search/indexes/github-docs-ghae-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff85b5a41019647a259e6119e47d190de59b75eade046eafeec6d50da93f89c0 -size 433797 +oid sha256:cde2c0742d8880552341b997e17eaa0a6649a4db109bf2c2f921fbadf7fc7f53 +size 433835 diff --git a/lib/search/indexes/github-docs-ghae-cn.json.br b/lib/search/indexes/github-docs-ghae-cn.json.br index 142d187151..0886e053e4 100644 --- a/lib/search/indexes/github-docs-ghae-cn.json.br +++ b/lib/search/indexes/github-docs-ghae-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0b1fe3d194bc281c8e8189f701c5ef16311860228da5531ed5d4f3642b2aae5 -size 691631 +oid sha256:1cfdd92f7d58333bec5369fbb4ca36b67f2fc7ab86c508a3cee1a4208a341645 +size 691697 diff --git a/lib/search/indexes/github-docs-ghae-de-records.json.br b/lib/search/indexes/github-docs-ghae-de-records.json.br index 804df307ee..7c38ab44ea 100644 --- a/lib/search/indexes/github-docs-ghae-de-records.json.br +++ b/lib/search/indexes/github-docs-ghae-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c3acd02c1ad6e26b25aa43f22fe451be9e655f3ec70b7ade4dba271b210b578 -size 400644 +oid sha256:8572d57ef30775bdbe3079ee1e2b1cd797a71512168643a91f156517e122febd +size 400533 diff --git a/lib/search/indexes/github-docs-ghae-de.json.br b/lib/search/indexes/github-docs-ghae-de.json.br index 2d70589e49..502813c26b 100644 --- a/lib/search/indexes/github-docs-ghae-de.json.br +++ b/lib/search/indexes/github-docs-ghae-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f01ae7c51133cefaeabcc5fb247eecbe0e4b043080d072675eb47b2817660f7a -size 1741820 +oid sha256:f0935e10ef360341c50d3fc9c33aee72cb410bce729e6148600e2d0ef1e7e5e6 +size 1742028 diff --git a/lib/search/indexes/github-docs-ghae-en-records.json.br b/lib/search/indexes/github-docs-ghae-en-records.json.br index 5c5e1ea8da..5e1f314708 100644 --- a/lib/search/indexes/github-docs-ghae-en-records.json.br +++ b/lib/search/indexes/github-docs-ghae-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:63a3ca75e3ea6f44d5ac0169b55819db81f8b158b2e7aec5ccd2c2accaf0fd88 -size 363656 +oid sha256:7c5d442e2dd2f3c1a7976126cee8e2577650d21484cf7bffa310f74eebd4b19a +size 363724 diff --git a/lib/search/indexes/github-docs-ghae-en.json.br b/lib/search/indexes/github-docs-ghae-en.json.br index 1ef63562fc..550176cba9 100644 --- a/lib/search/indexes/github-docs-ghae-en.json.br +++ b/lib/search/indexes/github-docs-ghae-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4eb922c2cfcc1b9382b172d0445472d523dad84af79351071ca4f1c5394af924 -size 1350074 +oid sha256:bd20a215b24af51649c62a8cafa41bcb0dae7212fb6ca3f6cd5f10eeb0e216be +size 1349809 diff --git a/lib/search/indexes/github-docs-ghae-es-records.json.br b/lib/search/indexes/github-docs-ghae-es-records.json.br index b39844cbf9..e4d86dfa46 100644 --- a/lib/search/indexes/github-docs-ghae-es-records.json.br +++ b/lib/search/indexes/github-docs-ghae-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24bf7b1e7f067e5f4b5e5def8ca72a70b7776d7dd313f9452e4a4afa3cc2992d -size 130867 +oid sha256:ea8e345ed822bbc0f948fe72f4d6197f916f1df9284afdb513f4cecc6e6ba35b +size 130845 diff --git a/lib/search/indexes/github-docs-ghae-es.json.br b/lib/search/indexes/github-docs-ghae-es.json.br index 61a083f55d..39a2f364ef 100644 --- a/lib/search/indexes/github-docs-ghae-es.json.br +++ b/lib/search/indexes/github-docs-ghae-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0427921a031e7a4818cf35f23ff90595f3a7e9b700c7e1baf55395cd5dabff3c -size 420360 +oid sha256:d458159a826b99783f0de1ba564330dbc9401db7e947ca30fe09c6d043a61eae +size 420265 diff --git a/lib/search/indexes/github-docs-ghae-ja-records.json.br b/lib/search/indexes/github-docs-ghae-ja-records.json.br index 602e60d439..05fde0c48b 100644 --- a/lib/search/indexes/github-docs-ghae-ja-records.json.br +++ b/lib/search/indexes/github-docs-ghae-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f8e34654c36fe982b2a05825d77310caf5cd0000a3ece7769059a15bb70c3cd3 -size 453099 +oid sha256:667023920fdf8722362f83cdf3fa9f28f3170c1219becf3c7deda5c05633606e +size 453189 diff --git a/lib/search/indexes/github-docs-ghae-ja.json.br b/lib/search/indexes/github-docs-ghae-ja.json.br index e1a588062c..3743c3ff4a 100644 --- a/lib/search/indexes/github-docs-ghae-ja.json.br +++ b/lib/search/indexes/github-docs-ghae-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb8ce68ccb3db93c28b0234576db6b80d7987aeeafb74d3f7454698984a062fb -size 2297222 +oid sha256:5ba32645d7ba0af0edb811977536c5c89f47b426302dec2b25041f0d1afa1b53 +size 2296383 diff --git a/lib/search/indexes/github-docs-ghae-pt-records.json.br b/lib/search/indexes/github-docs-ghae-pt-records.json.br index 7602050eb4..75b3dcad6a 100644 --- a/lib/search/indexes/github-docs-ghae-pt-records.json.br +++ b/lib/search/indexes/github-docs-ghae-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:501dfc39d329958d1e77c2c06717cc96a2edd3cce11b3bc057da7f432c3383c0 -size 385061 +oid sha256:c4514978584c085b202e6a8e05bebfc6c11ddad5fb4b57e8597001cc14b13809 +size 385059 diff --git a/lib/search/indexes/github-docs-ghae-pt.json.br b/lib/search/indexes/github-docs-ghae-pt.json.br index dd84a8ffc9..0257c39959 100644 --- a/lib/search/indexes/github-docs-ghae-pt.json.br +++ b/lib/search/indexes/github-docs-ghae-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:97a5632936885ea1f7b31e15bd23d1e2fcba13f8a04cd66954535e332d03a77b -size 1536660 +oid sha256:bf056c98580751066abf942c7e68e41808cd5e56a31e722cd007a2ba1a5cbea1 +size 1537339 From 5136750fd2f6123286d455932f57cfab3618cb86 Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 13:27:27 -0500 Subject: [PATCH 04/16] Pass the PR URL to the gh CLI to avoid repo resolution attempts (#21895) --- .github/workflows/staging-undeploy-pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/staging-undeploy-pr.yml b/.github/workflows/staging-undeploy-pr.yml index 35a662d9fd..4962400d25 100644 --- a/.github/workflows/staging-undeploy-pr.yml +++ b/.github/workflows/staging-undeploy-pr.yml @@ -51,9 +51,9 @@ jobs: - name: Add a label to the PR to block deployment during undeployment env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_NUMBER: ${{ github.event.pull_request.number }} + PR_URL: ${{ github.event.pull_request.html_url }} run: | - gh pr edit $PR_NUMBER --add-label "automated-block-deploy" + gh pr edit "$PR_URL" --add-label "automated-block-deploy" - name: Check out repo's default branch uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f @@ -120,9 +120,9 @@ jobs: name: Remove the label from the PR to unblock deployment env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_NUMBER: ${{ github.event.pull_request.number }} + PR_URL: ${{ github.event.pull_request.html_url }} run: | - gh pr edit $PR_NUMBER --remove-label "automated-block-deploy" + gh pr edit "$PR_URL" --remove-label "automated-block-deploy" - name: Send Slack notification if workflow failed uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd From 0f8af1c430c27bd6a237c817e229afdb865fdb03 Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 13:34:12 -0500 Subject: [PATCH 05/16] Inline the 'await-sleep' module for the deploy workflow to avoid the need to checkout and install npm modules (#21896) --- .github/workflows/staging-deploy-pr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/staging-deploy-pr.yml b/.github/workflows/staging-deploy-pr.yml index db611d66e9..ca3a18bbd1 100644 --- a/.github/workflows/staging-deploy-pr.yml +++ b/.github/workflows/staging-deploy-pr.yml @@ -209,7 +209,8 @@ jobs: PR_NUMBER: ${{ needs.pr-metadata.outputs.number }} with: script: | - const sleep = require('await-sleep') // Does not require ESM + // Equivalent of the 'await-sleep' module without the install + const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)) const blockingLabel = 'automated-block-deploy' const { owner, repo } = context.repo From da426a9d223921a0cd824f928d2d9e2ab969ce2e Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 13:43:20 -0500 Subject: [PATCH 06/16] Grant the GITHUB_TOKEN write access to PRs during undeployment (#21898) --- .github/workflows/staging-undeploy-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/staging-undeploy-pr.yml b/.github/workflows/staging-undeploy-pr.yml index 4962400d25..9e1b2adeeb 100644 --- a/.github/workflows/staging-undeploy-pr.yml +++ b/.github/workflows/staging-undeploy-pr.yml @@ -12,6 +12,7 @@ on: permissions: contents: read deployments: write + pull-requests: write # This prevents one Undeploy workflow run from interrupting another concurrency: From 3040c3fcbd061689770521c16b17bb8b7b520419 Mon Sep 17 00:00:00 2001 From: Sarah Edwards Date: Tue, 5 Oct 2021 11:57:25 -0700 Subject: [PATCH 07/16] Deployment guides (#21614) Co-authored-by: Martin Lopes Co-authored-by: Lucas Costi --- assets/images/help/images/deploy-graph.png | Bin 0 -> 59524 bytes .../about-continuous-integration.md | 38 +--- .../deployment/about-continuous-deployment.md | 41 +++++ ...ing-to-amazon-elastic-container-service.md | 19 +- .../deploying-to-azure-app-service.md | 14 +- .../deploying-to-google-kubernetes-engine.md | 27 ++- .../deploying-with-github-actions.md | 173 ++++++++++++++++++ content/actions/deployment/index.md | 5 +- ...d => using-environments-for-deployment.md} | 68 +++++-- .../deployment}/viewing-deployment-history.md | 6 +- content/actions/index.md | 1 + .../creating-workflow-templates.md | 2 +- .../managing-complex-workflows.md | 2 +- .../using-workflow-templates.md | 36 ++-- .../workflow-syntax-for-github-actions.md | 6 +- .../actions/managing-workflow-runs/index.md | 1 + .../reviewing-deployments.md | 2 +- .../skipping-workflow-runs.md | 33 ++++ .../index.md | 1 + .../notifications-for-workflow-runs.md | 15 ++ .../security-hardening-for-github-actions.md | 2 +- content/developers/overview/index.md | 1 - content/rest/reference/repos.md | 2 +- data/reusables/actions/about-environments.md | 1 + .../reusables/actions/cd-templates-actions.md | 3 + data/reusables/actions/concurrency-beta.md | 5 - data/reusables/actions/delete-env-key.md | 1 + .../actions/environment-deployment-event.md | 1 + data/reusables/actions/environment-example.md | 45 +++++ .../github-actions/name-environment.md | 1 + .../github-actions/new-environment.md | 1 + .../repositories/workflow-notifications.md | 2 +- 32 files changed, 442 insertions(+), 113 deletions(-) create mode 100644 assets/images/help/images/deploy-graph.png create mode 100644 content/actions/deployment/about-continuous-deployment.md create mode 100644 content/actions/deployment/deploying-with-github-actions.md rename content/actions/deployment/{environments.md => using-environments-for-deployment.md} (60%) rename content/{developers/overview => actions/deployment}/viewing-deployment-history.md (60%) create mode 100644 content/actions/managing-workflow-runs/skipping-workflow-runs.md create mode 100644 content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md create mode 100644 data/reusables/actions/about-environments.md create mode 100644 data/reusables/actions/cd-templates-actions.md delete mode 100644 data/reusables/actions/concurrency-beta.md create mode 100644 data/reusables/actions/delete-env-key.md create mode 100644 data/reusables/actions/environment-deployment-event.md create mode 100644 data/reusables/actions/environment-example.md create mode 100644 data/reusables/github-actions/name-environment.md create mode 100644 data/reusables/github-actions/new-environment.md diff --git a/assets/images/help/images/deploy-graph.png b/assets/images/help/images/deploy-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a05368a58025dcfd4da4dd7acc8bd27bf61e6a56 GIT binary patch literal 59524 zcmeFZcQ~Bg)-WzoNI^t|5F|uIwCJ5ATB1fBoe*U7-b=dZ5kxmZn5YxI&m^Km4};N1 z31XDN%ot4ZjdPy&Ip=wgJimW_*LQt?9Im-$yYIF4z1P~SuXT%hsH;JDhV2X$6&2ls z`>F<1RHvX+RMe%krzlq%@ANrQQJu2~s;E4CprUg1p|^)4(A9y8>V8xTfX37iz^)YV z_}yn}#$H+ z;q}3wsQs3(5jp9YIU!;BAZK|Bvm}q~m&NBWP_+m{wN0L)jz7F9^o~#cRmF`$r_cAN zpHiQr;;{V^FY@ra%<0n=R6{?A0l|KBSBv*5GrLEX5eEX7�X_Ms@#2+xWd#AI{I4 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 R>M`K&4+T|u#P3Ev{||la)~^5n literal 0 HcmV?d00001 diff --git a/content/actions/automating-builds-and-tests/about-continuous-integration.md b/content/actions/automating-builds-and-tests/about-continuous-integration.md index a36d89af76..c4089fd362 100644 --- a/content/actions/automating-builds-and-tests/about-continuous-integration.md +++ b/content/actions/automating-builds-and-tests/about-continuous-integration.md @@ -1,6 +1,6 @@ --- title: About continuous integration -intro: 'You can create custom continuous integration (CI) and continuous deployment (CD) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.' +intro: 'You can create custom continuous integration (CI) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.' product: '{% data reusables.gated-features.actions %}' redirect_from: - /articles/about-continuous-integration @@ -15,7 +15,6 @@ versions: type: overview topics: - CI - - CD shortTitle: Continuous integration --- @@ -48,45 +47,12 @@ In addition to helping you set up CI workflows for your project, you can use {% For a definition of common terms, see "[Core concepts for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions)." -## Supported languages - +## Workflow templates {% data variables.product.product_name %} offers CI workflow templates for a variety of languages and frameworks. Browse the complete list of CI workflow templates offered by {% data variables.product.product_name %} in the {% ifversion fpt %}[actions/starter-workflows](https://github.com/actions/starter-workflows/tree/main/ci) repository{% else %} `actions/starter-workflows` repository on {% data variables.product.product_location %}{% endif %}. -{% ifversion fpt or ghes > 3.0 or ghae-next %} -## Skipping workflow runs - -If you want to temporarily prevent a workflow from being triggered, you can add a skip instruction to the commit message. Workflows that would otherwise be triggered `on: push` or `on: pull_request`, won't be triggered if you add any of the following strings to the commit message in a push, or the HEAD commit of a pull request: - -* `[skip ci]` -* `[ci skip]` -* `[no ci]` -* `[skip actions]` -* `[actions skip]` - -Alternatively, you can end the commit message with two empty lines followed by either `skip-checks: true` or `skip-checks:true`. - -You won't be able to merge the pull request if your repository is configured to require specific checks to pass first. To allow the pull request to be merged you can push a new commit to the pull request without the skip instruction in the commit message. - -{% note %} - -**Note:** Skip instructions only apply to the `push` and `pull_request` events. For example, adding `[skip ci]` to a commit message won't stop a workflow that's triggered `on: pull_request_target` from running. - -{% endnote %} -{% endif %} - -## Notifications for workflow runs - -{% data reusables.repositories.workflow-notifications %} - -## Status badges for workflow runs - -{% data reusables.repositories.actions-workflow-status-badge-intro %} - -For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)." - ## Further reading {% ifversion fpt %} diff --git a/content/actions/deployment/about-continuous-deployment.md b/content/actions/deployment/about-continuous-deployment.md new file mode 100644 index 0000000000..b80b199a0d --- /dev/null +++ b/content/actions/deployment/about-continuous-deployment.md @@ -0,0 +1,41 @@ +--- +title: About continuous deployment +intro: 'You can create custom continuous deployment (CD) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.' +product: '{% data reusables.gated-features.actions %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - CD +shortTitle: Continuous deployment +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About continuous deployment + +_Continuous deployment_ (CD) is the practice of using automation to publish and deploy software updates. As part of the typical CD process, the code is automatically built and tested before deployment. + +Continuous deployment is often coupled with continuous integration. For more information about continuous integration, see "[About continuous integration](/actions/guides/about-continuous-integration)". + +## About continuous deployment using {% data variables.product.prodname_actions %} + +You can set up a {% data variables.product.prodname_actions %} workflow to deploy your software product. To verify that your product works as expected, your workflow can build the code in your repository and run your tests before deploying. + +You can configure your CD workflow to run when a {% data variables.product.product_name %} event occurs (for example, when new code is pushed to the default branch of your repository), on a set schedule, manually, or when an external event occurs using the repository dispatch webhook. For more information about when your workflow can run, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." + +{% data variables.product.prodname_actions %} provides features that give you more control over deployments. For example, you can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets. You can use concurrency to limit your CD pipeline to a maximum of one in-progress deployment and one pending deployment. For more information about these features, see "[Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions)" and "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." + +## Workflow templates and third party actions + +{% data reusables.actions.cd-templates-actions %} + +## Further reading + +- [Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions) +- [Using environments for deployment](/actions/deployment/using-environments-for-deployment){% ifversion fpt %} +- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" +{% endif %} diff --git a/content/actions/deployment/deploying-to-amazon-elastic-container-service.md b/content/actions/deployment/deploying-to-amazon-elastic-container-service.md index b2d1c45864..decc02cb95 100644 --- a/content/actions/deployment/deploying-to-amazon-elastic-container-service.md +++ b/content/actions/deployment/deploying-to-amazon-elastic-container-service.md @@ -21,7 +21,7 @@ shortTitle: Deploy to Amazon ECS ## Introduction -This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/), and deploy it to [Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/). +This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/), and deploy it to [Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/) when a release is created. On every new release in your {% data variables.product.company_short %} repository, the {% data variables.product.prodname_actions %} workflow builds and pushes a new container image to Amazon ECR, and then deploys a new task definition to Amazon ECS. @@ -67,6 +67,8 @@ Before creating your {% data variables.product.prodname_actions %} workflow, you See the documentation for each action used below for the recommended IAM policies for the IAM user, and methods for handling the access key credentials. +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + ## Creating the workflow Once you've completed the prerequisites, you can proceed with creating the workflow. @@ -75,6 +77,8 @@ The following example workflow demonstrates how to build a container image and p Ensure that you provide your own values for all the variables in the `env` key of the workflow. +{% data reusables.actions.delete-env-key %} + ```yaml{:copy} {% data reusables.actions.actions-not-certified-by-github-comment %} @@ -94,17 +98,11 @@ env: CONTAINER_NAME: MY_CONTAINER_NAME # set this to the name of the container in the # containerDefinitions section of your task definition -defaults: - run: - shell: bash - jobs: deploy: name: Deploy - runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} - permissions: - packages: write - contents: read{% endif %} + runs-on: ubuntu-latest + environment: production {% raw %}steps: - name: Checkout @@ -151,9 +149,10 @@ jobs: wait-for-service-stability: true{% endraw %} ``` - ## Additional resources +For the original starter workflow, see [`aws.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/aws.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. + For more information on the services used in these examples, see the following documentation: * "[Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)" in the Amazon AWS documentation. diff --git a/content/actions/deployment/deploying-to-azure-app-service.md b/content/actions/deployment/deploying-to-azure-app-service.md index 418de6accd..0ea72b7c23 100644 --- a/content/actions/deployment/deploying-to-azure-app-service.md +++ b/content/actions/deployment/deploying-to-azure-app-service.md @@ -67,13 +67,19 @@ Before creating your {% data variables.product.prodname_actions %} workflow, you In your {% data variables.product.prodname_dotcom %} repository, create a secret named `AZURE_WEBAPP_PUBLISH_PROFILE` that contains the contents of the publish profile. For more information on creating secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)." +4. For Linux apps, add an app setting called `WEBSITE_WEBDEPLOY_USE_SCM` and set it to true in your app. For more information, see "[Configure apps in the portal](https://docs.microsoft.com/en-us/azure/app-service/configure-common#configure-app-settings)" in the Azure documentation. + +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + ## Creating the workflow Once you've completed the prerequisites, you can proceed with creating the workflow. -The following example workflow demonstrates how to build, test, and deploy the Node.js project to Azure App Service. +The following example workflow demonstrates how to build, test, and deploy the Node.js project to Azure App Service when a release is created. -Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. +Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. You can also change `AZURE_WEBAPP_PACKAGE_PATH` if the path to your project is not the repository root and `NODE_VERSION` if you want to use a node version other than `10.x`. + +{% data reusables.actions.delete-env-key %} ```yaml{:copy} {% data reusables.actions.actions-not-certified-by-github-comment %} @@ -91,6 +97,8 @@ jobs: build-and-deploy: name: Build and Deploy runs-on: ubuntu-latest + environment: production + steps: - uses: actions/checkout@v2 @@ -121,4 +129,6 @@ The following resources may also be useful: * For the original starter workflow, see [`azure.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. * The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the +[actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. * The "[Create a Node.js web app in Azure](https://docs.microsoft.com/en-us/azure/app-service/quickstart-nodejs)" quickstart in the Azure web app documentation demonstrates using VS Code with the [Azure App Service extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureappservice). diff --git a/content/actions/deployment/deploying-to-google-kubernetes-engine.md b/content/actions/deployment/deploying-to-google-kubernetes-engine.md index 37ab25fda0..3affd5041c 100644 --- a/content/actions/deployment/deploying-to-google-kubernetes-engine.md +++ b/content/actions/deployment/deploying-to-google-kubernetes-engine.md @@ -13,7 +13,7 @@ topics: - CD - Containers - Google Kubernetes Engine -shortTitle: Deploy to Kubernetes (GKE) +shortTitle: Deploy to Google Kubernetes Engine --- {% data reusables.actions.enterprise-beta %} @@ -21,7 +21,7 @@ shortTitle: Deploy to Kubernetes (GKE) ## Introduction -This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to Google Container Registry (GCR), and deploy it to Google Kubernetes Engine (GKE). +This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to Google Container Registry (GCR), and deploy it to Google Kubernetes Engine (GKE) when a release is created. GKE is a managed Kubernetes cluster service from Google Cloud that can host your containerized workloads in the cloud or in your own datacenter. For more information, see [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine). @@ -60,7 +60,7 @@ $ gcloud services enable \ ### Configuring a service account and storing its credentials -This procedure demonstrates how to create the service account for your GKE integration. It explains how to create the account, add roles to it, retrieve its keys, and store them as a base64-encoded [encrypted repository secret](/actions/reference/encrypted-secrets) named `GKE_SA_KEY`. +This procedure demonstrates how to create the service account for your GKE integration. It explains how to create the account, add roles to it, retrieve its keys, and store them as a base64-encoded encrypted repository secret named `GKE_SA_KEY`. 1. Create a new service account: {% raw %} @@ -96,16 +96,29 @@ This procedure demonstrates how to create the service account for your GKE integ $ export GKE_SA_KEY=$(cat key.json | base64) ``` {% endraw %} + For more information about how to store a secret, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +### Storing your project name + +Store the name of your project as a secret named `GKE_PROJECT`. For more information about how to store a secret, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." ### (Optional) Configuring kustomize Kustomize is an optional tool used for managing YAML specs. After creating a _kustomization_ file, the workflow below can be used to dynamically set fields of the image and pipe in the result to `kubectl`. For more information, see [kustomize usage](https://github.com/kubernetes-sigs/kustomize#usage). +### (Optional) Configure a deployment environment + +{% data reusables.actions.about-environments %} + ## Creating the workflow Once you've completed the prerequisites, you can proceed with creating the workflow. The following example workflow demonstrates how to build a container image and push it to GCR. It then uses the Kubernetes tools (such as `kubectl` and `kustomize`) to pull the image into the cluster deployment. +Under the `env` key, change the value of `GKE_CLUSTER` to the name of your cluster, `GKE_ZONE` to your cluster zone, `DEPLOYMENT_NAME` to the name of your deployment, and `IMAGE` to the name of your image. + +{% data reusables.actions.delete-env-key %} + ```yaml{:copy} {% data reusables.actions.actions-not-certified-by-github-comment %} @@ -126,8 +139,9 @@ jobs: setup-build-publish-deploy: name: Setup, Build, Publish, and Deploy runs-on: ubuntu-latest - steps: + environment: production + steps: - name: Checkout uses: actions/checkout@v2 @@ -137,7 +151,8 @@ jobs: service_account_key: {% raw %}${{ secrets.GKE_SA_KEY }}{% endraw %} project_id: {% raw %}${{ secrets.GKE_PROJECT }}{% endraw %} - # Configure docker to use the gcloud command-line tool as a credential helper + # Configure Docker to use the gcloud command-line tool as a credential + # helper for authentication - run: |- gcloud --quiet auth configure-docker @@ -165,7 +180,7 @@ jobs: # Set up kustomize - name: Set up Kustomize run: |- - curl --location https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv4.2.0/kustomize_v4.2.0_linux_amd64.tar.gz | tar xz + curl -sfLo kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64 chmod u+x ./kustomize # Deploy the Docker image to the GKE cluster diff --git a/content/actions/deployment/deploying-with-github-actions.md b/content/actions/deployment/deploying-with-github-actions.md new file mode 100644 index 0000000000..3816cb2cbf --- /dev/null +++ b/content/actions/deployment/deploying-with-github-actions.md @@ -0,0 +1,173 @@ +--- +title: Deploying with GitHub Actions +intro: Learn how to control deployments with features like environments and concurrency. +product: '{% data reusables.gated-features.actions %}' +versions: + fpt: '*' + ghes: '>=3.1' + ghae: '*' +type: overview +topics: + - CD +shortTitle: Deploy with GitHub Actions +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +{% data variables.product.prodname_actions %} offers features that let you control deployments. You can: + +- Trigger workflows with a variety of events. +- Configure environments to set rules before a job can proceed and to limit access to secrets. +- Use concurrency to control the number of deployments running at a time. + +For more information about continuous deployment, see "[About continuous deployment](/actions/deployment/about-continuous-deployment)." + +## Prerequisites + +You should be familiar with the syntax for {% data variables.product.prodname_actions %}. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +## Triggering your deployment + +You can use a variety of events to trigger your deployment workflow. Some of the most common are: `pull_request`, `push`, `release`, and `workflow_dispatch`. + +For example, a workflow with the following triggers runs whenever: + +- There is a push to the `main` branch. +- A pull request targeting the `main` branch is opened, synchronized, or reopened. +- A release is created. +- Someone manually triggers it. + +```yaml +on: + push: + branches: + - main + pull_request: + branches: + - main + release: + types: + - created + workflow_dispatch: +``` + +For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." + +## Using environments + +{% data reusables.actions.about-environments %} + +## Using concurrency + +Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. You can use concurrency so that an environment has a maximum of one deployment in progress and one deployment pending at a time. + +{% note %} + +**Note:** `concurrency` and `environment` are not connected. The concurrency value can be any string; it does not need to be an environment name. Additionally, if another workflow uses the same environment but does not specify concurrency, that workflow will not be subject to any concurrency rules. + +{% endnote %} + +For example, when the following workflow runs, it will be paused with the status `pending` if any job or workflow that uses the `production` concurrency group is in progress. It will also cancel any job or workflow that uses the `production` concurrency group and has the status `pending`. This means that there will be a maximum of one running and one pending job or workflow in that uses the `production` concurrency group. + +```yaml +name: Deployment + +concurrency: production + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +You can also specify concurrency at the job level. This will allow other jobs in the workflow to proceed even if the concurrent job is `pending`. + +```yaml +name: Deployment + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + concurrency: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +You can also use `cancel-in-progress` to cancel any currently running job or workflow in the same concurrency group. + +```yaml +name: Deployment + +concurrency: + group: production + cancel-in-progress: true + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +## Viewing deployment history + +When a {% data variables.product.prodname_actions %} workflow deploys to an environment, the environment is displayed on the main page of the repository. For more information about viewing deployments to environments, see "[Viewing deployment history](/developers/overview/viewing-deployment-history)." + +## Monitoring workflow runs + +Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug deployments. For more information see, "[Using the visualization graph](/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph)." + +You can also view the logs of each workflow run and the history of workflow runs. For more information, see "[Viewing workflow run history](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)." + +## Tracking deployments through apps + +{% ifversion fpt %} +If your {% data variables.product.product_name %} personal account or organization is integrated with Microsoft Teams or Slack, you can track deployments that use environments through Microsoft Teams or Slack. For example, you can receive notifications through the app when a deployment is pending approval, when a deployment is approved, or when the deployment status changes. For more information about integrating Microsoft Teams or Slack, see "[GitHub extensions and integrations](/github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations#team-communication-tools)." +{% endif %} + +You can also build an app that uses deployment and deployment status webhooks to track deployments. {% data reusables.actions.environment-deployment-event %} For more information, see "[Apps](/developers/apps)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment)." + +{% ifversion fpt or ghes %} + +## Choosing a runner + +You can run your deployment workflow on {% data variables.product.product_name %}-hosted runners or on self-hosted runners. Traffic from {% data variables.product.product_name %}-hosted runners can come from a [wide range of network addresses](/rest/reference/meta#get-github-meta-information). If you are deploying to an internal environment and your company restricts external traffic into private networks, {% data variables.product.prodname_actions %} workflows running on {% data variables.product.product_name %}-hosted runners may not be communicate with your internal services or resources. To overcome this, you can host your own runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[About GitHub-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." + +{% endif %} + +## Displaying a status badge + +You can use a status badge to display the status of your deployment workflow. {% data reusables.repositories.actions-workflow-status-badge-intro %} + +For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)." + +## Next steps + +This article demonstrated features of {% data variables.product.prodname_actions %} that you can add to your deployment workflows. + +{% data reusables.actions.cd-templates-actions %} diff --git a/content/actions/deployment/index.md b/content/actions/deployment/index.md index 2ae385cc62..0fbfa9c440 100644 --- a/content/actions/deployment/index.md +++ b/content/actions/deployment/index.md @@ -7,10 +7,13 @@ versions: ghes: '*' ghae: '*' children: + - /about-continuous-deployment + - /deploying-with-github-actions + - /using-environments-for-deployment + - /viewing-deployment-history - /deploying-to-amazon-elastic-container-service - /deploying-to-azure-app-service - /deploying-to-google-kubernetes-engine - /installing-an-apple-certificate-on-macos-runners-for-xcode-development - - /environments --- diff --git a/content/actions/deployment/environments.md b/content/actions/deployment/using-environments-for-deployment.md similarity index 60% rename from content/actions/deployment/environments.md rename to content/actions/deployment/using-environments-for-deployment.md index babe5c7dff..c31c160547 100644 --- a/content/actions/deployment/environments.md +++ b/content/actions/deployment/using-environments-for-deployment.md @@ -1,9 +1,12 @@ --- -title: Environments -intro: You can configure environments with protection rules and secrets. A workflow job can reference an environment to use the environment's protection rules and secrets. +title: Using environments for deployment +shortTitle: Use environments for deployment +intro: You can configure environments with protection rules and secrets. A workflow job that references an environment must follow any protection rules for the environment before running or accessing the environment's secrets. product: '{% data reusables.gated-features.environments %}' +miniTocMaxHeadingLevel: 3 redirect_from: - /actions/reference/environments + - /actions/deployment/environments versions: fpt: '*' ghes: '>=3.1' @@ -13,30 +16,34 @@ versions: ## About environments +Environments are used to describe a general deployment target like `production`, `staging`, or `development`. When a {% data variables.product.prodname_actions %} workflow deploys to an environment, the environment is displayed on the main page of the repository. For more information about viewing deployments to environments, see "[Viewing deployment history](/developers/overview/viewing-deployment-history)." + You can configure environments with protection rules and secrets. When a workflow job references an environment, the job won't start until all of the environment's protection rules pass. A job also cannot access secrets that are defined in an environment until all the environment protection rules pass. {% ifversion fpt %} -Environment protection rules and environment secrets are only available on private repositories with {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} +{% note %} -If you don't use {% data variables.product.prodname_ghe_cloud %} and convert a repository from public to private, any configured protection rules or environment secrets will be ignored, and you will not be able to configure any environments. If you convert your repository back to public, you will have access to any previously configured protection rules and environment secrets. +**Note:** If you don't use {% data variables.product.prodname_ghe_cloud %} and convert a repository from public to private, any configured protection rules or environment secrets will be ignored, and you will not be able to configure any environments. If you convert your repository back to public, you will have access to any previously configured protection rules and environment secrets. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} {% endif %} -### Environment protection rules +## Environment protection rules Environment protection rules require specific conditions to pass before a job referencing the environment can proceed. {% ifversion fpt or ghae-next or ghes > 3.1 %}You can use environment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches.{% else %}You can use environment protection rules to require a manual approval or delay a job.{% endif %} -#### Required reviewers +### Required reviewers Use required reviewers to require a specific person or team to approve workflow jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. For more information on reviewing jobs that reference an environment with required reviewers, see "[Reviewing deployments](/actions/managing-workflow-runs/reviewing-deployments)." -#### Wait timer +### Wait timer Use a wait timer to delay a job for a specific amount of time after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). {% ifversion fpt or ghae-next or ghes > 3.1 %} -#### Deployment branches +### Deployment branches Use deployment branches to restrict which branches can deploy to the environment. Below are the options for deployment branches for an environment: @@ -46,13 +53,13 @@ Use deployment branches to restrict which branches can deploy to the environment For example, if you specify `releases/*` as a deployment branch rule, only branches whose name begins with `releases/` can deploy to the environment. (Wildcard characters will not match `/`. To match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.) If you add `main` as a deployment branch rule, a branch named `main` can also deploy to the environment. For more information about syntax options for deployment branches, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). {% endif %} -### Environment secrets +## Environment secrets Secrets stored in an environment are only available to workflow jobs that reference the environment. If the environment requires approval, a job cannot access environment secrets until one of the required reviewers approves it. For more information about secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." {% note %} -**Note:** Workflows that run on self-hosted runners are not run in an isolated container, even if they use environments. Environment secrets should be treated with the same level as security as repository and organization secrets. For more information, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#hardening-for-self-hosted-runners)." +**Note:** Workflows that run on self-hosted runners are not run in an isolated container, even if they use environments. Environment secrets should be treated with the same level of security as repository and organization secrets. For more information, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#hardening-for-self-hosted-runners)." {% endnote %} @@ -63,25 +70,36 @@ Secrets stored in an environment are only available to workflow jobs that refere {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.github-actions.sidebar-environment %} -1. Click **New environment**. -1. Enter a name for the environment, then click **Configure environment**. Environment names are not case sensitive. An environment name may not exceed 255 characters and must be unique within the repository. -1. Configure any environment protection rules or environment secrets. +{% data reusables.github-actions.new-environment %} +{% data reusables.github-actions.name-environment %} +1. Optionally, specify people or teams that must approve workflow jobs that use this environment. + 1. Select **Required reviewers**. + 1. Enter up to 6 people or teams. Only one of the required reviewers needs to approve the job for it to proceed. + 1. Click **Save protection rules**. +2. Optionally, specify the amount of time to wait before allowing workflow jobs that use this environment to proceed. + 1. Select **Wait timer**. + 1. Enter the number of minutes to wait. + 1. Click **Save protection rules**. +3. Optionally, specify what branches can deploy to this environment. For more information about the possible values, see "[Deployment branches](#deployment-branches)." + 1. Select the desired option in the **Deployment branches** dropdown. + 1. If you chose **Selected branches**, enter the branch name patterns that you want to allow. +4. Optionally, add environment secrets. These secrets are only available to workflow jobs that use the environment. Additionally, workflow jobs that use this environment can only access these secrets after any configured rules (for example, required reviewers) pass. For more information about secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." + 1. Under **Environment secrets**, click **Add Secret**. + 1. Enter the secret name. + 1. Enter the secret value. + 1. Click **Add secret**. {% ifversion fpt or ghae-next or ghes > 3.1 %}You can also create and configure environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)" and "[Secrets](/rest/reference/actions#secrets)."{% endif %} Running a workflow that references an environment that does not exist will create an environment with the referenced name. The newly created environment will not have any protection rules or secrets configured. Anyone that can edit workflows in the repository can create environments via a workflow file, but only repository admins can configure the environment. -## Referencing an environment +## Using an environment -Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. When the job is sent to the runner, the job can access the environment's secrets. - -For more information on syntax to reference environments in workflows, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idenvironment)." For more information on reviewing jobs that reference an environment with required reviewers, see "[Reviewing deployments](/actions/managing-workflow-runs/reviewing-deployments)." +Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. The job can access the environment's secrets only after the job is sent to a runner. When a workflow references an environment, the environment will appear in the repository's deployments. For more information about viewing current and previous deployments, see "[Viewing deployment history](/developers/overview/viewing-deployment-history)." -{% ifversion fpt or ghae-next or ghes > 3.1 %} -## Using concurrency to serialize deployments in an environment -You can use concurrency so that an environment has a maximum of one deployment in progress and one deployment pending at a time. For more information, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#concurrency)."{% endif %} +{% data reusables.actions.environment-example %} ## Deleting an environment @@ -96,3 +114,13 @@ Deleting an environment will delete all secrets and protection rules associated 2. Click **I understand, delete this environment**. {% ifversion fpt or ghae-next or ghes > 3.1 %}You can also delete environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)."{% endif %} + +## How environments relate to deployments + +{% data reusables.actions.environment-deployment-event %} + +You can access these objects through the REST API or GraphQL API. You can also subscribe to these webhook events. For more information, see "[Repositories](/rest/reference/repos#deployments)" (REST API), "[Objects](/graphql/reference/objects#deployment)" (GraphQL API), or "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment)." + +## Next steps + +{% data variables.product.prodname_actions %} provides several features for managing your deployments. For more information, see "[Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions)." diff --git a/content/developers/overview/viewing-deployment-history.md b/content/actions/deployment/viewing-deployment-history.md similarity index 60% rename from content/developers/overview/viewing-deployment-history.md rename to content/actions/deployment/viewing-deployment-history.md index 3605ed48fb..16f184214e 100644 --- a/content/developers/overview/viewing-deployment-history.md +++ b/content/actions/deployment/viewing-deployment-history.md @@ -8,17 +8,19 @@ versions: topics: - API shortTitle: View deployment history +redirect_from: + - /developers/overview/viewing-deployment-history --- -You can deliver deployments through {% ifversion fpt or ghes > 3.0 %}{% data variables.product.prodname_actions %} and environments or with {% endif %}the REST API and third party apps. {% ifversion fpt or ghes > 3.0 %}For more information about {% data variables.product.prodname_actions %}, see "[{% data variables.product.prodname_actions %}](/actions)." {% endif %}For more information about deployments with the REST API, see "[Repositories](/rest/reference/repos#deployments)." +You can deliver deployments through {% ifversion fpt or ghae or ghes > 3.0 %}{% data variables.product.prodname_actions %} and environments or with {% endif %}the REST API and third party apps. {% ifversion fpt or ghae ghes > 3.0 %}For more information about using environments to deploy with {% data variables.product.prodname_actions %}, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." {% endif %}For more information about deployments with the REST API, see "[Repositories](/rest/reference/repos#deployments)." To view current and past deployments, click **Environments** on the home page of your repository. {% ifversion ghae or ghes < 3.0 %} ![Environments](/assets/images/enterprise/2.22/environments-sidebar.png){% else %} ![Environments](/assets/images/environments-sidebar.png){% endif %} -The deployments page displays the last active deployment of each environment for your repository. If the deployment includes an environment URL, a "View deployment" button that links to the URL is shown next to the deployment. +The deployments page displays the last active deployment of each environment for your repository. If the deployment includes an environment URL, a **View deployment** button that links to the URL is shown next to the deployment. The activity log shows the deployment history for your environments. By default, only the most recent deployment for an environment has an `Active` status; all previously active deployments have an `Inactive` status. For more information on automatic inactivation of deployments, see "[Inactive deployments](/rest/reference/repos#inactive-deployments)." diff --git a/content/actions/index.md b/content/actions/index.md index 3d4b6b62aa..aea62f47ed 100644 --- a/content/actions/index.md +++ b/content/actions/index.md @@ -9,6 +9,7 @@ featuredLinks: guides: - /actions/learn-github-actions - /actions/guides/about-continuous-integration + - /actions/deployment/deploying-with-github-actions - /actions/guides/about-packaging-with-github-actions - /actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting guideCards: diff --git a/content/actions/learn-github-actions/creating-workflow-templates.md b/content/actions/learn-github-actions/creating-workflow-templates.md index 295e201106..49d4729143 100644 --- a/content/actions/learn-github-actions/creating-workflow-templates.md +++ b/content/actions/learn-github-actions/creating-workflow-templates.md @@ -23,7 +23,7 @@ topics: ## Creating a workflow template -Workflow templates can be created by users with write access to the organization's `.github` repository. The templates can then be used by organization members who have permission to create workflows. +Workflow templates can be created by users with write access to the organization's `.github` repository. The templates can then be used by organization members who have permission to create workflows. You can share workflow templates if your organization's repository is public or if the repository is private and on an Enterprise plan. {% ifversion fpt or ghes > 3.3 or ghae-issue-4757 %} {% note %} diff --git a/content/actions/learn-github-actions/managing-complex-workflows.md b/content/actions/learn-github-actions/managing-complex-workflows.md index 6963f011e1..e52af06cdd 100644 --- a/content/actions/learn-github-actions/managing-complex-workflows.md +++ b/content/actions/learn-github-actions/managing-complex-workflows.md @@ -175,7 +175,7 @@ To learn more about {% data variables.product.prodname_dotcom %}-hosted runner l ## Using environments -You can configure environments with protection rules and secrets. Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)." +You can configure environments with protection rules and secrets. Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. For more information, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." {% endif %} ## Using a workflow template diff --git a/content/actions/learn-github-actions/using-workflow-templates.md b/content/actions/learn-github-actions/using-workflow-templates.md index a01ac40b77..5a47502f67 100644 --- a/content/actions/learn-github-actions/using-workflow-templates.md +++ b/content/actions/learn-github-actions/using-workflow-templates.md @@ -1,7 +1,7 @@ --- title: Using workflow templates shortTitle: Using templates -intro: You can set up CI using a workflow template that matches the language and tooling you want to use. +intro: '{% data variables.product.product_name %} provides workflow templates for a variety of languages and tooling.' product: '{% data reusables.gated-features.actions %}' redirect_from: - /articles/setting-up-continuous-integration-using-github-actions @@ -17,39 +17,37 @@ type: tutorial topics: - Workflows - CI + - CD --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} -Anyone with write permission to a repository can set up continuous integration (CI) using {% data variables.product.prodname_actions %}. +## About workflow templates -You can use workflow templates to create new workflows in an organization's public repository. To use templates to create workflows in private repositories, the organization must be part of an enterprise plan. +{% data variables.product.product_name %} offers workflow templates for a variety of languages and tooling. When you set up workflows in your repository, {% data variables.product.product_name %} analyzes the code in your repository and recommends workflows based on the language and framework in your repository. For example, if you use [Node.js](https://nodejs.org/en/), {% data variables.product.product_name %} will suggest a template file that installs your Node.js packages and runs your tests. -After you set up CI, you can customize the workflow to meet your needs. +You can also create your own workflow templates to share with your organization. For more information, see "[Creating workflow templates](/actions/learn-github-actions/creating-workflow-templates)." + +## Using workflow templates + +Anyone with write permission to a repository can set up {% data variables.product.prodname_actions %} workflows for CI/CD or other automation. {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} -1. If your repository already has existing workflows: In the upper-left corner, click **New workflow**. - ![Create a new workflow](/assets/images/help/repository/actions-new-workflow.png) -2. Find the template that matches the language and tooling you want to use, then click **Set up this workflow**. - ![Setup workflow button](/assets/images/help/repository/setup-workflow-button.png) +1. If you already have a workflow in your repository, click **New workflow**. +1. Find the template that you want to use, then click **Set up this workflow**. +1. If the workflow template contains comments detailing additional setup steps, follow these steps. +1. Some workflow templates use secrets. For example, {% raw %}`${{ secrets.npm_token }}`{% endraw %}. If the workflow template uses a secret, store the value described in the secret name as a secret in your repository. For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." +1. Optionally, make additional changes. For example, you might want to change the value of `on` to change when the workflow runs. 1. Click **Start commit**. - ![Start commit button](/assets/images/help/repository/start-commit.png) -{% data reusables.files.write_commit_message %} -{% data reusables.files.choose_commit_branch %} -{% data reusables.files.propose_new_file %} - -Once a push is made to your repository, you can follow the status and detailed logs of your continuous integration workflow run on {% data variables.product.prodname_dotcom %} and receive customized notifications. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)" and "[Managing a workflow run](/articles/managing-a-workflow-run)." - -{% data reusables.repositories.actions-workflow-status-badge-intro %} - -For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)." +1. Write a commit message and decide whether to commit directly to the default branch or to open a pull request. ## Further reading - "[About continuous integration](/articles/about-continuous-integration)" -- "[Managing a workflow run](/articles/managing-a-workflow-run)" +- "[Managing workflow runs](/actions/managing-workflow-runs)" +- "[About monitoring and troubleshooting](/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting)" - "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)" {% ifversion fpt %} - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" diff --git a/content/actions/learn-github-actions/workflow-syntax-for-github-actions.md b/content/actions/learn-github-actions/workflow-syntax-for-github-actions.md index a65b9bb38c..2f39a235c9 100644 --- a/content/actions/learn-github-actions/workflow-syntax-for-github-actions.md +++ b/content/actions/learn-github-actions/workflow-syntax-for-github-actions.md @@ -353,8 +353,6 @@ defaults: {% ifversion fpt or ghae-next or ghes > 3.1 %} ## `concurrency` -{% data reusables.actions.concurrency-beta %} - Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. A concurrency group can be any string or expression. The expression can only use the [`github` context](/actions/learn-github-actions/contexts#github-context). For more information about expressions, see "[Expressions](/actions/learn-github-actions/expressions)." You can also specify `concurrency` at the job level. For more information, see [`jobs..concurrency`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idconcurrency). @@ -509,7 +507,7 @@ jobs: {% ifversion fpt or ghes > 3.0 or ghae %} ## `jobs..environment` -The environment that the job references. All environment protection rules must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)." +The environment that the job references. All environment protection rules must pass before a job referencing the environment is sent to a runner. For more information, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." You can provide the environment as only the environment `name`, or as an environment object with the `name` and `url`. The URL maps to `environment_url` in the deployments API. For more information about the deployments API, see "[Deployments](/rest/reference/repos#deployments)." @@ -544,8 +542,6 @@ environment: {% ifversion fpt or ghae-next or ghes > 3.1 %} ## `jobs..concurrency` -{% data reusables.actions.concurrency-beta %} - {% note %} **Note:** When concurrency is specified at the job level, order is not guaranteed for jobs or runs that queue within 5 minutes of each other. diff --git a/content/actions/managing-workflow-runs/index.md b/content/actions/managing-workflow-runs/index.md index 2a1a44e8cc..646976f009 100644 --- a/content/actions/managing-workflow-runs/index.md +++ b/content/actions/managing-workflow-runs/index.md @@ -19,6 +19,7 @@ children: - /approving-workflow-runs-from-public-forks - /reviewing-deployments - /disabling-and-enabling-a-workflow + - /skipping-workflow-runs - /deleting-a-workflow-run - /downloading-workflow-artifacts - /removing-workflow-artifacts diff --git a/content/actions/managing-workflow-runs/reviewing-deployments.md b/content/actions/managing-workflow-runs/reviewing-deployments.md index 898899fd40..7203e91502 100644 --- a/content/actions/managing-workflow-runs/reviewing-deployments.md +++ b/content/actions/managing-workflow-runs/reviewing-deployments.md @@ -13,7 +13,7 @@ versions: Jobs that reference an environment configured with required reviewers will wait for an approval before starting. While a job is awaiting approval, it has a status of "Waiting". If a job is not approved within 30 days, the workflow run will be automatically canceled. -For more information about environments and required approvals, see "[Environments](/actions/reference/environments)."{% ifversion fpt or ghae-next or ghes > 3.1 %} For information about how to review deployments with the REST API, see "[Workflow Runs](/rest/reference/actions#workflow-runs)."{% endif %} +For more information about environments and required approvals, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)."{% ifversion fpt or ghae-next or ghes > 3.1 %} For information about how to review deployments with the REST API, see "[Workflow Runs](/rest/reference/actions#workflow-runs)."{% endif %} ## Approving or rejecting a job diff --git a/content/actions/managing-workflow-runs/skipping-workflow-runs.md b/content/actions/managing-workflow-runs/skipping-workflow-runs.md new file mode 100644 index 0000000000..09cd92c4fe --- /dev/null +++ b/content/actions/managing-workflow-runs/skipping-workflow-runs.md @@ -0,0 +1,33 @@ +--- +title: Skipping workflow runs +intro: 'You can skip workflow runs triggered by the `push` and `pull_request` events by including a command in your commit message.' +product: '{% data reusables.gated-features.actions %}' +versions: + fpt: '*' + ghes: '>=3.0' + ghae: 'ghae-next' +shortTitle: Skip workflow runs +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +Workflows that would otherwise be triggered using `on: push` or `on: pull_request` won't be triggered if you add any of the following strings to the commit message in a push, or the HEAD commit of a pull request: + +* `[skip ci]` +* `[ci skip]` +* `[no ci]` +* `[skip actions]` +* `[actions skip]` + +Alternatively, you can end the commit message with two empty lines followed by either `skip-checks: true` or `skip-checks:true`. + +You won't be able to merge the pull request if your repository is configured to require specific checks to pass first. To allow the pull request to be merged you can push a new commit to the pull request without the skip instruction in the commit message. + +{% note %} + +**Note:** Skip instructions only apply to the `push` and `pull_request` events. For example, adding `[skip ci]` to a commit message won't stop a workflow that's triggered `on: pull_request_target` from running. + +{% endnote %} + +Skip instructions only apply to the workflow run(s) that would be triggered by the commit that contains the skip instructions. You can also disable a workflow from running. For more information, see "[Disabling and enabling a workflow](/actions/managing-workflow-runs/disabling-and-enabling-a-workflow)." \ No newline at end of file diff --git a/content/actions/monitoring-and-troubleshooting-workflows/index.md b/content/actions/monitoring-and-troubleshooting-workflows/index.md index aa2e6bbf19..84eb482eea 100644 --- a/content/actions/monitoring-and-troubleshooting-workflows/index.md +++ b/content/actions/monitoring-and-troubleshooting-workflows/index.md @@ -17,6 +17,7 @@ children: - /viewing-job-execution-time - /using-workflow-run-logs - /enabling-debug-logging + - /notifications-for-workflow-runs --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md b/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md new file mode 100644 index 0000000000..2b07b0fa58 --- /dev/null +++ b/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md @@ -0,0 +1,15 @@ +--- +title: Notifications for workflow runs +intro: 'You can subscribe to notifications about workflow runs that you trigger.' +product: '{% data reusables.gated-features.actions %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' +shortTitle: Notifications +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.repositories.workflow-notifications %} diff --git a/content/actions/security-guides/security-hardening-for-github-actions.md b/content/actions/security-guides/security-hardening-for-github-actions.md index b6f8680e7d..a65026414e 100644 --- a/content/actions/security-guides/security-hardening-for-github-actions.md +++ b/content/actions/security-guides/security-hardening-for-github-actions.md @@ -47,7 +47,7 @@ To help prevent accidental disclosure, {% data variables.product.product_name %} - Rotate secrets periodically to reduce the window of time during which a compromised secret is valid. {% ifversion fpt or ghes > 3.0 or ghae %} - **Consider requiring review for access to secrets** - - You can use required reviewers to protect environment secrets. A workflow job cannot access environment secrets until approval is granted by a reviewer. For more information about storing secrets in environments or requiring reviews for environments, see "[Encrypted secrets](/actions/reference/encrypted-secrets)" and "[Environments](/actions/reference/environments)." + - You can use required reviewers to protect environment secrets. A workflow job cannot access environment secrets until approval is granted by a reviewer. For more information about storing secrets in environments or requiring reviews for environments, see "[Encrypted secrets](/actions/reference/encrypted-secrets)" and "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." {% endif %} ## Using `CODEOWNERS` to monitor changes diff --git a/content/developers/overview/index.md b/content/developers/overview/index.md index a87ee3d605..5c834b8cad 100644 --- a/content/developers/overview/index.md +++ b/content/developers/overview/index.md @@ -8,7 +8,6 @@ versions: children: - /about-githubs-apis - /managing-deploy-keys - - /viewing-deployment-history - /using-ssh-agent-forwarding - /secret-scanning-partner-program - /replacing-github-services diff --git a/content/rest/reference/repos.md b/content/rest/reference/repos.md index ccbda5f5b5..19e6219bbb 100644 --- a/content/rest/reference/repos.md +++ b/content/rest/reference/repos.md @@ -178,7 +178,7 @@ You can communicate that a transient environment no longer exists by setting its {% ifversion fpt or ghes > 3.1 or ghae-next %} ## Environments -The Environments API allows you to create, configure, and delete environments. For more information about environments, see "[Environments](/actions/reference/environments)." To manage environment secrets, see "[Secrets](/rest/reference/actions#secrets)." +The Environments API allows you to create, configure, and delete environments. For more information about environments, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." To manage environment secrets, see "[Secrets](/rest/reference/actions#secrets)." {% for operation in currentRestOperations %} {% if operation.subcategory == 'environments' %}{% include rest_operation %}{% endif %} diff --git a/data/reusables/actions/about-environments.md b/data/reusables/actions/about-environments.md new file mode 100644 index 0000000000..ab9cfa899f --- /dev/null +++ b/data/reusables/actions/about-environments.md @@ -0,0 +1 @@ +Environments are used to describe a general deployment target like `production`, `staging`, or `development`. When a {% data variables.product.prodname_actions %} workflow deploys to an environment, the environment is displayed on the main page of the repository. You can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets. For more information about creating environments, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." \ No newline at end of file diff --git a/data/reusables/actions/cd-templates-actions.md b/data/reusables/actions/cd-templates-actions.md new file mode 100644 index 0000000000..c6eeec90db --- /dev/null +++ b/data/reusables/actions/cd-templates-actions.md @@ -0,0 +1,3 @@ +{% data variables.product.product_name %} offers CD workflow templates for several popular services, such as Azure Web App. To learn how to get started using a workflow template, see "[Using workflow templates](/actions/learn-github-actions/using-workflow-templates)" or [browse the full list of deployment workflow templates](https://github.com/actions/starter-workflows/tree/main/deployments). You can also check out our more detailed guides for specific deployment workflows, such as "[Deploying to Azure App Service](/actions/deployment/deploying-to-azure-app-service)." + +Many service providers also offer actions on {% data variables.product.prodname_marketplace %} for deploying to their service. For the full list, see [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?category=deployment&type=actions). \ No newline at end of file diff --git a/data/reusables/actions/concurrency-beta.md b/data/reusables/actions/concurrency-beta.md deleted file mode 100644 index 0ebcdd0091..0000000000 --- a/data/reusables/actions/concurrency-beta.md +++ /dev/null @@ -1,5 +0,0 @@ -{% note %} - -**Note:** Concurrency is currently in beta and subject to change. - -{% endnote %} diff --git a/data/reusables/actions/delete-env-key.md b/data/reusables/actions/delete-env-key.md new file mode 100644 index 0000000000..380ebe5653 --- /dev/null +++ b/data/reusables/actions/delete-env-key.md @@ -0,0 +1 @@ +If you configured a deployment environment, change the value of `environment` to be the name of your environment. If you did not configure an environment{% ifversion fpt %} or if your workflow is in a private repository and you do not use {% data variables.product.prodname_ghe_cloud %}{% endif %}, delete the `environment` key. \ No newline at end of file diff --git a/data/reusables/actions/environment-deployment-event.md b/data/reusables/actions/environment-deployment-event.md new file mode 100644 index 0000000000..1a014fbfc6 --- /dev/null +++ b/data/reusables/actions/environment-deployment-event.md @@ -0,0 +1 @@ +When a workflow job that references an environment runs, it creates a deployment object with the `environment` property set to the name of your environment. As the workflow progresses, it also creates deployment status objects with the `environment` property set to the name of your environment, the `environment_url` property set to the URL for environment (if specified in the workflow), and the `state` property set to the status of the job. \ No newline at end of file diff --git a/data/reusables/actions/environment-example.md b/data/reusables/actions/environment-example.md new file mode 100644 index 0000000000..95ed6bc816 --- /dev/null +++ b/data/reusables/actions/environment-example.md @@ -0,0 +1,45 @@ +You can specify an environment for each job in your workflow. To do so, add a `jobs..environment` key followed by the name of the environment. + +For example, this workflow will use an environment called `production`. + +```yaml +name: Deployment + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +When the above workflow runs, the `deployment` job will be subject to any rules configured for the `production` environment. For example, if the environment requires reviewers, the job will pause until one of the reviewers approves the job. + +You can also specify a URL for the environment. The specified URL will appear on the deployments page for the repository (accessed by clicking **Environments** on the home page of your repository) and in the visualization graph for the workflow run. If a pull request triggered the workflow, the URL is also displayed as a **View deployment** button in the pull request timeline. + +```yaml +name: Deployment + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: + name: production + url: https://github.com + steps: + - name: deploy + # ...deployment-specific steps +``` + +![Workflow graph with URL](/assets/images/help/images/deploy-graph.png) \ No newline at end of file diff --git a/data/reusables/github-actions/name-environment.md b/data/reusables/github-actions/name-environment.md new file mode 100644 index 0000000000..f6fd5c69d4 --- /dev/null +++ b/data/reusables/github-actions/name-environment.md @@ -0,0 +1 @@ +1. Enter a name for the environment, then click **Configure environment**. Environment names are not case sensitive. An environment name may not exceed 255 characters and must be unique within the repository. diff --git a/data/reusables/github-actions/new-environment.md b/data/reusables/github-actions/new-environment.md new file mode 100644 index 0000000000..879f2bf20a --- /dev/null +++ b/data/reusables/github-actions/new-environment.md @@ -0,0 +1 @@ +1. Click **New environment**. diff --git a/data/reusables/repositories/workflow-notifications.md b/data/reusables/repositories/workflow-notifications.md index c1399976e8..d9f2a271db 100644 --- a/data/reusables/repositories/workflow-notifications.md +++ b/data/reusables/repositories/workflow-notifications.md @@ -1,4 +1,4 @@ -If you enable email or web notifications for {% data variables.product.prodname_actions %}, you'll receive a notification when any workflow runs that you've triggered have completed. The notification will include the workflow run's status (including successful, failed, neutral, and canceled runs). You can also choose to receive a notification only when a workflow run has failed. +If you enable email or web notifications for {% data variables.product.prodname_actions %}, you'll receive a notification when any workflow runs that you've triggered have completed. The notification will include the workflow run's status (including successful, failed, neutral, and canceled runs). You can also choose to receive a notification only when a workflow run has failed. For more information about enabling or disabling notifications, see "[About notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)." Notifications for scheduled workflows are sent to the user who initially created the workflow. If a different user updates the cron syntax in the workflow file, subsequent notifications will be sent to that user instead.{% ifversion fpt or ghes > 2.22 %} If a scheduled workflow is disabled and then re-enabled, notifications will be sent to the user who re-enabled the workflow rather than the user who last modified the cron syntax.{% endif %} From 261674444ac617d00564801456d2642627a64494 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Tue, 5 Oct 2021 20:29:53 +0100 Subject: [PATCH 08/16] Updating citation file docs (#21828) --- .../about-citation-files.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files.md b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files.md index e2368c2e8d..7d65edb139 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files.md @@ -45,18 +45,19 @@ Lisa, M., & Bot, H. (2017). My Research Software (Version 2.0.4) [Computer softw {% raw %} ``` -@misc{Lisa_My_Research_Software_2017, +@software{Lisa_My_Research_Software_2017, author = {Lisa, Mona and Bot, Hew}, doi = {10.5281/zenodo.1234}, month = {12}, title = {{My Research Software}}, url = {https://github.com/github/linguist}, + version = {2.0.4}, year = {2017} } ``` {% endraw %} -Note the example above produces a _software_ citation (i.e., `@misc` type in BibTeX rather than `@article`). +Note the example above produces a _software_ citation (i.e., `@software` type in BibTeX rather than `@article`). For more information, see the [Citation File Format](https://citation-file-format.github.io/) website. @@ -66,9 +67,15 @@ When you add a `CITATION.cff` file to the default branch of your repository, it ## Citing something other than software -If you would prefer the GitHub citation information to link to another resource such as a research paper then you can use the `preferred-citation` override in CFF. +If you would prefer the {% data variables.product.prodname_dotcom %} citation information to link to another resource such as a research article, then you can use the `preferred-citation` override in CFF with the following types. -Extended CITATION.cff file describing the software, but linking to a research paper as the preferred citation: +Resource | Type +--------- | ----- +Research article | `article` +Conference paper | `conference-paper` +Book | `book` + +Extended CITATION.cff file describing the software, but linking to a research article as the preferred citation: ``` cff-version: 1.2.0 @@ -131,6 +138,10 @@ Lisa, M., & Bot, H. (2021). My awesome research software. Journal Title, 1(1), 1 ``` {% endraw %} +## Citing a dataset + +If your repository contains a dataset, you can set `type: dataset` in your `CITATION.cff` file to produce a data citation string output in the {% data variables.product.prodname_dotcom %} citation prompt. + ## Other citation files The GitHub citation feature will also detect a small number of additional files that are often used by communities and projects to describe how they would like their work to be cited. From 39e828d7d9041d048a43479e59c1d0d44fe1338a Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 14:41:29 -0500 Subject: [PATCH 09/16] Use REST API to add and remove labels during undeployment (#21900) --- .github/workflows/staging-undeploy-pr.yml | 30 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/.github/workflows/staging-undeploy-pr.yml b/.github/workflows/staging-undeploy-pr.yml index 9e1b2adeeb..741c27c99a 100644 --- a/.github/workflows/staging-undeploy-pr.yml +++ b/.github/workflows/staging-undeploy-pr.yml @@ -50,11 +50,21 @@ jobs: # IMPORTANT: Intentionally OMIT a `concurrency` configuration from this job! steps: - name: Add a label to the PR to block deployment during undeployment + uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_URL: ${{ github.event.pull_request.html_url }} - run: | - gh pr edit "$PR_URL" --add-label "automated-block-deploy" + PR_NUMBER: ${{ github.event.pull_request.number }} + with: + script: | + const { owner, repo } = context.repo + await github.issues.addLabels({ + owner, + repo, + issue_number: process.env.PR_NUMBER, + labels: [ + { name: 'automated-block-deploy' } + ] + }) - name: Check out repo's default branch uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f @@ -119,11 +129,19 @@ jobs: - if: ${{ always() }} name: Remove the label from the PR to unblock deployment + uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_URL: ${{ github.event.pull_request.html_url }} - run: | - gh pr edit "$PR_URL" --remove-label "automated-block-deploy" + PR_NUMBER: ${{ github.event.pull_request.number }} + with: + script: | + const { owner, repo } = context.repo + await github.issues.removeLabel({ + owner, + repo, + issue_number: process.env.PR_NUMBER, + name: 'automated-block-deploy' + }) - name: Send Slack notification if workflow failed uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd From 3127fa9f7a1d06aa9bfae52eaf7c6dd876c9d3d6 Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 15:10:10 -0500 Subject: [PATCH 10/16] Pass labels to add as an array of strings (#21902) --- .github/workflows/staging-undeploy-pr.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/staging-undeploy-pr.yml b/.github/workflows/staging-undeploy-pr.yml index 741c27c99a..452a2431d0 100644 --- a/.github/workflows/staging-undeploy-pr.yml +++ b/.github/workflows/staging-undeploy-pr.yml @@ -61,9 +61,7 @@ jobs: owner, repo, issue_number: process.env.PR_NUMBER, - labels: [ - { name: 'automated-block-deploy' } - ] + labels: ['automated-block-deploy'] }) - name: Check out repo's default branch From 9314c0ff9411d1312813cec4330582eebf645105 Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 15:19:47 -0500 Subject: [PATCH 11/16] Remove `gha-` staging app prefix for Actions-based deployments (#21799) * Make the default app name prefix include the dash * Remove the default app name prefix --- script/deployment/create-app.js | 2 +- script/deployment/create-staging-app-name.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/script/deployment/create-app.js b/script/deployment/create-app.js index 6d60058394..a54f85741c 100644 --- a/script/deployment/create-app.js +++ b/script/deployment/create-app.js @@ -16,7 +16,7 @@ export default async function createApp(pullRequest) { user: author, } = pullRequest - const appName = createAppName({ prefix: 'ghd', repo, pullNumber, branch }) + const appName = createAppName({ prefix: 'ghd-', repo, pullNumber, branch }) // Put together application configuration variables const isPrivateRepo = owner === 'github' && repo === 'docs-internal' diff --git a/script/deployment/create-staging-app-name.js b/script/deployment/create-staging-app-name.js index 8cb3076adc..cee33514bc 100644 --- a/script/deployment/create-staging-app-name.js +++ b/script/deployment/create-staging-app-name.js @@ -3,9 +3,9 @@ const slugify = GithubSlugger.slug const APP_NAME_MAX_LENGTH = 30 -export default function ({ prefix = 'gha', repo, pullNumber, branch }) { +export default function ({ prefix = '', repo, pullNumber, branch }) { return ( - `${prefix}-${repo}-${pullNumber}--${slugify(branch)}` + `${prefix}${repo}-${pullNumber}--${slugify(branch)}` // Shorten the string to the max allowed length .slice(0, APP_NAME_MAX_LENGTH) // Convert underscores to dashes From c37d58b04c08f6666e60c264207a14bcae8837e7 Mon Sep 17 00:00:00 2001 From: Christian Gregg Date: Tue, 5 Oct 2021 22:36:37 +0200 Subject: [PATCH 12/16] Add docs for `manage_runners:enteprise` scope (#21843) Co-authored-by: Sarah Edwards --- content/graphql/guides/managing-enterprise-accounts.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/graphql/guides/managing-enterprise-accounts.md b/content/graphql/guides/managing-enterprise-accounts.md index c9989f7af8..a1db5d4831 100644 --- a/content/graphql/guides/managing-enterprise-accounts.md +++ b/content/graphql/guides/managing-enterprise-accounts.md @@ -58,10 +58,11 @@ For some example queries, see "[An example query using the Enterprise Accounts A - `admin:enterprise` The enterprise account specific scopes are: - - `admin:enterprise`: Gives full control of enterprises (includes `manage_billing:enterprise` and `read:enterprise`) - - `manage_billing:enterprise`: Read and write enterprise billing data. + - `admin:enterprise`: Gives full control of enterprises (includes {% ifversion ghes < 3.3 %}`manage_runners:enteprise`, {% endif %}`manage_billing:enterprise` and `read:enterprise`) + - `manage_billing:enterprise`: Read and write enterprise billing data.{% ifversion ghes < 3.3 %} + - `manage_runners:enteprise`: Access to manage GitHub Actions enterprise runners and runner-groups.{% endif %} - `read:enterprise`: Read enterprise profile data. - + 4. Copy your personal access token and keep it in a secure place until you add it to your GraphQL client. ### 2. Choose a GraphQL client From b4473a9dc69768c869c2054b77dbb12df0550d72 Mon Sep 17 00:00:00 2001 From: "James M. Greene" Date: Tue, 5 Oct 2021 17:12:48 -0500 Subject: [PATCH 13/16] Delete the 'create-app' module previously used for Docker deployment (#21906) --- script/deployment/create-app.js | 99 --------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 script/deployment/create-app.js diff --git a/script/deployment/create-app.js b/script/deployment/create-app.js deleted file mode 100644 index a54f85741c..0000000000 --- a/script/deployment/create-app.js +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env node -import Heroku from 'heroku-client' -import createAppName from './create-staging-app-name.js' - -export default async function createApp(pullRequest) { - // Extract some important properties from the PR - const { - number: pullNumber, - base: { - repo: { - name: repo, - owner: { login: owner }, - }, - }, - head: { ref: branch }, - user: author, - } = pullRequest - - const appName = createAppName({ prefix: 'ghd-', repo, pullNumber, branch }) - - // Put together application configuration variables - const isPrivateRepo = owner === 'github' && repo === 'docs-internal' - const { HYDRO_ENDPOINT, HYDRO_SECRET } = process.env - const appConfigVars = { - // These values are usually set in app.json but we need to set them - // ourselves for Docker image deployment. - NODE_ENV: 'production', - ENABLED_LANGUAGES: 'en', - WEB_CONCURRENCY: '1', - // IMPORTANT: These secrets should only be set in the private repo! - // These are required for Hydro event tracking - ...(isPrivateRepo && HYDRO_ENDPOINT && HYDRO_SECRET && { HYDRO_ENDPOINT, HYDRO_SECRET }), - } - - // Check if there's already a Heroku App for this PR, if not create one - let appExists = true - const heroku = new Heroku({ token: process.env.HEROKU_API_TOKEN }) - - try { - await heroku.get(`/apps/${appName}`) - } catch (error) { - announceIfHerokuIsDown(error) - appExists = false - } - - if (!appExists) { - try { - const newApp = await heroku.post('/apps', { - body: { - name: appName, - }, - }) - - console.log('Heroku App created', newApp) - } catch (error) { - announceIfHerokuIsDown(error) - throw new Error(`Failed to create Heroku App ${appName}. Error: ${error}`) - } - - // Add PR author (if staff) as a collaborator on the new staging app - try { - if (author.site_admin === true) { - await heroku.post(`/apps/${appName}/collaborators`, { - body: { - user: `${author.login}@github.com`, - // We don't want an email invitation for every new staging app - silent: true, - }, - }) - console.log(`Added PR author @${author.login} as a Heroku app collaborator`) - } - } catch (error) { - announceIfHerokuIsDown(error) - // It's fine if this fails, it shouldn't block the app from deploying! - console.warn(`Warning: failed to add PR author as a Heroku app collaborator. Error: ${error}`) - } - } else { - console.log(`Heroku App ${appName} already exists.`) - } - - // Set/reconfigure environment variables - // https://devcenter.heroku.com/articles/platform-api-reference#config-vars-update - try { - await heroku.patch(`/apps/${appName}/config-vars`, { - body: appConfigVars, - }) - } catch (error) { - announceIfHerokuIsDown(error) - throw new Error(`Failed to update Heroku app configuration variables. Error: ${error}`) - } - - return appName -} - -function announceIfHerokuIsDown(error) { - if (error && error.statusCode === 503) { - console.error('💀 Heroku may be down! Please check its Status page: https://status.heroku.com/') - } -} From 1a694d9e06b35e7583bd958f3e69ccc67f3f9325 Mon Sep 17 00:00:00 2001 From: Lucas Costi Date: Wed, 6 Oct 2021 10:03:27 +1000 Subject: [PATCH 14/16] Graduate pages_toggle (switcheroo) API preview (#21882) --- content/rest/overview/api-previews.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/rest/overview/api-previews.md b/content/rest/overview/api-previews.md index 7329089d74..cf48012a81 100644 --- a/content/rest/overview/api-previews.md +++ b/content/rest/overview/api-previews.md @@ -193,6 +193,8 @@ You can now provide more information in GitHub for URLs that link to registered **Custom media types:** `corsair-preview` **Announced:** [2018-12-10](https://developer.github.com/changes/2018-12-10-content-attachments-api/) +{% ifversion ghes < 3.3 %} + ## Enable and disable Pages You can use the new endpoints in the [Pages API](/rest/reference/repos#pages) to enable or disable Pages. To learn more about Pages, see "[GitHub Pages Basics](/categories/github-pages-basics)". @@ -200,6 +202,8 @@ You can use the new endpoints in the [Pages API](/rest/reference/repos#pages) to **Custom media types:** `switcheroo-preview` **Announced:** [2019-03-14](https://developer.github.com/changes/2019-03-14-enabling-disabling-pages/) +{% endif %} + {% ifversion ghes < 3.3 %} ## List branches or pull requests for a commit From 3f2cb982e1b7b4eab2009d151350d5c64e25894f Mon Sep 17 00:00:00 2001 From: Fuzzwah Date: Wed, 6 Oct 2021 11:47:09 +1100 Subject: [PATCH 15/16] added info about the 64 char limit for common name (#10383) Co-authored-by: Sarah Edwards --- .../securing-your-github-pages-site-with-https.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md b/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md index 752ea1d795..ea4cda1ba1 100644 --- a/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md +++ b/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md @@ -22,6 +22,12 @@ All {% data variables.product.prodname_pages %} sites, including sites that are {% data reusables.pages.private_pages_are_public_warning %} +{% note %} + +**Note:** RFC3280 states that the maximum length of the common name should be 64 characters. Therefore, the entire domain name of your {% data variables.product.prodname_pages %} site must be less than 64 characters long for a certificate to be successfully created. + +{% endnote %} + ## Enforcing HTTPS for your {% data variables.product.prodname_pages %} site {% data reusables.pages.navigate-site-repo %} From 9d14892c8a121a6f554ce55cb7e9b596ae55ab6a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 6 Oct 2021 02:04:26 +0000 Subject: [PATCH 16/16] update search indexes --- lib/search/indexes/github-docs-2.22-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-cn.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-de.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-en.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-es.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-ja.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-2.22-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.0-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.1-pt.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-cn.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-de.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-en.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-es.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-ja.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-3.2-pt.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-cn.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-de.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-en.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-es.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-ja.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-dotcom-pt.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-cn.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-de.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-en.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-es.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-ja.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt-records.json.br | 4 ++-- lib/search/indexes/github-docs-ghae-pt.json.br | 4 ++-- 72 files changed, 144 insertions(+), 144 deletions(-) diff --git a/lib/search/indexes/github-docs-2.22-cn-records.json.br b/lib/search/indexes/github-docs-2.22-cn-records.json.br index 36096e03ec..6727b6c6a6 100644 --- a/lib/search/indexes/github-docs-2.22-cn-records.json.br +++ b/lib/search/indexes/github-docs-2.22-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cbb2d80d35e5e85dfa53a3833fec3f1ca8bf3ef878169f5e396bb185c757a2d7 -size 525507 +oid sha256:91208e024867af555a4eb969e81cf9889343d67acd59cb2a0a8b2ea08dde1e96 +size 525424 diff --git a/lib/search/indexes/github-docs-2.22-cn.json.br b/lib/search/indexes/github-docs-2.22-cn.json.br index b2bdebdc13..eed5d4b67f 100644 --- a/lib/search/indexes/github-docs-2.22-cn.json.br +++ b/lib/search/indexes/github-docs-2.22-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9f36dd4cecb6f5adb3664aba8b2cf9998ad5e7c135303ab74aeb3ed47e37fba -size 868782 +oid sha256:7ce2293187a52af182b945594cf7f2f48aaa51778471f8ed2a588a83635531c1 +size 868920 diff --git a/lib/search/indexes/github-docs-2.22-de-records.json.br b/lib/search/indexes/github-docs-2.22-de-records.json.br index 44f0461241..f3c870de90 100644 --- a/lib/search/indexes/github-docs-2.22-de-records.json.br +++ b/lib/search/indexes/github-docs-2.22-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0e4989aa501e78a09769a574be8cd3350f7635c8ec335967b3019d7718fc10e2 -size 479365 +oid sha256:06ed8e30eb4a54c4479fe734e57a75733110c745d00cd0b40232c844394faa7e +size 479313 diff --git a/lib/search/indexes/github-docs-2.22-de.json.br b/lib/search/indexes/github-docs-2.22-de.json.br index 5c28d69bfd..c9b9645c7b 100644 --- a/lib/search/indexes/github-docs-2.22-de.json.br +++ b/lib/search/indexes/github-docs-2.22-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fa235aa73771f6bbb01e7e5a2fb54e1c1e8fbcd30c3f96b5bd04767727d902c -size 2127939 +oid sha256:3126d7488e44088e750c52161d5df39fbd0c71507e43e92353923a24888a3f9b +size 2127575 diff --git a/lib/search/indexes/github-docs-2.22-en-records.json.br b/lib/search/indexes/github-docs-2.22-en-records.json.br index 47cc9d9117..91add51ada 100644 --- a/lib/search/indexes/github-docs-2.22-en-records.json.br +++ b/lib/search/indexes/github-docs-2.22-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:222bce107edf6d1ae5c710c45d7f940b6b030cec155c56092ab2043879e7dca5 -size 433344 +oid sha256:40ad457c0e26d6f502ed9a1da6ba3b87e05d385fcf97021449288ee03f1deb28 +size 434178 diff --git a/lib/search/indexes/github-docs-2.22-en.json.br b/lib/search/indexes/github-docs-2.22-en.json.br index 5e58bbb750..d8f9667cb4 100644 --- a/lib/search/indexes/github-docs-2.22-en.json.br +++ b/lib/search/indexes/github-docs-2.22-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f4609be9fd8ca8cbefec201010f5ecbb3a5b4d2a85d72c68b5cc892a44dd8a4 -size 1692349 +oid sha256:5d6d2162d830350c05d6340974d7fef66be30e400d3fea26529ee286638b0091 +size 1695964 diff --git a/lib/search/indexes/github-docs-2.22-es-records.json.br b/lib/search/indexes/github-docs-2.22-es-records.json.br index 6e86190fe1..04b3fd8c61 100644 --- a/lib/search/indexes/github-docs-2.22-es-records.json.br +++ b/lib/search/indexes/github-docs-2.22-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d08fd927b6a9565cb760d941e31af2ced02569a13d086d15c862fd78264dd450 -size 195205 +oid sha256:28303ab0f742ac14a10721f94cb36ff7011a15866b2a1a9503a751b2d2a03de8 +size 195098 diff --git a/lib/search/indexes/github-docs-2.22-es.json.br b/lib/search/indexes/github-docs-2.22-es.json.br index 57033eb226..2b5c11dcba 100644 --- a/lib/search/indexes/github-docs-2.22-es.json.br +++ b/lib/search/indexes/github-docs-2.22-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b08b2d9e1cba12a661e4d6fda08791cadc9b6e84cdd0cb962074568c4d5bb97 -size 702609 +oid sha256:e93fdd51712c6ab062dde5062279a702eca3511e529897be1b013d5796b96533 +size 702748 diff --git a/lib/search/indexes/github-docs-2.22-ja-records.json.br b/lib/search/indexes/github-docs-2.22-ja-records.json.br index 1fcc8bd3e1..2569349231 100644 --- a/lib/search/indexes/github-docs-2.22-ja-records.json.br +++ b/lib/search/indexes/github-docs-2.22-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e213cbf9c90b97eea8f12bc6981a27b24f3bc95e5db41f9022bff86a3df17f10 -size 545532 +oid sha256:63155775a74ca5f1add9b970b00633b43cd6f840b858fe5eb6ea0a0602137d71 +size 545125 diff --git a/lib/search/indexes/github-docs-2.22-ja.json.br b/lib/search/indexes/github-docs-2.22-ja.json.br index 1e2ea90af2..d4b0ceb41d 100644 --- a/lib/search/indexes/github-docs-2.22-ja.json.br +++ b/lib/search/indexes/github-docs-2.22-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b35cf165bb7ed70ae0eac16a3476d7fa316f0d4aba345db6a0e4703b4f402080 -size 2882065 +oid sha256:2239e3d2a38f472fec2c004ef2cf6efc7d2fb9536ccdb8d868b15ee7e252212d +size 2881233 diff --git a/lib/search/indexes/github-docs-2.22-pt-records.json.br b/lib/search/indexes/github-docs-2.22-pt-records.json.br index 8c600e001f..285d57f4f8 100644 --- a/lib/search/indexes/github-docs-2.22-pt-records.json.br +++ b/lib/search/indexes/github-docs-2.22-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1627518ddf631ad8c177add05b0b725d6ed536b7eb527c2f18d0c592d6a04918 -size 456721 +oid sha256:7eecfa7dd53c92d6c11fbd73146e09a4053ca429ec346718f19c0343f226e86d +size 456762 diff --git a/lib/search/indexes/github-docs-2.22-pt.json.br b/lib/search/indexes/github-docs-2.22-pt.json.br index 6889251443..4a66301637 100644 --- a/lib/search/indexes/github-docs-2.22-pt.json.br +++ b/lib/search/indexes/github-docs-2.22-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a5d22a08b3e92ce8bfc3e2816d37cee7b540c96c819759e749429a638478c28 -size 1905437 +oid sha256:c275566abd5fbd592dfaec5652e5b5fab5f683d533906d1b9e1cd4efd5a12b59 +size 1906421 diff --git a/lib/search/indexes/github-docs-3.0-cn-records.json.br b/lib/search/indexes/github-docs-3.0-cn-records.json.br index 3eadf06ca2..3a9aef589a 100644 --- a/lib/search/indexes/github-docs-3.0-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.0-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf1410f8359bc105d86e756cca42835a8014bfc245202a725012c88caf0f17a9 -size 544955 +oid sha256:87cf77f4d982ecdc6b3098aacf4fd41dfcf391fc85d382b8fd407bf88a39abb7 +size 544936 diff --git a/lib/search/indexes/github-docs-3.0-cn.json.br b/lib/search/indexes/github-docs-3.0-cn.json.br index e9a6b104bf..61afcab8f8 100644 --- a/lib/search/indexes/github-docs-3.0-cn.json.br +++ b/lib/search/indexes/github-docs-3.0-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:826dfe31de1349559813ce954376bf4b9ef2964fe6b0722b8fe4b6d6cd2d308f -size 906637 +oid sha256:3c06af4f6b6693cd191502296cc772d7918e7613fd749c76805462fe61f778af +size 906699 diff --git a/lib/search/indexes/github-docs-3.0-de-records.json.br b/lib/search/indexes/github-docs-3.0-de-records.json.br index a633c721f6..a6c808484c 100644 --- a/lib/search/indexes/github-docs-3.0-de-records.json.br +++ b/lib/search/indexes/github-docs-3.0-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6640729bbb9705a0c8bf2c6de6e4afa032c6a42c4cab76353b96374025f22146 -size 499700 +oid sha256:3d68db0ba698cf3c75466d033503e9851a5f4c65ac5ccd803489afc671449a94 +size 499785 diff --git a/lib/search/indexes/github-docs-3.0-de.json.br b/lib/search/indexes/github-docs-3.0-de.json.br index 173c032ad4..96aec98a01 100644 --- a/lib/search/indexes/github-docs-3.0-de.json.br +++ b/lib/search/indexes/github-docs-3.0-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79a5bbdc7fb3d8b126c6d4c9a400cf771add04d71c75caa864c1c6b85b67a870 -size 2233040 +oid sha256:352ea704f354e70f67d6685f890bd23a45e557277d6d57997a312264d0b8a049 +size 2232857 diff --git a/lib/search/indexes/github-docs-3.0-en-records.json.br b/lib/search/indexes/github-docs-3.0-en-records.json.br index c9bb044aeb..18e2133b28 100644 --- a/lib/search/indexes/github-docs-3.0-en-records.json.br +++ b/lib/search/indexes/github-docs-3.0-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed646d323be99e7b847dab80da0ea759f00b99c560ba46593efabf555a77f4bf -size 452925 +oid sha256:2f821af9fde706deb6593aff4feca97681d15f25c41f6a92322e5cacc7effe39 +size 454394 diff --git a/lib/search/indexes/github-docs-3.0-en.json.br b/lib/search/indexes/github-docs-3.0-en.json.br index 5ddae7f9df..63d3aa4420 100644 --- a/lib/search/indexes/github-docs-3.0-en.json.br +++ b/lib/search/indexes/github-docs-3.0-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:106cf7e4ac8708efff6baf5a509c2afc9cda493b697e0035ae54dab90b2990b8 -size 1766498 +oid sha256:d6665bcaefb7c0fded7bc23d80d23430788068f3c63822d2f257ab65f11b79c0 +size 1770932 diff --git a/lib/search/indexes/github-docs-3.0-es-records.json.br b/lib/search/indexes/github-docs-3.0-es-records.json.br index ae061e13c0..2e225a51a6 100644 --- a/lib/search/indexes/github-docs-3.0-es-records.json.br +++ b/lib/search/indexes/github-docs-3.0-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f763b626b0d253834788287b12faaf405b74964ef715411e6b29e46038aa919 -size 193641 +oid sha256:26bebda784fda100b9ce81b81c69ba6f41001477bccce87b9d97b6648f364ae8 +size 193608 diff --git a/lib/search/indexes/github-docs-3.0-es.json.br b/lib/search/indexes/github-docs-3.0-es.json.br index 98821cfb77..ccfcad5178 100644 --- a/lib/search/indexes/github-docs-3.0-es.json.br +++ b/lib/search/indexes/github-docs-3.0-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:293a76890f56500bee9b88c2e58f2c3a8c029e0c60f1b7221733db8921de190f -size 694283 +oid sha256:96351ceb3ca6ee3874cc92c036e4a185b4efd95bef0e5379ff1bcf0aa7e6d459 +size 694366 diff --git a/lib/search/indexes/github-docs-3.0-ja-records.json.br b/lib/search/indexes/github-docs-3.0-ja-records.json.br index 05ab9a417d..9bee4f04be 100644 --- a/lib/search/indexes/github-docs-3.0-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.0-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74af6d629f3a42326bef83b4aa230f3872ad519c80d39169538f5cf2d2e9974b -size 567795 +oid sha256:8a3b4ecafeadc17e3676ae2fab88446b8f75bfc798f78d9cf7ce511749e7cec8 +size 567820 diff --git a/lib/search/indexes/github-docs-3.0-ja.json.br b/lib/search/indexes/github-docs-3.0-ja.json.br index 0ea4e70431..9abb823ccf 100644 --- a/lib/search/indexes/github-docs-3.0-ja.json.br +++ b/lib/search/indexes/github-docs-3.0-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03e14228282df34399326469181cefef9b2c54d6cf676bf1cf983ea1678615e1 -size 3008538 +oid sha256:8306224b0db95075977f8254a9d0e7cb6e91b3460ab67abf9c813d769c4eb880 +size 3007064 diff --git a/lib/search/indexes/github-docs-3.0-pt-records.json.br b/lib/search/indexes/github-docs-3.0-pt-records.json.br index 053da0ad36..8daf38226f 100644 --- a/lib/search/indexes/github-docs-3.0-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.0-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08771e46080efb50a26e9686cd352b4d50b5497e286e594bfdee00372737e4e1 -size 477617 +oid sha256:16b1e99e76dd3d35641a57f9a32e4e4c92d78e41a9d9eef85e76ed8b07091122 +size 477573 diff --git a/lib/search/indexes/github-docs-3.0-pt.json.br b/lib/search/indexes/github-docs-3.0-pt.json.br index e0c3be5247..0577b66931 100644 --- a/lib/search/indexes/github-docs-3.0-pt.json.br +++ b/lib/search/indexes/github-docs-3.0-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a616e92e0b52088fa5a1294ac59605aa995a3e8e2b562650b2164f8fa07652c7 -size 1993322 +oid sha256:d37e5ca7e5b618bd3bce01f3f0f6bad0281bf8b93a2b9398f6e38e311bff9c74 +size 1993274 diff --git a/lib/search/indexes/github-docs-3.1-cn-records.json.br b/lib/search/indexes/github-docs-3.1-cn-records.json.br index f50c3ffec1..3829ba9f0f 100644 --- a/lib/search/indexes/github-docs-3.1-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.1-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9dec8357fa232d190b19793e451edd0195f4645f5a20aa9729032e0ef727c8e -size 557391 +oid sha256:dbce82399f9e304b3cc072e436123629fde328531c49fd425b6cd52198e07b36 +size 557376 diff --git a/lib/search/indexes/github-docs-3.1-cn.json.br b/lib/search/indexes/github-docs-3.1-cn.json.br index 3ce746da60..122036230d 100644 --- a/lib/search/indexes/github-docs-3.1-cn.json.br +++ b/lib/search/indexes/github-docs-3.1-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f58cfbcda789631b164c29ec4965b58ede8d382622f42b7943c1b9ef27342a8 -size 929478 +oid sha256:07cd5cd737e4d97dc876e00fb4145ebc4f5dd921f86e0639c673fda4f3cc526f +size 929239 diff --git a/lib/search/indexes/github-docs-3.1-de-records.json.br b/lib/search/indexes/github-docs-3.1-de-records.json.br index 2849bd2ec0..1280634b73 100644 --- a/lib/search/indexes/github-docs-3.1-de-records.json.br +++ b/lib/search/indexes/github-docs-3.1-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:517ba3e3ac5958cc63b2fd9eba574caca0621e99c95ecea056a0ef4cc0f774c8 -size 508465 +oid sha256:5d7a3274a1467dbd095b6f3d1ad0a695c8deb5c4e510bff36c6b1ccc8f8bc552 +size 508562 diff --git a/lib/search/indexes/github-docs-3.1-de.json.br b/lib/search/indexes/github-docs-3.1-de.json.br index 661e1aecad..976a6a7ea0 100644 --- a/lib/search/indexes/github-docs-3.1-de.json.br +++ b/lib/search/indexes/github-docs-3.1-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03744bbd72090103ecfb665be3270518f7360958dfa06d65d36920a50ec04053 -size 2284825 +oid sha256:e9a5777f9de796588d8027d728fc41b6d010b1a3e4a7206d4375fbdbd64d1194 +size 2285095 diff --git a/lib/search/indexes/github-docs-3.1-en-records.json.br b/lib/search/indexes/github-docs-3.1-en-records.json.br index acbe961958..222d0f0418 100644 --- a/lib/search/indexes/github-docs-3.1-en-records.json.br +++ b/lib/search/indexes/github-docs-3.1-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1cdb7cf7d6734b09da4e573bd2e0baa860a1661116c7e81f896b5d751e94bb4c -size 461942 +oid sha256:b2f218d06aae678e87b5b86b57b9fe8d209a1d893f49f607d35427ae8ee028f9 +size 464086 diff --git a/lib/search/indexes/github-docs-3.1-en.json.br b/lib/search/indexes/github-docs-3.1-en.json.br index f271abb1a3..4777154946 100644 --- a/lib/search/indexes/github-docs-3.1-en.json.br +++ b/lib/search/indexes/github-docs-3.1-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c07327cb961e2e3486da77d7d0ea7ec54f9afb9b5d976fce08c45d91bb9d5f16 -size 1805237 +oid sha256:b1dcd2ec5a3202d09ed741b36ad525b28a0715b89915fcb9001940ecfc51b0fc +size 1813064 diff --git a/lib/search/indexes/github-docs-3.1-es-records.json.br b/lib/search/indexes/github-docs-3.1-es-records.json.br index c6ada80655..be106ca952 100644 --- a/lib/search/indexes/github-docs-3.1-es-records.json.br +++ b/lib/search/indexes/github-docs-3.1-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c684920a6c549196ed74921363d25d66ad033c4a9d882547b239de5e8bb91ea6 -size 193685 +oid sha256:2a4ae7b71b73cb2a0a6d78c153550aa88b053d0aa7d45630830a3b875c815cd3 +size 193643 diff --git a/lib/search/indexes/github-docs-3.1-es.json.br b/lib/search/indexes/github-docs-3.1-es.json.br index 7cc6259ed7..fd6e68ce49 100644 --- a/lib/search/indexes/github-docs-3.1-es.json.br +++ b/lib/search/indexes/github-docs-3.1-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4146c318a059f7b9fd81f3a5d924a9e21a6efa9e6866be8b056fc1f8bb4f01ab -size 694403 +oid sha256:62c43bfe1ffd644bcd4badf0449aee736b75ddcdd44797b5ace1dedb864969dd +size 694297 diff --git a/lib/search/indexes/github-docs-3.1-ja-records.json.br b/lib/search/indexes/github-docs-3.1-ja-records.json.br index 64ebc93cfd..c83745f0d7 100644 --- a/lib/search/indexes/github-docs-3.1-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.1-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9dba7bbe5bc6ac00e7d22ec249e260d8970c6f24dc9ee67d9d68da6ea7ddc59c -size 579917 +oid sha256:5937bc3cc8325c6653abd921a4372ea1791b1e4201d2ddc7651105f3952df428 +size 579871 diff --git a/lib/search/indexes/github-docs-3.1-ja.json.br b/lib/search/indexes/github-docs-3.1-ja.json.br index 91c133e1e2..e9ab18a50b 100644 --- a/lib/search/indexes/github-docs-3.1-ja.json.br +++ b/lib/search/indexes/github-docs-3.1-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab3a51c1362f3828c8193cb9da95d0cc4ccd0be7b0a5574f06ac1002a83bdd9d -size 3073853 +oid sha256:573945e3902fb977b439b0815e41337a65a08f24781a3c6869ddbdd91332b34f +size 3074252 diff --git a/lib/search/indexes/github-docs-3.1-pt-records.json.br b/lib/search/indexes/github-docs-3.1-pt-records.json.br index a7bfa803a4..3ead91e239 100644 --- a/lib/search/indexes/github-docs-3.1-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.1-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55d902647f5549f5d0403e063dffa6395286f438e065d5b457559a88a0bae930 -size 487253 +oid sha256:b3d56a097257ad0a5053d1df396e94e5f108f99ee321a300dd8ad6c8a88531db +size 487143 diff --git a/lib/search/indexes/github-docs-3.1-pt.json.br b/lib/search/indexes/github-docs-3.1-pt.json.br index 6a059b7149..0c8e032cf0 100644 --- a/lib/search/indexes/github-docs-3.1-pt.json.br +++ b/lib/search/indexes/github-docs-3.1-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbbea1c794e8f86369fe53d9cae6fca6118bb951b127c27cd60b9d4cd915e141 -size 2037559 +oid sha256:10165275524de967426912c1168d1a5ee24937bf00f08c2b893163e83dabac50 +size 2037088 diff --git a/lib/search/indexes/github-docs-3.2-cn-records.json.br b/lib/search/indexes/github-docs-3.2-cn-records.json.br index cbc53ba75b..06a11db6db 100644 --- a/lib/search/indexes/github-docs-3.2-cn-records.json.br +++ b/lib/search/indexes/github-docs-3.2-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:628b0dc654cd25711900d599eac51d8d867d9f4111fd3387c55d675360dde19e -size 568088 +oid sha256:917997928a1a9ad79fb088af7f386c87ba5fe897a95e7b1a3c501a801aa4e205 +size 567854 diff --git a/lib/search/indexes/github-docs-3.2-cn.json.br b/lib/search/indexes/github-docs-3.2-cn.json.br index 65739cd96b..ec35fd4895 100644 --- a/lib/search/indexes/github-docs-3.2-cn.json.br +++ b/lib/search/indexes/github-docs-3.2-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90a70cedc341f7ad16b5aa7c735bafa2efdee999cea4d2adfdd03a3b9f903dbb -size 949108 +oid sha256:02cdd4dec93e5b6cea5bb8916114dc76c4c11e3eee784ea9d3e1ac1d267270fc +size 949299 diff --git a/lib/search/indexes/github-docs-3.2-de-records.json.br b/lib/search/indexes/github-docs-3.2-de-records.json.br index 1a1ab8c0f0..869e7d6364 100644 --- a/lib/search/indexes/github-docs-3.2-de-records.json.br +++ b/lib/search/indexes/github-docs-3.2-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f56f602c0f46d0c2279a6349544540f24e327ee55e2012c20536ae1637ca061 -size 517528 +oid sha256:7204feba67427f060228892734c3d5f72e15330ba302e4e75acebd07624020f4 +size 517642 diff --git a/lib/search/indexes/github-docs-3.2-de.json.br b/lib/search/indexes/github-docs-3.2-de.json.br index bd0bab1b8b..6481dd21c3 100644 --- a/lib/search/indexes/github-docs-3.2-de.json.br +++ b/lib/search/indexes/github-docs-3.2-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfe05993eb41edbc7eda80f04e246544b3da3115fd9d2a605c1dc9bbbef09f1c -size 2333320 +oid sha256:819d728984ce724fc83ec6b3eea4eb54bbba12760f68dd726ed3df29134d140c +size 2333118 diff --git a/lib/search/indexes/github-docs-3.2-en-records.json.br b/lib/search/indexes/github-docs-3.2-en-records.json.br index dbb5b91540..8be41023ac 100644 --- a/lib/search/indexes/github-docs-3.2-en-records.json.br +++ b/lib/search/indexes/github-docs-3.2-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10be4e6bcf2689fa11e9b0fe1842f04ff2bad6dcc99f025d48486dc0c24b4af3 -size 471502 +oid sha256:938a3b6cdf940d998c7967033e0da779518404aaa7a5cb21b1d27e7636d3b052 +size 472921 diff --git a/lib/search/indexes/github-docs-3.2-en.json.br b/lib/search/indexes/github-docs-3.2-en.json.br index 8d3d0e3b48..e0a2eea797 100644 --- a/lib/search/indexes/github-docs-3.2-en.json.br +++ b/lib/search/indexes/github-docs-3.2-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73ee8fd727751dec54cea9c1d38b887bdd3a662a31c40e2f1ed5e8346291faff -size 1838899 +oid sha256:08abb8df2fdb7342368a6eaa044c5c2eb751533b78ab84381e7e1e70141bbb48 +size 1845491 diff --git a/lib/search/indexes/github-docs-3.2-es-records.json.br b/lib/search/indexes/github-docs-3.2-es-records.json.br index 9268c31c2a..cef60cbe6f 100644 --- a/lib/search/indexes/github-docs-3.2-es-records.json.br +++ b/lib/search/indexes/github-docs-3.2-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f90906b8706d1ad4484ecf0f7389cfc105c8407be0b45f9db73dd6a6ad9e1065 -size 193588 +oid sha256:6441754ce97f1c2cc7cdc56c46576790ba771a542844cfbccde12c04ddf29daf +size 193563 diff --git a/lib/search/indexes/github-docs-3.2-es.json.br b/lib/search/indexes/github-docs-3.2-es.json.br index 51d3a3985b..66fb57d7e0 100644 --- a/lib/search/indexes/github-docs-3.2-es.json.br +++ b/lib/search/indexes/github-docs-3.2-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9121cbe9e57b0c483a31997649e7b0891d51dca751a11af56cd4995daf983cfa -size 694362 +oid sha256:90ca8025913ba8310255195a5830ae51bc8221a2e7c4fc6417b0fe862c48777b +size 694371 diff --git a/lib/search/indexes/github-docs-3.2-ja-records.json.br b/lib/search/indexes/github-docs-3.2-ja-records.json.br index c5400c3462..2fc007743b 100644 --- a/lib/search/indexes/github-docs-3.2-ja-records.json.br +++ b/lib/search/indexes/github-docs-3.2-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd8574928f998f6d3fd1f125128a2dac8f0c45accf8a437fd2de3968c728cd94 -size 590437 +oid sha256:dbcf387680785da76cfe0d1c88a114dfbe82592e057d61a1dad3cc0c8e047de5 +size 590531 diff --git a/lib/search/indexes/github-docs-3.2-ja.json.br b/lib/search/indexes/github-docs-3.2-ja.json.br index bb677f0f8a..201c902163 100644 --- a/lib/search/indexes/github-docs-3.2-ja.json.br +++ b/lib/search/indexes/github-docs-3.2-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1cf4796dfcea5a8d9004825207bd4cb59480d108c3521d9643ed2ca86ca4da5e -size 3140907 +oid sha256:0328aae7ed17d573e7056d71c83f1ad93e63c3cefff50f5490b010be29fa3a65 +size 3141216 diff --git a/lib/search/indexes/github-docs-3.2-pt-records.json.br b/lib/search/indexes/github-docs-3.2-pt-records.json.br index 92630b9b41..0fa7e7355d 100644 --- a/lib/search/indexes/github-docs-3.2-pt-records.json.br +++ b/lib/search/indexes/github-docs-3.2-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4e92197edb1bf5ab17fb4adfb97262f0b1dc5873884375dd45d8e22d5343bc4 -size 496616 +oid sha256:35ea12734eb072c8fc455594bf9e6ab158c89932520efb720741a08d2cf7849c +size 496648 diff --git a/lib/search/indexes/github-docs-3.2-pt.json.br b/lib/search/indexes/github-docs-3.2-pt.json.br index 3323f9b80f..d7dca5e161 100644 --- a/lib/search/indexes/github-docs-3.2-pt.json.br +++ b/lib/search/indexes/github-docs-3.2-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d354d5cd052751d0e0056581814c5d4ee41907d73cd33db5cf00c44e73f4f71 -size 2079118 +oid sha256:06411283bc246062b3f5fdd0983e004197c3cd4de7ef6159d4b0af7bb5ebbe5c +size 2078555 diff --git a/lib/search/indexes/github-docs-dotcom-cn-records.json.br b/lib/search/indexes/github-docs-dotcom-cn-records.json.br index 1e57f07c43..0508ef02c3 100644 --- a/lib/search/indexes/github-docs-dotcom-cn-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd01619759b4ec4432f5d2f15d6839a7f3635cb41ae65248090d347c1259c585 -size 770935 +oid sha256:fc12d04bc7e405999033e7c0aad4a619eaec6a6a6f2ee4dbbab4324ce05cb1b5 +size 770878 diff --git a/lib/search/indexes/github-docs-dotcom-cn.json.br b/lib/search/indexes/github-docs-dotcom-cn.json.br index eb486ec717..48a85097c1 100644 --- a/lib/search/indexes/github-docs-dotcom-cn.json.br +++ b/lib/search/indexes/github-docs-dotcom-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef8d0fb2b6dd26b5bb57b961650914319eb411ecf4162f505f42ea1add9c0588 -size 1171701 +oid sha256:89e2cfd98427c83deff17d953ecccc51680258c4cf58eb7be4bf65ebc7135786 +size 1171829 diff --git a/lib/search/indexes/github-docs-dotcom-de-records.json.br b/lib/search/indexes/github-docs-dotcom-de-records.json.br index e3643e34bf..192ea481f9 100644 --- a/lib/search/indexes/github-docs-dotcom-de-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7911a8e79e6e12b0fc6f571219e90c383bc08d226d9d8df36f26b846cc81f6c6 -size 690860 +oid sha256:a0317da926ab47cee5f387062ea307ce44587280b26ce489c96a29a88bd35aac +size 691015 diff --git a/lib/search/indexes/github-docs-dotcom-de.json.br b/lib/search/indexes/github-docs-dotcom-de.json.br index 6415f04986..28d8dfa89c 100644 --- a/lib/search/indexes/github-docs-dotcom-de.json.br +++ b/lib/search/indexes/github-docs-dotcom-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acd4550be23b9110f918392d9d1510981093367e3ad2fdc6617a51a74c48280f -size 3125158 +oid sha256:aadf161948579c1b667aedafb29fe9c7865491c8afa00c466d4f865722d4064b +size 3126159 diff --git a/lib/search/indexes/github-docs-dotcom-en-records.json.br b/lib/search/indexes/github-docs-dotcom-en-records.json.br index 5d19d94a38..bbf161bf41 100644 --- a/lib/search/indexes/github-docs-dotcom-en-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fc840d330eb5d1b8af74d4b588f47de99aa5dcdcf71ff3ce452b7f0d15d9d95 -size 636739 +oid sha256:8d6d41b22d89aae6e1227495276b989104900af4e5c3831b5326facefaf884f5 +size 638540 diff --git a/lib/search/indexes/github-docs-dotcom-en.json.br b/lib/search/indexes/github-docs-dotcom-en.json.br index 6d68893cf7..372c17e06b 100644 --- a/lib/search/indexes/github-docs-dotcom-en.json.br +++ b/lib/search/indexes/github-docs-dotcom-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3506de03a226201ce322f499c224f3aa6c740cbb84acf6e4432d826fc765e905 -size 2419645 +oid sha256:cb976659507f1e9b55940a590f1097d792cf399b64c8366f4de9d7a880e03f7b +size 2426632 diff --git a/lib/search/indexes/github-docs-dotcom-es-records.json.br b/lib/search/indexes/github-docs-dotcom-es-records.json.br index 23d8ba8d48..a34400a77a 100644 --- a/lib/search/indexes/github-docs-dotcom-es-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5ec23890d6565f86c790052fedae535434823411e947b861a7f4e96594dd818 -size 205335 +oid sha256:e1265f2e1f1755bbdf69987ee81f0d3210ec80c174f82ebd80b05860d1065755 +size 205316 diff --git a/lib/search/indexes/github-docs-dotcom-es.json.br b/lib/search/indexes/github-docs-dotcom-es.json.br index f59320dd8c..daf3d22f28 100644 --- a/lib/search/indexes/github-docs-dotcom-es.json.br +++ b/lib/search/indexes/github-docs-dotcom-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:184e1a79c820f0d94ab2dfbc9ad65d6416a55e83f13930f4fc90c73fa87c649d -size 651389 +oid sha256:2767ffb511df6c27a3eb97da5d5fa3b27015640ae6ebe3104c00a10a66a643f3 +size 651528 diff --git a/lib/search/indexes/github-docs-dotcom-ja-records.json.br b/lib/search/indexes/github-docs-dotcom-ja-records.json.br index f4fa2e0b7b..5f13b606e4 100644 --- a/lib/search/indexes/github-docs-dotcom-ja-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a8ee6e07d60ed6e31d87b34817dce0378cd0de8fdab1ee388126a5c520ba97c0 -size 795373 +oid sha256:841fcad09edad52a10254d14a8bb4e9be8947332ac81a02a9692b1ada0bf9ecd +size 795398 diff --git a/lib/search/indexes/github-docs-dotcom-ja.json.br b/lib/search/indexes/github-docs-dotcom-ja.json.br index a799ce00e9..d4877b319d 100644 --- a/lib/search/indexes/github-docs-dotcom-ja.json.br +++ b/lib/search/indexes/github-docs-dotcom-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:152d745ff83b2d43575c790b3f6f72cb36180edce82d4d408b6a45fc3827dac5 -size 4152796 +oid sha256:ad8adaa7c6ef50c465c14984fc980dd2dd97db3cc6de9a58583666ad92087995 +size 4151239 diff --git a/lib/search/indexes/github-docs-dotcom-pt-records.json.br b/lib/search/indexes/github-docs-dotcom-pt-records.json.br index cde30da365..0680eec4b9 100644 --- a/lib/search/indexes/github-docs-dotcom-pt-records.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc0df7f412e53935927fc64516dd1f945800bdae411cc618903aeed611179bf8 -size 669958 +oid sha256:cd67a6a7dff3c8285ea42240bf2239413458f77a5c0e9bb48e5a6da5a2d2a246 +size 670239 diff --git a/lib/search/indexes/github-docs-dotcom-pt.json.br b/lib/search/indexes/github-docs-dotcom-pt.json.br index 0bc1cd34d0..ab6b7eaf2e 100644 --- a/lib/search/indexes/github-docs-dotcom-pt.json.br +++ b/lib/search/indexes/github-docs-dotcom-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:561e049c8f6ce1454065e50bc4d871e949f77a3f440d76002e1c2eb7adac8af7 -size 2752237 +oid sha256:2549359fd05934f9800bf00d7b7fa8810a4ebecebe8ed4c082541514d88d5161 +size 2753364 diff --git a/lib/search/indexes/github-docs-ghae-cn-records.json.br b/lib/search/indexes/github-docs-ghae-cn-records.json.br index 73d5df890e..9dfde72596 100644 --- a/lib/search/indexes/github-docs-ghae-cn-records.json.br +++ b/lib/search/indexes/github-docs-ghae-cn-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cde2c0742d8880552341b997e17eaa0a6649a4db109bf2c2f921fbadf7fc7f53 -size 433835 +oid sha256:a62589ad297e32ab68edb83d69b32a3f3a3fc028497849f8f5f86eedd5ce34cb +size 433867 diff --git a/lib/search/indexes/github-docs-ghae-cn.json.br b/lib/search/indexes/github-docs-ghae-cn.json.br index 0886e053e4..c1e21e4c64 100644 --- a/lib/search/indexes/github-docs-ghae-cn.json.br +++ b/lib/search/indexes/github-docs-ghae-cn.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1cfdd92f7d58333bec5369fbb4ca36b67f2fc7ab86c508a3cee1a4208a341645 -size 691697 +oid sha256:a3882f9e115d82807b444f97de03b0ea4795ed77f93b95ef67a8bd5512a2b7b1 +size 691775 diff --git a/lib/search/indexes/github-docs-ghae-de-records.json.br b/lib/search/indexes/github-docs-ghae-de-records.json.br index 7c38ab44ea..041198f6a0 100644 --- a/lib/search/indexes/github-docs-ghae-de-records.json.br +++ b/lib/search/indexes/github-docs-ghae-de-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8572d57ef30775bdbe3079ee1e2b1cd797a71512168643a91f156517e122febd -size 400533 +oid sha256:6c867fb983591b36ed7d7257d11a93506fa2124072da7283d0046ca9c874cb75 +size 400769 diff --git a/lib/search/indexes/github-docs-ghae-de.json.br b/lib/search/indexes/github-docs-ghae-de.json.br index 502813c26b..8422168caa 100644 --- a/lib/search/indexes/github-docs-ghae-de.json.br +++ b/lib/search/indexes/github-docs-ghae-de.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0935e10ef360341c50d3fc9c33aee72cb410bce729e6148600e2d0ef1e7e5e6 -size 1742028 +oid sha256:5e33635b23d2c098ec25f054c36042de12725769234064989d9f9e5497c0516a +size 1742391 diff --git a/lib/search/indexes/github-docs-ghae-en-records.json.br b/lib/search/indexes/github-docs-ghae-en-records.json.br index 5e1f314708..2b3366ae13 100644 --- a/lib/search/indexes/github-docs-ghae-en-records.json.br +++ b/lib/search/indexes/github-docs-ghae-en-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c5d442e2dd2f3c1a7976126cee8e2577650d21484cf7bffa310f74eebd4b19a -size 363724 +oid sha256:fe56466dd3388a8c9dfc334ff6c25f3c1d5793e61740a31d7427d0d93c3bbec2 +size 365404 diff --git a/lib/search/indexes/github-docs-ghae-en.json.br b/lib/search/indexes/github-docs-ghae-en.json.br index 550176cba9..99b6a95ab5 100644 --- a/lib/search/indexes/github-docs-ghae-en.json.br +++ b/lib/search/indexes/github-docs-ghae-en.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd20a215b24af51649c62a8cafa41bcb0dae7212fb6ca3f6cd5f10eeb0e216be -size 1349809 +oid sha256:10cb356d9a785253c1f590dff8bd81f34c466a981cb741aeda7311c3c0da29ad +size 1356662 diff --git a/lib/search/indexes/github-docs-ghae-es-records.json.br b/lib/search/indexes/github-docs-ghae-es-records.json.br index e4d86dfa46..4365cbfed0 100644 --- a/lib/search/indexes/github-docs-ghae-es-records.json.br +++ b/lib/search/indexes/github-docs-ghae-es-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea8e345ed822bbc0f948fe72f4d6197f916f1df9284afdb513f4cecc6e6ba35b -size 130845 +oid sha256:61b05e22a6934d1a6717b9b11abd7851cb0bfe5d79f689d21aba70f38227f092 +size 130796 diff --git a/lib/search/indexes/github-docs-ghae-es.json.br b/lib/search/indexes/github-docs-ghae-es.json.br index 39a2f364ef..d0663af302 100644 --- a/lib/search/indexes/github-docs-ghae-es.json.br +++ b/lib/search/indexes/github-docs-ghae-es.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d458159a826b99783f0de1ba564330dbc9401db7e947ca30fe09c6d043a61eae -size 420265 +oid sha256:40cf0f30b1a24c242798f0a1d3522ad2c7aadeb588754716a183677c08a46ed4 +size 420297 diff --git a/lib/search/indexes/github-docs-ghae-ja-records.json.br b/lib/search/indexes/github-docs-ghae-ja-records.json.br index 05fde0c48b..44b3e954c8 100644 --- a/lib/search/indexes/github-docs-ghae-ja-records.json.br +++ b/lib/search/indexes/github-docs-ghae-ja-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:667023920fdf8722362f83cdf3fa9f28f3170c1219becf3c7deda5c05633606e -size 453189 +oid sha256:0ec9ec70c52f2ce9da48d316af483ebb67fcf1aff21ed24ccbe0871f234f78fc +size 453116 diff --git a/lib/search/indexes/github-docs-ghae-ja.json.br b/lib/search/indexes/github-docs-ghae-ja.json.br index 3743c3ff4a..2c06ba0fec 100644 --- a/lib/search/indexes/github-docs-ghae-ja.json.br +++ b/lib/search/indexes/github-docs-ghae-ja.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ba32645d7ba0af0edb811977536c5c89f47b426302dec2b25041f0d1afa1b53 -size 2296383 +oid sha256:04539b71e872c15d430da9d98fddbc49fe1b777fb6a886db4cc5057e61521de5 +size 2296708 diff --git a/lib/search/indexes/github-docs-ghae-pt-records.json.br b/lib/search/indexes/github-docs-ghae-pt-records.json.br index 75b3dcad6a..72a6ca8f44 100644 --- a/lib/search/indexes/github-docs-ghae-pt-records.json.br +++ b/lib/search/indexes/github-docs-ghae-pt-records.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4514978584c085b202e6a8e05bebfc6c11ddad5fb4b57e8597001cc14b13809 -size 385059 +oid sha256:294380fd1d8cf6581c6dddd4d896a8db6ad215e83e09dd4e863e44433f3e8144 +size 384794 diff --git a/lib/search/indexes/github-docs-ghae-pt.json.br b/lib/search/indexes/github-docs-ghae-pt.json.br index 0257c39959..c98d8fab70 100644 --- a/lib/search/indexes/github-docs-ghae-pt.json.br +++ b/lib/search/indexes/github-docs-ghae-pt.json.br @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf056c98580751066abf942c7e68e41808cd5e56a31e722cd007a2ba1a5cbea1 -size 1537339 +oid sha256:b6a57ef28937a8a06cbb7856d67759a63852b76ce7e06044780049453e161fc6 +size 1537121