Merge branch 'main' into patch-11
@@ -294,6 +294,68 @@
|
|||||||
"contributions": [
|
"contributions": [
|
||||||
"doc"
|
"doc"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "jeffmcaffer",
|
||||||
|
"name": "Jeff McAffer",
|
||||||
|
"avatar_url": "https://avatars2.githubusercontent.com/u/10070956?v=4",
|
||||||
|
"profile": "https://mcaffer.com",
|
||||||
|
"contributions": [
|
||||||
|
"doc"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "tjenkinson",
|
||||||
|
"name": "Tom Jenkinson",
|
||||||
|
"avatar_url": "https://avatars0.githubusercontent.com/u/3259993?v=4",
|
||||||
|
"profile": "https://tjenkinson.me",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "casals",
|
||||||
|
"name": "Arthur Casals",
|
||||||
|
"avatar_url": "https://avatars0.githubusercontent.com/u/785860?v=4",
|
||||||
|
"profile": "https://github.com/casals",
|
||||||
|
"contributions": [
|
||||||
|
"content",
|
||||||
|
"doc"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "Simran-B",
|
||||||
|
"name": "Simran",
|
||||||
|
"avatar_url": "https://avatars3.githubusercontent.com/u/7819991?v=4",
|
||||||
|
"profile": "https://www.arangodb.com/",
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "Ruth",
|
||||||
|
"name": "Ruth",
|
||||||
|
"avatar_url": "https://avatars0.githubusercontent.com/u/85029?v=4",
|
||||||
|
"profile": "https://github.com/ruth",
|
||||||
|
"contributions": [
|
||||||
|
"content"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "wi5nia",
|
||||||
|
"name": "Tomasz Wisniewski",
|
||||||
|
"avatar_url": "https://avatars2.githubusercontent.com/u/12593852?v=4",
|
||||||
|
"profile": "http://tomaszwisniewski.com",
|
||||||
|
"contributions": [
|
||||||
|
"doc"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "chiedo",
|
||||||
|
"name": "Chiedo John",
|
||||||
|
"avatar_url": "https://avatars2.githubusercontent.com/u/2156688?v=4",
|
||||||
|
"profile": "https://chiedojohn.com/",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"contributorsPerLine": 7,
|
"contributorsPerLine": 7,
|
||||||
|
|||||||
4
.github/CODEOWNERS
vendored
@@ -14,3 +14,7 @@ package-lock.json @github/docs-engineering
|
|||||||
package.json @github/docs-engineering
|
package.json @github/docs-engineering
|
||||||
|
|
||||||
/content/github/site-policy/ @github/site-policy-admins
|
/content/github/site-policy/ @github/site-policy-admins
|
||||||
|
|
||||||
|
# Make sure that Octokit maintainers get notified about changes
|
||||||
|
# relevant to the Octokit libraries (https://github.com/octokit)
|
||||||
|
/content/rest/reference @github/octokit-maintainers
|
||||||
|
|||||||
8
.github/allowed-actions.js
vendored
@@ -8,6 +8,7 @@ module.exports = [
|
|||||||
'actions/cache@v2',
|
'actions/cache@v2',
|
||||||
'actions/checkout@v2',
|
'actions/checkout@v2',
|
||||||
'actions/github-script@0.9.0',
|
'actions/github-script@0.9.0',
|
||||||
|
'actions/github-script@v2.0.0',
|
||||||
'actions/github-script@v2',
|
'actions/github-script@v2',
|
||||||
'actions/github-script@v3',
|
'actions/github-script@v3',
|
||||||
'actions/labeler@v2',
|
'actions/labeler@v2',
|
||||||
@@ -22,11 +23,14 @@ module.exports = [
|
|||||||
'juliangruber/approve-pull-request-action@v1',
|
'juliangruber/approve-pull-request-action@v1',
|
||||||
'juliangruber/find-pull-request-action@v1',
|
'juliangruber/find-pull-request-action@v1',
|
||||||
'juliangruber/read-file-action@v1',
|
'juliangruber/read-file-action@v1',
|
||||||
'pascalgn/automerge-action@135f0bdb927d9807b5446f7ca9ecc2c51de03c4a',
|
'pascalgn/automerge-action@c9bd182',
|
||||||
'peter-evans/create-issue-from-file@v2',
|
'peter-evans/create-issue-from-file@v2',
|
||||||
'peter-evans/create-pull-request@v2',
|
'peter-evans/create-pull-request@v2',
|
||||||
|
'rachmari/actions-add-new-issue-to-column@v1.1.1',
|
||||||
|
'rachmari/labeler@v1.0.4',
|
||||||
'repo-sync/github-sync@v2',
|
'repo-sync/github-sync@v2',
|
||||||
'repo-sync/pull-request@v2',
|
'repo-sync/pull-request@v2',
|
||||||
'rtCamp/action-slack-notify@master',
|
'rtCamp/action-slack-notify@master',
|
||||||
'rtCamp/action-slack-notify@v2.1.0'
|
'rtCamp/action-slack-notify@v2.1.0',
|
||||||
|
'tjenkinson/gh-action-auto-merge-dependency-updates@cee2ac0'
|
||||||
]
|
]
|
||||||
14
.github/workflows/automerge-dependencies.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
name: Auto Merge Dependency Updates
|
||||||
|
|
||||||
|
on:
|
||||||
|
- pull_request
|
||||||
|
- pull_request_review
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: tjenkinson/gh-action-auto-merge-dependency-updates@cee2ac0
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
allowed-actors: dependabot[bot]
|
||||||
11
.github/workflows/automerge.yml
vendored
@@ -20,18 +20,17 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
automerge:
|
automerge:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'automerge')
|
if: contains(github.event.pull_request.labels.*.name, 'automerge') || contains(github.event.pull_request.labels.*.name, 'autosquash')
|
||||||
steps:
|
steps:
|
||||||
- name: automerge
|
- name: automerge
|
||||||
uses: "pascalgn/automerge-action@135f0bdb927d9807b5446f7ca9ecc2c51de03c4a"
|
uses: "pascalgn/automerge-action@c9bd182"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: "${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}"
|
GITHUB_TOKEN: "${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}"
|
||||||
MERGE_LABELS: "automerge"
|
MERGE_METHOD_LABELS: "automerge=merge,autosquash=squash"
|
||||||
MERGE_REMOVE_LABELS: ""
|
|
||||||
MERGE_COMMIT_MESSAGE: "pull-request-title"
|
MERGE_COMMIT_MESSAGE: "pull-request-title"
|
||||||
MERGE_METHOD: "merge"
|
MERGE_METHOD: "merge"
|
||||||
MERGE_FORKS: "true"
|
MERGE_FORKS: "true"
|
||||||
MERGE_RETRIES: "50"
|
MERGE_RETRIES: "50"
|
||||||
MERGE_RETRY_SLEEP: "10000"
|
MERGE_RETRY_SLEEP: "10000" # ten seconds
|
||||||
UPDATE_LABELS: "automerge"
|
UPDATE_LABELS: "automerge,autosquash"
|
||||||
UPDATE_METHOD: "merge"
|
UPDATE_METHOD: "merge"
|
||||||
|
|||||||
37
.github/workflows/autosquash.yml
vendored
@@ -1,37 +0,0 @@
|
|||||||
name: autosquash
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- labeled
|
|
||||||
- unlabeled
|
|
||||||
- synchronize
|
|
||||||
- opened
|
|
||||||
- edited
|
|
||||||
- ready_for_review
|
|
||||||
- reopened
|
|
||||||
- unlocked
|
|
||||||
pull_request_review:
|
|
||||||
types:
|
|
||||||
- submitted
|
|
||||||
check_suite:
|
|
||||||
types:
|
|
||||||
- completed
|
|
||||||
status: {}
|
|
||||||
jobs:
|
|
||||||
automerge:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'autosquash')
|
|
||||||
steps:
|
|
||||||
- name: autosquash
|
|
||||||
uses: "pascalgn/automerge-action@135f0bdb927d9807b5446f7ca9ecc2c51de03c4a"
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: "${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}"
|
|
||||||
MERGE_LABELS: "autosquash"
|
|
||||||
MERGE_REMOVE_LABELS: ""
|
|
||||||
MERGE_COMMIT_MESSAGE: "pull-request-title"
|
|
||||||
MERGE_METHOD: "squash"
|
|
||||||
MERGE_FORKS: "true"
|
|
||||||
MERGE_RETRIES: "50"
|
|
||||||
MERGE_RETRY_SLEEP: "10000"
|
|
||||||
UPDATE_LABELS: "automerge"
|
|
||||||
UPDATE_METHOD: "merge"
|
|
||||||
8
.github/workflows/merged-notification.yml
vendored
@@ -13,11 +13,7 @@ jobs:
|
|||||||
github.issues.createComment({
|
github.issues.createComment({
|
||||||
...context.repo,
|
...context.repo,
|
||||||
issue_number: context.payload.pull_request.number,
|
issue_number: context.payload.pull_request.number,
|
||||||
body: `Thanks very much for contributing! Your pull request has been merged 🎉 You should see your changes appear on the site in approximately 24 hours. To add your ✨ contribution to the README.md, create a new comment in this PR with:
|
body: `Thanks very much for contributing! Your pull request has been merged 🎉 You should see your changes appear on the site in approximately 24 hours.
|
||||||
|
|
||||||
\`\`\`
|
If you haven't already, you can add yourself to [the list of contributors](https://github.com/github/docs#contributors-) by creating a new comment in this PR using [these instructions](https://allcontributors.org/docs/en/bot/usage#commands). Thanks again! :sparkles:`
|
||||||
@all-contributors please add @${context.payload.pull_request.user.login} for docs
|
|
||||||
\`\`\`
|
|
||||||
|
|
||||||
If you want to, you can use the [emoji key](https://allcontributors.org/docs/en/emoji-key) to replace docs with a different contribution type.`
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage:
|
triage:
|
||||||
if: github.repository == 'github/docs-internal'
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
@@ -15,6 +14,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name:
|
- name:
|
||||||
uses: actions/github-script@v2
|
uses: actions/github-script@v2
|
||||||
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||||
script: |
|
script: |
|
||||||
|
|||||||
3
.github/workflows/test-windows.yml
vendored
@@ -3,6 +3,7 @@
|
|||||||
name: Node.js Tests - Windows
|
name: Node.js Tests - Windows
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "50 19 * * *" # once a day at 19:50 UTC / 11:50 PST
|
- cron: "50 19 * * *" # once a day at 19:50 UTC / 11:50 PST
|
||||||
|
|
||||||
@@ -11,7 +12,6 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
if: github.repository == 'github/docs-internal'
|
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repo
|
- name: Check out repo
|
||||||
@@ -45,7 +45,6 @@ jobs:
|
|||||||
run: npm run check-deps
|
run: npm run check-deps
|
||||||
|
|
||||||
test:
|
test:
|
||||||
if: github.repository == 'github/docs-internal'
|
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ Fork using the command line:
|
|||||||
### Make your update:
|
### Make your update:
|
||||||
Make your changes to the file(s) you'd like to update. Here are some tips and tricks for [using the docs codebase](#working-in-the-githubdocs-repository).
|
Make your changes to the file(s) you'd like to update. Here are some tips and tricks for [using the docs codebase](#working-in-the-githubdocs-repository).
|
||||||
- Are you making changes to the application code? You'll need **Node.js v14** to run the site locally. See [contributing/development.md](contributing/development.md).
|
- Are you making changes to the application code? You'll need **Node.js v14** to run the site locally. See [contributing/development.md](contributing/development.md).
|
||||||
- Are you contributing to markdown? We use [GitHub Markdown](contributing/content-markup-reference).
|
- Are you contributing to markdown? We use [GitHub Markdown](contributing/content-markup-reference.md).
|
||||||
|
|
||||||
### Open a pull request
|
### Open a pull request
|
||||||
When you're done making changes and you'd like to propose them for review, use the [pull request template](#pull-request-template) to open your PR (pull request).
|
When you're done making changes and you'd like to propose them for review, use the [pull request template](#pull-request-template) to open your PR (pull request).
|
||||||
@@ -63,8 +63,6 @@ Now that you're a part of the GitHub Docs community, you can keep participating
|
|||||||
- [Starting with an issue](#starting-with-an-issue)
|
- [Starting with an issue](#starting-with-an-issue)
|
||||||
- [Labels](#labels)
|
- [Labels](#labels)
|
||||||
- [Opening a pull request](#opening-a-pull-request)
|
- [Opening a pull request](#opening-a-pull-request)
|
||||||
- [Fork using GitHub Desktop](#fork-using-github-desktop)
|
|
||||||
- [Fork using the command line](#fork-using-the-command-line)
|
|
||||||
- [Working in the github/docs repository](#working-in-the-githubdocs-repository)
|
- [Working in the github/docs repository](#working-in-the-githubdocs-repository)
|
||||||
- [Resolving merge conflicts](#resolving-merge-conflicts)
|
- [Resolving merge conflicts](#resolving-merge-conflicts)
|
||||||
- [In the GitHub user interface](#in-the-github-user-interface)
|
- [In the GitHub user interface](#in-the-github-user-interface)
|
||||||
@@ -156,7 +154,7 @@ You should always review your own PR first.
|
|||||||
For content changes, make sure that you:
|
For content changes, make sure that you:
|
||||||
- [ ] Confirm that the changes address every part of the content strategy plan from your issue (if there are differences, explain them).
|
- [ ] Confirm that the changes address every part of the content strategy plan from your issue (if there are differences, explain them).
|
||||||
- [ ] Review the content for technical accuracy.
|
- [ ] Review the content for technical accuracy.
|
||||||
- [ ] Review the entire pull request using the [localization checklist](contribution/localization-checklist.md).
|
- [ ] Review the entire pull request using the [localization checklist](contributing/localization-checklist.md).
|
||||||
- [ ] Copy-edit the changes for grammar, spelling, and adherence to the style guide.
|
- [ ] Copy-edit the changes for grammar, spelling, and adherence to the style guide.
|
||||||
- [ ] Check new or updated Liquid statements to confirm that versioning is correct.
|
- [ ] Check new or updated Liquid statements to confirm that versioning is correct.
|
||||||
- [ ] Check that all of your changes render correctly in staging. Remember, that lists and tables can be tricky.
|
- [ ] Check that all of your changes render correctly in staging. Remember, that lists and tables can be tricky.
|
||||||
|
|||||||
399
LICENSE
@@ -1,21 +1,386 @@
|
|||||||
MIT License
|
Attribution 4.0 International
|
||||||
|
|
||||||
Copyright (c) 2020 GitHub
|
=======================================================================
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
does not provide legal services or legal advice. Distribution of
|
||||||
in the Software without restriction, including without limitation the rights
|
Creative Commons public licenses does not create a lawyer-client or
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
other relationship. Creative Commons makes its licenses and related
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
information available on an "as-is" basis. Creative Commons gives no
|
||||||
furnished to do so, subject to the following conditions:
|
warranties regarding its licenses, any material licensed under their
|
||||||
|
terms and conditions, or any related information. Creative Commons
|
||||||
|
disclaims all liability for damages resulting from their use to the
|
||||||
|
fullest extent possible.
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
Using Creative Commons Public Licenses
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
Creative Commons public licenses provide a standard set of terms and
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
conditions that creators and other rights holders may use to share
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
original works of authorship and other material subject to copyright
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
and certain other rights specified in the public license below. The
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
following considerations are for informational purposes only, are not
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
exhaustive, and do not form part of our licenses.
|
||||||
SOFTWARE.
|
|
||||||
|
Considerations for licensors: Our public licenses are
|
||||||
|
intended for use by those authorized to give the public
|
||||||
|
permission to use material in ways otherwise restricted by
|
||||||
|
copyright and certain other rights. Our licenses are
|
||||||
|
irrevocable. Licensors should read and understand the terms
|
||||||
|
and conditions of the license they choose before applying it.
|
||||||
|
Licensors should also secure all rights necessary before
|
||||||
|
applying our licenses so that the public can reuse the
|
||||||
|
material as expected. Licensors should clearly mark any
|
||||||
|
material not subject to the license. This includes other CC-
|
||||||
|
licensed material, or material used under an exception or
|
||||||
|
limitation to copyright. More considerations for licensors:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensors
|
||||||
|
|
||||||
|
Considerations for the public: By using one of our public
|
||||||
|
licenses, a licensor grants the public permission to use the
|
||||||
|
licensed material under specified terms and conditions. If
|
||||||
|
the licensor's permission is not necessary for any reason--for
|
||||||
|
example, because of any applicable exception or limitation to
|
||||||
|
copyright--then that use is not regulated by the license. Our
|
||||||
|
licenses grant only permissions under copyright and certain
|
||||||
|
other rights that a licensor has authority to grant. Use of
|
||||||
|
the licensed material may still be restricted for other
|
||||||
|
reasons, including because others have copyright or other
|
||||||
|
rights in the material. A licensor may make special requests,
|
||||||
|
such as asking that all changes be marked or described.
|
||||||
|
Although not required by our licenses, you are encouraged to
|
||||||
|
respect those requests where reasonable. More considerations
|
||||||
|
for the public:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensees
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons Attribution 4.0 International Public License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree
|
||||||
|
to be bound by the terms and conditions of this Creative Commons
|
||||||
|
Attribution 4.0 International Public License ("Public License"). To the
|
||||||
|
extent this Public License may be interpreted as a contract, You are
|
||||||
|
granted the Licensed Rights in consideration of Your acceptance of
|
||||||
|
these terms and conditions, and the Licensor grants You such rights in
|
||||||
|
consideration of benefits the Licensor receives from making the
|
||||||
|
Licensed Material available under these terms and conditions.
|
||||||
|
|
||||||
|
Section 1 -- Definitions.
|
||||||
|
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar
|
||||||
|
Rights that is derived from or based upon the Licensed Material
|
||||||
|
and in which the Licensed Material is translated, altered,
|
||||||
|
arranged, transformed, or otherwise modified in a manner requiring
|
||||||
|
permission under the Copyright and Similar Rights held by the
|
||||||
|
Licensor. For purposes of this Public License, where the Licensed
|
||||||
|
Material is a musical work, performance, or sound recording,
|
||||||
|
Adapted Material is always produced where the Licensed Material is
|
||||||
|
synched in timed relation with a moving image.
|
||||||
|
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright
|
||||||
|
and Similar Rights in Your contributions to Adapted Material in
|
||||||
|
accordance with the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||||
|
closely related to copyright including, without limitation,
|
||||||
|
performance, broadcast, sound recording, and Sui Generis Database
|
||||||
|
Rights, without regard to how the rights are labeled or
|
||||||
|
categorized. For purposes of this Public License, the rights
|
||||||
|
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||||
|
Rights.
|
||||||
|
|
||||||
|
d. Effective Technological Measures means those measures that, in the
|
||||||
|
absence of proper authority, may not be circumvented under laws
|
||||||
|
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||||
|
Treaty adopted on December 20, 1996, and/or similar international
|
||||||
|
agreements.
|
||||||
|
|
||||||
|
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||||
|
any other exception or limitation to Copyright and Similar Rights
|
||||||
|
that applies to Your use of the Licensed Material.
|
||||||
|
|
||||||
|
f. Licensed Material means the artistic or literary work, database,
|
||||||
|
or other material to which the Licensor applied this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
g. Licensed Rights means the rights granted to You subject to the
|
||||||
|
terms and conditions of this Public License, which are limited to
|
||||||
|
all Copyright and Similar Rights that apply to Your use of the
|
||||||
|
Licensed Material and that the Licensor has authority to license.
|
||||||
|
|
||||||
|
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||||
|
under this Public License.
|
||||||
|
|
||||||
|
i. Share means to provide material to the public by any means or
|
||||||
|
process that requires permission under the Licensed Rights, such
|
||||||
|
as reproduction, public display, public performance, distribution,
|
||||||
|
dissemination, communication, or importation, and to make material
|
||||||
|
available to the public including in ways that members of the
|
||||||
|
public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
|
||||||
|
j. Sui Generis Database Rights means rights other than copyright
|
||||||
|
resulting from Directive 96/9/EC of the European Parliament and of
|
||||||
|
the Council of 11 March 1996 on the legal protection of databases,
|
||||||
|
as amended and/or succeeded, as well as other essentially
|
||||||
|
equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
k. You means the individual or entity exercising the Licensed Rights
|
||||||
|
under this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
Section 2 -- Scope.
|
||||||
|
|
||||||
|
a. License grant.
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License,
|
||||||
|
the Licensor hereby grants You a worldwide, royalty-free,
|
||||||
|
non-sublicensable, non-exclusive, irrevocable license to
|
||||||
|
exercise the Licensed Rights in the Licensed Material to:
|
||||||
|
|
||||||
|
a. reproduce and Share the Licensed Material, in whole or
|
||||||
|
in part; and
|
||||||
|
|
||||||
|
b. produce, reproduce, and Share Adapted Material.
|
||||||
|
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||||
|
Exceptions and Limitations apply to Your use, this Public
|
||||||
|
License does not apply, and You do not need to comply with
|
||||||
|
its terms and conditions.
|
||||||
|
|
||||||
|
3. Term. The term of this Public License is specified in Section
|
||||||
|
6(a).
|
||||||
|
|
||||||
|
4. Media and formats; technical modifications allowed. The
|
||||||
|
Licensor authorizes You to exercise the Licensed Rights in
|
||||||
|
all media and formats whether now known or hereafter created,
|
||||||
|
and to make technical modifications necessary to do so. The
|
||||||
|
Licensor waives and/or agrees not to assert any right or
|
||||||
|
authority to forbid You from making technical modifications
|
||||||
|
necessary to exercise the Licensed Rights, including
|
||||||
|
technical modifications necessary to circumvent Effective
|
||||||
|
Technological Measures. For purposes of this Public License,
|
||||||
|
simply making modifications authorized by this Section 2(a)
|
||||||
|
(4) never produces Adapted Material.
|
||||||
|
|
||||||
|
5. Downstream recipients.
|
||||||
|
|
||||||
|
a. Offer from the Licensor -- Licensed Material. Every
|
||||||
|
recipient of the Licensed Material automatically
|
||||||
|
receives an offer from the Licensor to exercise the
|
||||||
|
Licensed Rights under the terms and conditions of this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
b. No downstream restrictions. You may not offer or impose
|
||||||
|
any additional or different terms or conditions on, or
|
||||||
|
apply any Effective Technological Measures to, the
|
||||||
|
Licensed Material if doing so restricts exercise of the
|
||||||
|
Licensed Rights by any recipient of the Licensed
|
||||||
|
Material.
|
||||||
|
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or
|
||||||
|
may be construed as permission to assert or imply that You
|
||||||
|
are, or that Your use of the Licensed Material is, connected
|
||||||
|
with, or sponsored, endorsed, or granted official status by,
|
||||||
|
the Licensor or others designated to receive attribution as
|
||||||
|
provided in Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. Other rights.
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not
|
||||||
|
licensed under this Public License, nor are publicity,
|
||||||
|
privacy, and/or other similar personality rights; however, to
|
||||||
|
the extent possible, the Licensor waives and/or agrees not to
|
||||||
|
assert any such rights held by the Licensor to the limited
|
||||||
|
extent necessary to allow You to exercise the Licensed
|
||||||
|
Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to
|
||||||
|
collect royalties from You for the exercise of the Licensed
|
||||||
|
Rights, whether directly or through a collecting society
|
||||||
|
under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly
|
||||||
|
reserves any right to collect such royalties.
|
||||||
|
|
||||||
|
Section 3 -- License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the
|
||||||
|
following conditions.
|
||||||
|
|
||||||
|
a. Attribution.
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified
|
||||||
|
form), You must:
|
||||||
|
|
||||||
|
a. retain the following if it is supplied by the Licensor
|
||||||
|
with the Licensed Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed
|
||||||
|
Material and any others designated to receive
|
||||||
|
attribution, in any reasonable manner requested by
|
||||||
|
the Licensor (including by pseudonym if
|
||||||
|
designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of
|
||||||
|
warranties;
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the
|
||||||
|
extent reasonably practicable;
|
||||||
|
|
||||||
|
b. indicate if You modified the Licensed Material and
|
||||||
|
retain an indication of any previous modifications; and
|
||||||
|
|
||||||
|
c. indicate the Licensed Material is licensed under this
|
||||||
|
Public License, and include the text of, or the URI or
|
||||||
|
hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||||
|
reasonable manner based on the medium, means, and context in
|
||||||
|
which You Share the Licensed Material. For example, it may be
|
||||||
|
reasonable to satisfy the conditions by providing a URI or
|
||||||
|
hyperlink to a resource that includes the required
|
||||||
|
information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the
|
||||||
|
information required by Section 3(a)(1)(A) to the extent
|
||||||
|
reasonably practicable.
|
||||||
|
|
||||||
|
4. If You Share Adapted Material You produce, the Adapter's
|
||||||
|
License You apply must not prevent recipients of the Adapted
|
||||||
|
Material from complying with this Public License.
|
||||||
|
|
||||||
|
Section 4 -- Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that
|
||||||
|
apply to Your use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||||
|
to extract, reuse, reproduce, and Share all or a substantial
|
||||||
|
portion of the contents of the database;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database
|
||||||
|
contents in a database in which You have Sui Generis Database
|
||||||
|
Rights, then the database in which You have Sui Generis Database
|
||||||
|
Rights (but not its individual contents) is Adapted Material; and
|
||||||
|
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share
|
||||||
|
all or a substantial portion of the contents of the database.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not
|
||||||
|
replace Your obligations under this Public License where the Licensed
|
||||||
|
Rights include other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||||
|
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||||
|
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||||
|
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||||
|
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||||
|
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||||
|
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||||
|
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||||
|
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||||
|
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||||
|
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||||
|
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||||
|
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||||
|
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||||
|
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||||
|
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided
|
||||||
|
above shall be interpreted in a manner that, to the extent
|
||||||
|
possible, most closely approximates an absolute disclaimer and
|
||||||
|
waiver of all liability.
|
||||||
|
|
||||||
|
Section 6 -- Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and
|
||||||
|
Similar Rights licensed here. However, if You fail to comply with
|
||||||
|
this Public License, then Your rights under this Public License
|
||||||
|
terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under
|
||||||
|
Section 6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided
|
||||||
|
it is cured within 30 days of Your discovery of the
|
||||||
|
violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||||
|
right the Licensor may have to seek remedies for Your violations
|
||||||
|
of this Public License.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, the Licensor may also offer the
|
||||||
|
Licensed Material under separate terms or conditions or stop
|
||||||
|
distributing the Licensed Material at any time; however, doing so
|
||||||
|
will not terminate this Public License.
|
||||||
|
|
||||||
|
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
Section 7 -- Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different
|
||||||
|
terms or conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the
|
||||||
|
Licensed Material not stated herein are separate from and
|
||||||
|
independent of the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
Section 8 -- Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and
|
||||||
|
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||||
|
conditions on any use of the Licensed Material that could lawfully
|
||||||
|
be made without permission under this Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is
|
||||||
|
deemed unenforceable, it shall be automatically reformed to the
|
||||||
|
minimum extent necessary to make it enforceable. If the provision
|
||||||
|
cannot be reformed, it shall be severed from this Public License
|
||||||
|
without affecting the enforceability of the remaining terms and
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no
|
||||||
|
failure to comply consented to unless expressly agreed to by the
|
||||||
|
Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted
|
||||||
|
as a limitation upon, or waiver of, any privileges and immunities
|
||||||
|
that apply to the Licensor or You, including from the legal
|
||||||
|
processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons is not a party to its public
|
||||||
|
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||||
|
its public licenses to material it publishes and in those instances
|
||||||
|
will be considered the “Licensor.” The text of the Creative Commons
|
||||||
|
public licenses is dedicated to the public domain under the CC0 Public
|
||||||
|
Domain Dedication. Except for the limited purpose of indicating that
|
||||||
|
material is shared under a Creative Commons public license or as
|
||||||
|
otherwise permitted by the Creative Commons policies published at
|
||||||
|
creativecommons.org/policies, Creative Commons does not authorize the
|
||||||
|
use of the trademark "Creative Commons" or any other trademark or logo
|
||||||
|
of Creative Commons without its prior written consent including,
|
||||||
|
without limitation, in connection with any unauthorized modifications
|
||||||
|
to any of its public licenses or any other arrangements,
|
||||||
|
understandings, or agreements concerning use of licensed material. For
|
||||||
|
the avoidance of doubt, this paragraph does not form part of the
|
||||||
|
public licenses.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
||||||
|
|||||||
21
LICENSE-CODE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 GitHub
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
84
README.md
@@ -1,6 +1,6 @@
|
|||||||
## GitHub Docs <!-- omit in toc -->
|
## GitHub Docs <!-- omit in toc -->
|
||||||
|
|
||||||
This repository contains the documentation website code and Markdown source files for docs.github.com.
|
This repository contains the documentation website code and Markdown source files for [docs.github.com](https://docs.github.com).
|
||||||
|
|
||||||
GitHub's Docs team works on pre-production content in a private repo that regularly syncs with this public repo.
|
GitHub's Docs team works on pre-production content in a private repo that regularly syncs with this public repo.
|
||||||
|
|
||||||
@@ -26,6 +26,10 @@ As you're using the GitHub Docs, you may find something in an article that you'd
|
|||||||
|
|
||||||
If you've found a problem, you can open an issue using a [template](https://github.com/github/docs/issues/new/choose).
|
If you've found a problem, you can open an issue using a [template](https://github.com/github/docs/issues/new/choose).
|
||||||
|
|
||||||
|
#### Solve an issue
|
||||||
|
|
||||||
|
If you have a solution to one of the open issues, you will need to fork the repository and submit a PR using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md).
|
||||||
|
|
||||||
#### Join us in discussions
|
#### Join us in discussions
|
||||||
|
|
||||||
We use GitHub Discussions to talk about all sorts of topics related to documentation and this site. For example: if you'd like help troubleshooting a PR, have a great new idea, or want to share something amazing you've learned in our docs, join us in [discussions](https://github.com/github/docs/discussions).
|
We use GitHub Discussions to talk about all sorts of topics related to documentation and this site. For example: if you'd like help troubleshooting a PR, have a great new idea, or want to share something amazing you've learned in our docs, join us in [discussions](https://github.com/github/docs/discussions).
|
||||||
@@ -61,9 +65,9 @@ In addition to the README you're reading right now, this repo includes other REA
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
The GitHub product documentation in the assets, content, and data folders are licensed under a [CC-BY license](content/LICENSE).
|
The GitHub product documentation in the assets, content, and data folders are licensed under a [CC-BY license](LICENSE).
|
||||||
|
|
||||||
All other code in this repository is licensed under a [MIT license](LICENSE).
|
All other code in this repository is licensed under a [MIT license](LICENSE-CODE).
|
||||||
|
|
||||||
When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos).
|
When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos).
|
||||||
|
|
||||||
@@ -76,48 +80,64 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|||||||
<!-- markdownlint-disable -->
|
<!-- markdownlint-disable -->
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><a href="https://github.com/alebourne"><img src="https://avatars1.githubusercontent.com/u/24581915?v=4" width="64px;" alt=""/><br /><sub><b>Alexandra Bourne</b></sub></a><br /><a href="#content-alebourne" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Aalebourne" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/alebourne"><img src="https://avatars1.githubusercontent.com/u/24581915?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Alexandra Bourne</b></sub></a><br /><a href="#content-alebourne" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Aalebourne" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="http://cynthiarich.me/"><img src="https://avatars0.githubusercontent.com/u/9950121?v=4" width="64px;" alt=""/><br /><sub><b>Cynthia Rich</b></sub></a><br /><a href="#content-crichID" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3AcrichID" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="http://cynthiarich.me/"><img src="https://avatars0.githubusercontent.com/u/9950121?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Cynthia Rich</b></sub></a><br /><a href="#content-crichID" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3AcrichID" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/emilyistoofunky"><img src="https://avatars1.githubusercontent.com/u/4822039?v=4" width="64px;" alt=""/><br /><sub><b>Emily Gould</b></sub></a><br /><a href="#content-emilyistoofunky" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Aemilyistoofunky" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/emilyistoofunky"><img src="https://avatars1.githubusercontent.com/u/4822039?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Emily Gould</b></sub></a><br /><a href="#content-emilyistoofunky" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Aemilyistoofunky" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/felicitymay"><img src="https://avatars1.githubusercontent.com/u/1877141?v=4" width="64px;" alt=""/><br /><sub><b>Felicity Chapman</b></sub></a><br /><a href="#content-felicitymay" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Afelicitymay" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/felicitymay"><img src="https://avatars1.githubusercontent.com/u/1877141?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Felicity Chapman</b></sub></a><br /><a href="#content-felicitymay" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Afelicitymay" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://heiskr.com/"><img src="https://avatars2.githubusercontent.com/u/1221423?v=4" width="64px;" alt=""/><br /><sub><b>Kevin Heis</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Aheiskr" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=heiskr" title="Code">💻</a></td>
|
<td align="center"><a href="https://heiskr.com/"><img src="https://avatars2.githubusercontent.com/u/1221423?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Kevin Heis</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Aheiskr" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=heiskr" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="https://github.com/hubwriter"><img src="https://avatars1.githubusercontent.com/u/54933897?v=4" width="64px;" alt=""/><br /><sub><b>Alistair Christie</b></sub></a><br /><a href="#content-hubwriter" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ahubwriter" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/hubwriter"><img src="https://avatars1.githubusercontent.com/u/54933897?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Alistair Christie</b></sub></a><br /><a href="#content-hubwriter" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ahubwriter" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://jamesmgreene.github.io/"><img src="https://avatars2.githubusercontent.com/u/417751?v=4" width="64px;" alt=""/><br /><sub><b>James M. Greene</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3AJamesMGreene" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=JamesMGreene" title="Code">💻</a></td>
|
<td align="center"><a href="https://jamesmgreene.github.io/"><img src="https://avatars2.githubusercontent.com/u/417751?v=4?s=64" width="64px;" alt=""/><br /><sub><b>James M. Greene</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3AJamesMGreene" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=JamesMGreene" title="Code">💻</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><a href="https://github.com/janiceilene"><img src="https://avatars3.githubusercontent.com/u/9817819?v=4" width="64px;" alt=""/><br /><sub><b>Janice</b></sub></a><br /><a href="#content-janiceilene" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajaniceilene" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/janiceilene"><img src="https://avatars3.githubusercontent.com/u/9817819?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Janice</b></sub></a><br /><a href="#content-janiceilene" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajaniceilene" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://jasonet.co"><img src="https://avatars1.githubusercontent.com/u/10660468?v=4" width="64px;" alt=""/><br /><sub><b>Jason Etcovitch</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Ajasonetco" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=jasonetco" title="Code">💻</a></td>
|
<td align="center"><a href="https://jasonet.co"><img src="https://avatars1.githubusercontent.com/u/10660468?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Jason Etcovitch</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Ajasonetco" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=jasonetco" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="https://github.com/jf205"><img src="https://avatars2.githubusercontent.com/u/42464962?v=4" width="64px;" alt=""/><br /><sub><b>James Fletcher</b></sub></a><br /><a href="#content-jf205" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajf205" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/jf205"><img src="https://avatars2.githubusercontent.com/u/42464962?v=4?s=64" width="64px;" alt=""/><br /><sub><b>James Fletcher</b></sub></a><br /><a href="#content-jf205" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajf205" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/jleaver"><img src="https://avatars2.githubusercontent.com/u/4453117?v=4" width="64px;" alt=""/><br /><sub><b>Jenn Leaver</b></sub></a><br /><a href="#content-jleaver" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajleaver" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/jleaver"><img src="https://avatars2.githubusercontent.com/u/4453117?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Jenn Leaver</b></sub></a><br /><a href="#content-jleaver" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajleaver" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/jmarlena"><img src="https://avatars3.githubusercontent.com/u/6732600?v=4" width="64px;" alt=""/><br /><sub><b>jmarlena</b></sub></a><br /><a href="#content-jmarlena" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajmarlena" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/jmarlena"><img src="https://avatars3.githubusercontent.com/u/6732600?v=4?s=64" width="64px;" alt=""/><br /><sub><b>jmarlena</b></sub></a><br /><a href="#content-jmarlena" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajmarlena" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://johnwargo.com/"><img src="https://avatars0.githubusercontent.com/u/30843404?v=4" width="64px;" alt=""/><br /><sub><b>John M. Wargo</b></sub></a><br /><a href="#content-jwargo" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajwargo" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://johnwargo.com/"><img src="https://avatars0.githubusercontent.com/u/30843404?v=4?s=64" width="64px;" alt=""/><br /><sub><b>John M. Wargo</b></sub></a><br /><a href="#content-jwargo" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajwargo" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/lecoursen"><img src="https://avatars3.githubusercontent.com/u/14935376?v=4" width="64px;" alt=""/><br /><sub><b>Laura Coursen</b></sub></a><br /><a href="#content-lecoursen" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Alecoursen" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/lecoursen"><img src="https://avatars3.githubusercontent.com/u/14935376?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Laura Coursen</b></sub></a><br /><a href="#content-lecoursen" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Alecoursen" title="Bug reports">🐛</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><a href="https://lucascosti.com/"><img src="https://avatars3.githubusercontent.com/u/4434330?v=4" width="64px;" alt=""/><br /><sub><b>Lucas Costi</b></sub></a><br /><a href="#content-lucascosti" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Alucascosti" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://lucascosti.com/"><img src="https://avatars3.githubusercontent.com/u/4434330?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Lucas Costi</b></sub></a><br /><a href="#content-lucascosti" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Alucascosti" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/martin389"><img src="https://avatars3.githubusercontent.com/u/54248166?v=4" width="64px;" alt=""/><br /><sub><b>Martin Lopes</b></sub></a><br /><a href="#content-martin389" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amartin389" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/martin389"><img src="https://avatars3.githubusercontent.com/u/54248166?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Martin Lopes</b></sub></a><br /><a href="#content-martin389" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amartin389" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/mattpollard"><img src="https://avatars0.githubusercontent.com/u/1894408?v=4" width="64px;" alt=""/><br /><sub><b>Matt Pollard</b></sub></a><br /><a href="#content-mattpollard" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amattpollard" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/mattpollard"><img src="https://avatars0.githubusercontent.com/u/1894408?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Matt Pollard</b></sub></a><br /><a href="#content-mattpollard" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amattpollard" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/mchammer01"><img src="https://avatars3.githubusercontent.com/u/42146119?v=4" width="64px;" alt=""/><br /><sub><b>mc</b></sub></a><br /><a href="#content-mchammer01" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amchammer01" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/mchammer01"><img src="https://avatars3.githubusercontent.com/u/42146119?v=4?s=64" width="64px;" alt=""/><br /><sub><b>mc</b></sub></a><br /><a href="#content-mchammer01" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amchammer01" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="http://meaganbird.com/"><img src="https://avatars2.githubusercontent.com/u/5658046?v=4" width="64px;" alt=""/><br /><sub><b>Meg Bird</b></sub></a><br /><a href="#content-megbird" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amegbird" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="http://meaganbird.com/"><img src="https://avatars2.githubusercontent.com/u/5658046?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Meg Bird</b></sub></a><br /><a href="#content-megbird" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amegbird" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/myarb"><img src="https://avatars2.githubusercontent.com/u/11952755?v=4" width="64px;" alt=""/><br /><sub><b>Melanie Yarbrough</b></sub></a><br /><a href="#content-myarb" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amyarb" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/myarb"><img src="https://avatars2.githubusercontent.com/u/11952755?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Melanie Yarbrough</b></sub></a><br /><a href="#content-myarb" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amyarb" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/rachmari"><img src="https://avatars2.githubusercontent.com/u/9831992?v=4" width="64px;" alt=""/><br /><sub><b>Rachael Sewell</b></sub></a><br /><a href="#content-rachmari" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Arachmari" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/rachmari"><img src="https://avatars2.githubusercontent.com/u/9831992?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Rachael Sewell</b></sub></a><br /><a href="#content-rachmari" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Arachmari" title="Bug reports">🐛</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><a href="https://github.com/runleonarun"><img src="https://avatars1.githubusercontent.com/u/3880403?v=4" width="64px;" alt=""/><br /><sub><b>Leona B. Campbell</b></sub></a><br /><a href="#content-runleonarun" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Arunleonarun" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/runleonarun"><img src="https://avatars1.githubusercontent.com/u/3880403?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Leona B. Campbell</b></sub></a><br /><a href="#content-runleonarun" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Arunleonarun" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/sarahs"><img src="https://avatars3.githubusercontent.com/u/821071?v=4" width="64px;" alt=""/><br /><sub><b>Sarah Schneider</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Asarahs" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=sarahs" title="Code">💻</a></td>
|
<td align="center"><a href="https://github.com/sarahs"><img src="https://avatars3.githubusercontent.com/u/821071?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Sarah Schneider</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Asarahs" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=sarahs" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="https://github.com/shati-patel"><img src="https://avatars3.githubusercontent.com/u/42641846?v=4" width="64px;" alt=""/><br /><sub><b>Shati Patel</b></sub></a><br /><a href="#content-shati-patel" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ashati-patel" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/shati-patel"><img src="https://avatars3.githubusercontent.com/u/42641846?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Shati Patel</b></sub></a><br /><a href="#content-shati-patel" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ashati-patel" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="http://kathy.pm/"><img src="https://avatars3.githubusercontent.com/u/704152?v=4" width="64px;" alt=""/><br /><sub><b>Kathy Korevec</b></sub></a><br /><a href="#content-simpsoka" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Asimpsoka" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="http://kathy.pm/"><img src="https://avatars3.githubusercontent.com/u/704152?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Kathy Korevec</b></sub></a><br /><a href="#content-simpsoka" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Asimpsoka" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/timeyoutakeit"><img src="https://avatars3.githubusercontent.com/u/5012825?v=4" width="64px;" alt=""/><br /><sub><b>Amy Burns</b></sub></a><br /><a href="#content-timeyoutakeit" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Atimeyoutakeit" title="Bug reports">🐛</a></td>
|
<td align="center"><a href="https://github.com/timeyoutakeit"><img src="https://avatars3.githubusercontent.com/u/5012825?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Amy Burns</b></sub></a><br /><a href="#content-timeyoutakeit" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Atimeyoutakeit" title="Bug reports">🐛</a></td>
|
||||||
<td align="center"><a href="https://github.com/vanessayuenn"><img src="https://avatars3.githubusercontent.com/u/6842965?v=4" width="64px;" alt=""/><br /><sub><b>Vanessa Yuen</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Avanessayuenn" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=vanessayuenn" title="Code">💻</a></td>
|
<td align="center"><a href="https://github.com/vanessayuenn"><img src="https://avatars3.githubusercontent.com/u/6842965?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Vanessa Yuen</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Avanessayuenn" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=vanessayuenn" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="http://zeke.sikelianos.com/"><img src="https://avatars1.githubusercontent.com/u/2289?v=4" width="64px;" alt=""/><br /><sub><b>Zeke Sikelianos</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Azeke" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=zeke" title="Code">💻</a></td>
|
<td align="center"><a href="http://zeke.sikelianos.com/"><img src="https://avatars1.githubusercontent.com/u/2289?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Zeke Sikelianos</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Azeke" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=zeke" title="Code">💻</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><a href="https://github.com/BenJam"><img src="https://avatars2.githubusercontent.com/u/158833?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Benjamin Nickolls</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=BenJam" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://mcaffer.com"><img src="https://avatars2.githubusercontent.com/u/10070956?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Jeff McAffer</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=jeffmcaffer" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://tjenkinson.me"><img src="https://avatars0.githubusercontent.com/u/3259993?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Tom Jenkinson</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=tjenkinson" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/casals"><img src="https://avatars0.githubusercontent.com/u/785860?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Arthur Casals</b></sub></a><br /><a href="#content-casals" title="Content">🖋</a> <a href="https://github.com/github/docs/commits?author=casals" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/ruth"><img src="https://avatars0.githubusercontent.com/u/85029?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Ruth</b></sub></a><br /><a href="#content-Ruth" title="Content">🖋</a></td>
|
||||||
|
<td align="center"><a href="http://tomaszwisniewski.com"><img src="https://avatars2.githubusercontent.com/u/12593852?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Tomasz Wisniewski</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=wi5nia" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://chiedojohn.com/"><img src="https://avatars2.githubusercontent.com/u/2156688?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Chiedo John</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=chiedo" title="Code">💻</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><a href="https://github.com/BenJam"><img src="https://avatars2.githubusercontent.com/u/158833?v=4" width="64px;" alt=""/><br /><sub><b>Benjamin Nickolls</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=BenJam" title="Documentation">📖</a></td>
|
<td align="center"><a href="https://github.com/BenJam"><img src="https://avatars2.githubusercontent.com/u/158833?v=4" width="64px;" alt=""/><br /><sub><b>Benjamin Nickolls</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=BenJam" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://mcaffer.com"><img src="https://avatars2.githubusercontent.com/u/10070956?v=4" width="64px;" alt=""/><br /><sub><b>Jeff McAffer</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=jeffmcaffer" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://tjenkinson.me"><img src="https://avatars0.githubusercontent.com/u/3259993?v=4" width="64px;" alt=""/><br /><sub><b>Tom Jenkinson</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=tjenkinson" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/casals"><img src="https://avatars0.githubusercontent.com/u/785860?v=4" width="64px;" alt=""/><br /><sub><b>Arthur Casals</b></sub></a><br /><a href="#content-casals" title="Content">🖋</a> <a href="https://github.com/github/docs/commits?author=casals" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://www.arangodb.com/"><img src="https://avatars3.githubusercontent.com/u/7819991?v=4" width="64px;" alt=""/><br /><sub><b>Simran</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=Simran-B" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/ruth"><img src="https://avatars0.githubusercontent.com/u/85029?v=4" width="64px;" alt=""/><br /><sub><b>Ruth</b></sub></a><br /><a href="#content-Ruth" title="Content">🖋</a></td>
|
||||||
|
<td align="center"><a href="http://tomaszwisniewski.com"><img src="https://avatars2.githubusercontent.com/u/12593852?v=4" width="64px;" alt=""/><br /><sub><b>Tomasz Wisniewski</b></sub></a><br /><a href="https://github.com/github/docs/commits?author=wi5nia" title="Documentation">📖</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- markdownlint-enable -->
|
<!-- markdownlint-restore -->
|
||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||||
|
|
||||||
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 235 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 489 KiB After Width: | Height: | Size: 337 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 313 KiB After Width: | Height: | Size: 171 KiB |
386
content/LICENSE
@@ -1,386 +0,0 @@
|
|||||||
Attribution 4.0 International
|
|
||||||
|
|
||||||
=======================================================================
|
|
||||||
|
|
||||||
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
|
||||||
does not provide legal services or legal advice. Distribution of
|
|
||||||
Creative Commons public licenses does not create a lawyer-client or
|
|
||||||
other relationship. Creative Commons makes its licenses and related
|
|
||||||
information available on an "as-is" basis. Creative Commons gives no
|
|
||||||
warranties regarding its licenses, any material licensed under their
|
|
||||||
terms and conditions, or any related information. Creative Commons
|
|
||||||
disclaims all liability for damages resulting from their use to the
|
|
||||||
fullest extent possible.
|
|
||||||
|
|
||||||
Using Creative Commons Public Licenses
|
|
||||||
|
|
||||||
Creative Commons public licenses provide a standard set of terms and
|
|
||||||
conditions that creators and other rights holders may use to share
|
|
||||||
original works of authorship and other material subject to copyright
|
|
||||||
and certain other rights specified in the public license below. The
|
|
||||||
following considerations are for informational purposes only, are not
|
|
||||||
exhaustive, and do not form part of our licenses.
|
|
||||||
|
|
||||||
Considerations for licensors: Our public licenses are
|
|
||||||
intended for use by those authorized to give the public
|
|
||||||
permission to use material in ways otherwise restricted by
|
|
||||||
copyright and certain other rights. Our licenses are
|
|
||||||
irrevocable. Licensors should read and understand the terms
|
|
||||||
and conditions of the license they choose before applying it.
|
|
||||||
Licensors should also secure all rights necessary before
|
|
||||||
applying our licenses so that the public can reuse the
|
|
||||||
material as expected. Licensors should clearly mark any
|
|
||||||
material not subject to the license. This includes other CC-
|
|
||||||
licensed material, or material used under an exception or
|
|
||||||
limitation to copyright. More considerations for licensors:
|
|
||||||
wiki.creativecommons.org/Considerations_for_licensors
|
|
||||||
|
|
||||||
Considerations for the public: By using one of our public
|
|
||||||
licenses, a licensor grants the public permission to use the
|
|
||||||
licensed material under specified terms and conditions. If
|
|
||||||
the licensor's permission is not necessary for any reason--for
|
|
||||||
example, because of any applicable exception or limitation to
|
|
||||||
copyright--then that use is not regulated by the license. Our
|
|
||||||
licenses grant only permissions under copyright and certain
|
|
||||||
other rights that a licensor has authority to grant. Use of
|
|
||||||
the licensed material may still be restricted for other
|
|
||||||
reasons, including because others have copyright or other
|
|
||||||
rights in the material. A licensor may make special requests,
|
|
||||||
such as asking that all changes be marked or described.
|
|
||||||
Although not required by our licenses, you are encouraged to
|
|
||||||
respect those requests where reasonable. More considerations
|
|
||||||
for the public:
|
|
||||||
wiki.creativecommons.org/Considerations_for_licensees
|
|
||||||
|
|
||||||
=======================================================================
|
|
||||||
|
|
||||||
Creative Commons Attribution 4.0 International Public License
|
|
||||||
|
|
||||||
By exercising the Licensed Rights (defined below), You accept and agree
|
|
||||||
to be bound by the terms and conditions of this Creative Commons
|
|
||||||
Attribution 4.0 International Public License ("Public License"). To the
|
|
||||||
extent this Public License may be interpreted as a contract, You are
|
|
||||||
granted the Licensed Rights in consideration of Your acceptance of
|
|
||||||
these terms and conditions, and the Licensor grants You such rights in
|
|
||||||
consideration of benefits the Licensor receives from making the
|
|
||||||
Licensed Material available under these terms and conditions.
|
|
||||||
|
|
||||||
Section 1 -- Definitions.
|
|
||||||
|
|
||||||
a. Adapted Material means material subject to Copyright and Similar
|
|
||||||
Rights that is derived from or based upon the Licensed Material
|
|
||||||
and in which the Licensed Material is translated, altered,
|
|
||||||
arranged, transformed, or otherwise modified in a manner requiring
|
|
||||||
permission under the Copyright and Similar Rights held by the
|
|
||||||
Licensor. For purposes of this Public License, where the Licensed
|
|
||||||
Material is a musical work, performance, or sound recording,
|
|
||||||
Adapted Material is always produced where the Licensed Material is
|
|
||||||
synched in timed relation with a moving image.
|
|
||||||
|
|
||||||
b. Adapter's License means the license You apply to Your Copyright
|
|
||||||
and Similar Rights in Your contributions to Adapted Material in
|
|
||||||
accordance with the terms and conditions of this Public License.
|
|
||||||
|
|
||||||
c. Copyright and Similar Rights means copyright and/or similar rights
|
|
||||||
closely related to copyright including, without limitation,
|
|
||||||
performance, broadcast, sound recording, and Sui Generis Database
|
|
||||||
Rights, without regard to how the rights are labeled or
|
|
||||||
categorized. For purposes of this Public License, the rights
|
|
||||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
|
||||||
Rights.
|
|
||||||
|
|
||||||
d. Effective Technological Measures means those measures that, in the
|
|
||||||
absence of proper authority, may not be circumvented under laws
|
|
||||||
fulfilling obligations under Article 11 of the WIPO Copyright
|
|
||||||
Treaty adopted on December 20, 1996, and/or similar international
|
|
||||||
agreements.
|
|
||||||
|
|
||||||
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
|
||||||
any other exception or limitation to Copyright and Similar Rights
|
|
||||||
that applies to Your use of the Licensed Material.
|
|
||||||
|
|
||||||
f. Licensed Material means the artistic or literary work, database,
|
|
||||||
or other material to which the Licensor applied this Public
|
|
||||||
License.
|
|
||||||
|
|
||||||
g. Licensed Rights means the rights granted to You subject to the
|
|
||||||
terms and conditions of this Public License, which are limited to
|
|
||||||
all Copyright and Similar Rights that apply to Your use of the
|
|
||||||
Licensed Material and that the Licensor has authority to license.
|
|
||||||
|
|
||||||
h. Licensor means the individual(s) or entity(ies) granting rights
|
|
||||||
under this Public License.
|
|
||||||
|
|
||||||
i. Share means to provide material to the public by any means or
|
|
||||||
process that requires permission under the Licensed Rights, such
|
|
||||||
as reproduction, public display, public performance, distribution,
|
|
||||||
dissemination, communication, or importation, and to make material
|
|
||||||
available to the public including in ways that members of the
|
|
||||||
public may access the material from a place and at a time
|
|
||||||
individually chosen by them.
|
|
||||||
|
|
||||||
j. Sui Generis Database Rights means rights other than copyright
|
|
||||||
resulting from Directive 96/9/EC of the European Parliament and of
|
|
||||||
the Council of 11 March 1996 on the legal protection of databases,
|
|
||||||
as amended and/or succeeded, as well as other essentially
|
|
||||||
equivalent rights anywhere in the world.
|
|
||||||
|
|
||||||
k. You means the individual or entity exercising the Licensed Rights
|
|
||||||
under this Public License. Your has a corresponding meaning.
|
|
||||||
|
|
||||||
Section 2 -- Scope.
|
|
||||||
|
|
||||||
a. License grant.
|
|
||||||
|
|
||||||
1. Subject to the terms and conditions of this Public License,
|
|
||||||
the Licensor hereby grants You a worldwide, royalty-free,
|
|
||||||
non-sublicensable, non-exclusive, irrevocable license to
|
|
||||||
exercise the Licensed Rights in the Licensed Material to:
|
|
||||||
|
|
||||||
a. reproduce and Share the Licensed Material, in whole or
|
|
||||||
in part; and
|
|
||||||
|
|
||||||
b. produce, reproduce, and Share Adapted Material.
|
|
||||||
|
|
||||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
|
||||||
Exceptions and Limitations apply to Your use, this Public
|
|
||||||
License does not apply, and You do not need to comply with
|
|
||||||
its terms and conditions.
|
|
||||||
|
|
||||||
3. Term. The term of this Public License is specified in Section
|
|
||||||
6(a).
|
|
||||||
|
|
||||||
4. Media and formats; technical modifications allowed. The
|
|
||||||
Licensor authorizes You to exercise the Licensed Rights in
|
|
||||||
all media and formats whether now known or hereafter created,
|
|
||||||
and to make technical modifications necessary to do so. The
|
|
||||||
Licensor waives and/or agrees not to assert any right or
|
|
||||||
authority to forbid You from making technical modifications
|
|
||||||
necessary to exercise the Licensed Rights, including
|
|
||||||
technical modifications necessary to circumvent Effective
|
|
||||||
Technological Measures. For purposes of this Public License,
|
|
||||||
simply making modifications authorized by this Section 2(a)
|
|
||||||
(4) never produces Adapted Material.
|
|
||||||
|
|
||||||
5. Downstream recipients.
|
|
||||||
|
|
||||||
a. Offer from the Licensor -- Licensed Material. Every
|
|
||||||
recipient of the Licensed Material automatically
|
|
||||||
receives an offer from the Licensor to exercise the
|
|
||||||
Licensed Rights under the terms and conditions of this
|
|
||||||
Public License.
|
|
||||||
|
|
||||||
b. No downstream restrictions. You may not offer or impose
|
|
||||||
any additional or different terms or conditions on, or
|
|
||||||
apply any Effective Technological Measures to, the
|
|
||||||
Licensed Material if doing so restricts exercise of the
|
|
||||||
Licensed Rights by any recipient of the Licensed
|
|
||||||
Material.
|
|
||||||
|
|
||||||
6. No endorsement. Nothing in this Public License constitutes or
|
|
||||||
may be construed as permission to assert or imply that You
|
|
||||||
are, or that Your use of the Licensed Material is, connected
|
|
||||||
with, or sponsored, endorsed, or granted official status by,
|
|
||||||
the Licensor or others designated to receive attribution as
|
|
||||||
provided in Section 3(a)(1)(A)(i).
|
|
||||||
|
|
||||||
b. Other rights.
|
|
||||||
|
|
||||||
1. Moral rights, such as the right of integrity, are not
|
|
||||||
licensed under this Public License, nor are publicity,
|
|
||||||
privacy, and/or other similar personality rights; however, to
|
|
||||||
the extent possible, the Licensor waives and/or agrees not to
|
|
||||||
assert any such rights held by the Licensor to the limited
|
|
||||||
extent necessary to allow You to exercise the Licensed
|
|
||||||
Rights, but not otherwise.
|
|
||||||
|
|
||||||
2. Patent and trademark rights are not licensed under this
|
|
||||||
Public License.
|
|
||||||
|
|
||||||
3. To the extent possible, the Licensor waives any right to
|
|
||||||
collect royalties from You for the exercise of the Licensed
|
|
||||||
Rights, whether directly or through a collecting society
|
|
||||||
under any voluntary or waivable statutory or compulsory
|
|
||||||
licensing scheme. In all other cases the Licensor expressly
|
|
||||||
reserves any right to collect such royalties.
|
|
||||||
|
|
||||||
Section 3 -- License Conditions.
|
|
||||||
|
|
||||||
Your exercise of the Licensed Rights is expressly made subject to the
|
|
||||||
following conditions.
|
|
||||||
|
|
||||||
a. Attribution.
|
|
||||||
|
|
||||||
1. If You Share the Licensed Material (including in modified
|
|
||||||
form), You must:
|
|
||||||
|
|
||||||
a. retain the following if it is supplied by the Licensor
|
|
||||||
with the Licensed Material:
|
|
||||||
|
|
||||||
i. identification of the creator(s) of the Licensed
|
|
||||||
Material and any others designated to receive
|
|
||||||
attribution, in any reasonable manner requested by
|
|
||||||
the Licensor (including by pseudonym if
|
|
||||||
designated);
|
|
||||||
|
|
||||||
ii. a copyright notice;
|
|
||||||
|
|
||||||
iii. a notice that refers to this Public License;
|
|
||||||
|
|
||||||
iv. a notice that refers to the disclaimer of
|
|
||||||
warranties;
|
|
||||||
|
|
||||||
v. a URI or hyperlink to the Licensed Material to the
|
|
||||||
extent reasonably practicable;
|
|
||||||
|
|
||||||
b. indicate if You modified the Licensed Material and
|
|
||||||
retain an indication of any previous modifications; and
|
|
||||||
|
|
||||||
c. indicate the Licensed Material is licensed under this
|
|
||||||
Public License, and include the text of, or the URI or
|
|
||||||
hyperlink to, this Public License.
|
|
||||||
|
|
||||||
2. You may satisfy the conditions in Section 3(a)(1) in any
|
|
||||||
reasonable manner based on the medium, means, and context in
|
|
||||||
which You Share the Licensed Material. For example, it may be
|
|
||||||
reasonable to satisfy the conditions by providing a URI or
|
|
||||||
hyperlink to a resource that includes the required
|
|
||||||
information.
|
|
||||||
|
|
||||||
3. If requested by the Licensor, You must remove any of the
|
|
||||||
information required by Section 3(a)(1)(A) to the extent
|
|
||||||
reasonably practicable.
|
|
||||||
|
|
||||||
4. If You Share Adapted Material You produce, the Adapter's
|
|
||||||
License You apply must not prevent recipients of the Adapted
|
|
||||||
Material from complying with this Public License.
|
|
||||||
|
|
||||||
Section 4 -- Sui Generis Database Rights.
|
|
||||||
|
|
||||||
Where the Licensed Rights include Sui Generis Database Rights that
|
|
||||||
apply to Your use of the Licensed Material:
|
|
||||||
|
|
||||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
|
||||||
to extract, reuse, reproduce, and Share all or a substantial
|
|
||||||
portion of the contents of the database;
|
|
||||||
|
|
||||||
b. if You include all or a substantial portion of the database
|
|
||||||
contents in a database in which You have Sui Generis Database
|
|
||||||
Rights, then the database in which You have Sui Generis Database
|
|
||||||
Rights (but not its individual contents) is Adapted Material; and
|
|
||||||
|
|
||||||
c. You must comply with the conditions in Section 3(a) if You Share
|
|
||||||
all or a substantial portion of the contents of the database.
|
|
||||||
|
|
||||||
For the avoidance of doubt, this Section 4 supplements and does not
|
|
||||||
replace Your obligations under this Public License where the Licensed
|
|
||||||
Rights include other Copyright and Similar Rights.
|
|
||||||
|
|
||||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
|
||||||
|
|
||||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
|
||||||
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
|
||||||
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
|
||||||
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
|
||||||
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
|
||||||
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
|
||||||
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
|
||||||
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
|
||||||
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
|
||||||
|
|
||||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
|
||||||
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
|
||||||
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
|
||||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
|
||||||
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
|
||||||
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
|
||||||
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
|
||||||
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
|
||||||
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
|
||||||
|
|
||||||
c. The disclaimer of warranties and limitation of liability provided
|
|
||||||
above shall be interpreted in a manner that, to the extent
|
|
||||||
possible, most closely approximates an absolute disclaimer and
|
|
||||||
waiver of all liability.
|
|
||||||
|
|
||||||
Section 6 -- Term and Termination.
|
|
||||||
|
|
||||||
a. This Public License applies for the term of the Copyright and
|
|
||||||
Similar Rights licensed here. However, if You fail to comply with
|
|
||||||
this Public License, then Your rights under this Public License
|
|
||||||
terminate automatically.
|
|
||||||
|
|
||||||
b. Where Your right to use the Licensed Material has terminated under
|
|
||||||
Section 6(a), it reinstates:
|
|
||||||
|
|
||||||
1. automatically as of the date the violation is cured, provided
|
|
||||||
it is cured within 30 days of Your discovery of the
|
|
||||||
violation; or
|
|
||||||
|
|
||||||
2. upon express reinstatement by the Licensor.
|
|
||||||
|
|
||||||
For the avoidance of doubt, this Section 6(b) does not affect any
|
|
||||||
right the Licensor may have to seek remedies for Your violations
|
|
||||||
of this Public License.
|
|
||||||
|
|
||||||
c. For the avoidance of doubt, the Licensor may also offer the
|
|
||||||
Licensed Material under separate terms or conditions or stop
|
|
||||||
distributing the Licensed Material at any time; however, doing so
|
|
||||||
will not terminate this Public License.
|
|
||||||
|
|
||||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
|
||||||
License.
|
|
||||||
|
|
||||||
Section 7 -- Other Terms and Conditions.
|
|
||||||
|
|
||||||
a. The Licensor shall not be bound by any additional or different
|
|
||||||
terms or conditions communicated by You unless expressly agreed.
|
|
||||||
|
|
||||||
b. Any arrangements, understandings, or agreements regarding the
|
|
||||||
Licensed Material not stated herein are separate from and
|
|
||||||
independent of the terms and conditions of this Public License.
|
|
||||||
|
|
||||||
Section 8 -- Interpretation.
|
|
||||||
|
|
||||||
a. For the avoidance of doubt, this Public License does not, and
|
|
||||||
shall not be interpreted to, reduce, limit, restrict, or impose
|
|
||||||
conditions on any use of the Licensed Material that could lawfully
|
|
||||||
be made without permission under this Public License.
|
|
||||||
|
|
||||||
b. To the extent possible, if any provision of this Public License is
|
|
||||||
deemed unenforceable, it shall be automatically reformed to the
|
|
||||||
minimum extent necessary to make it enforceable. If the provision
|
|
||||||
cannot be reformed, it shall be severed from this Public License
|
|
||||||
without affecting the enforceability of the remaining terms and
|
|
||||||
conditions.
|
|
||||||
|
|
||||||
c. No term or condition of this Public License will be waived and no
|
|
||||||
failure to comply consented to unless expressly agreed to by the
|
|
||||||
Licensor.
|
|
||||||
|
|
||||||
d. Nothing in this Public License constitutes or may be interpreted
|
|
||||||
as a limitation upon, or waiver of, any privileges and immunities
|
|
||||||
that apply to the Licensor or You, including from the legal
|
|
||||||
processes of any jurisdiction or authority.
|
|
||||||
|
|
||||||
=======================================================================
|
|
||||||
|
|
||||||
Creative Commons is not a party to its public
|
|
||||||
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
|
||||||
its public licenses to material it publishes and in those instances
|
|
||||||
will be considered the “Licensor.” The text of the Creative Commons
|
|
||||||
public licenses is dedicated to the public domain under the CC0 Public
|
|
||||||
Domain Dedication. Except for the limited purpose of indicating that
|
|
||||||
material is shared under a Creative Commons public license or as
|
|
||||||
otherwise permitted by the Creative Commons policies published at
|
|
||||||
creativecommons.org/policies, Creative Commons does not authorize the
|
|
||||||
use of the trademark "Creative Commons" or any other trademark or logo
|
|
||||||
of Creative Commons without its prior written consent including,
|
|
||||||
without limitation, in connection with any unauthorized modifications
|
|
||||||
to any of its public licenses or any other arrangements,
|
|
||||||
understandings, or agreements concerning use of licensed material. For
|
|
||||||
the avoidance of doubt, this paragraph does not form part of the
|
|
||||||
public licenses.
|
|
||||||
|
|
||||||
Creative Commons may be contacted at creativecommons.org.
|
|
||||||
@@ -18,7 +18,9 @@ versions:
|
|||||||
|
|
||||||
### About workflow artifacts
|
### About workflow artifacts
|
||||||
|
|
||||||
Artifacts allow you to persist data after a job has completed, and share that data with another job in the same workflow. An artifact is a file or collection of files produced during a workflow run. For example, you can use artifacts to save your build and test output after a workflow run has ended. For pushes and pull requests, {% data variables.product.product_name %} stores artifacts for 90 days. The retention period for a pull request restarts each time someone pushes a new commit to the pull request.
|
Artifacts allow you to persist data after a job has completed, and share that data with another job in the same workflow. An artifact is a file or collection of files produced during a workflow run. For example, you can use artifacts to save your build and test output after a workflow run has ended.
|
||||||
|
|
||||||
|
{% data reusables.github-actions.artifact-log-retention-statement %} The retention period for a pull request restarts each time someone pushes a new commit to the pull request.
|
||||||
|
|
||||||
These are some of the common artifacts that you can upload:
|
These are some of the common artifacts that you can upload:
|
||||||
|
|
||||||
@@ -48,6 +50,119 @@ To share data between jobs:
|
|||||||
|
|
||||||
The steps of a job share the same environment on the runner machine, but run in their own individual processes. To pass data between steps in a job, you can use inputs and outputs. For more information about inputs and outputs, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions)."
|
The steps of a job share the same environment on the runner machine, but run in their own individual processes. To pass data between steps in a job, you can use inputs and outputs. For more information about inputs and outputs, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions)."
|
||||||
|
|
||||||
|
### Uploading build and test artifacts
|
||||||
|
|
||||||
|
You can create a continuous integration (CI) workflow to build and test your code. For more information about using {% data variables.product.prodname_actions %} to perform CI, see "[About continuous integration](/articles/about-continuous-integration)."
|
||||||
|
|
||||||
|
The output of building and testing your code often produces files you can use to debug test failures and production code that you can deploy. You can configure a workflow to build and test the code pushed to your repository and report a success or failure status. You can upload the build and test output to use for deployments, debugging failed tests or crashes, and viewing test suite coverage.
|
||||||
|
|
||||||
|
You can use the `upload-artifact` action to upload artifacts. When uploading an artifact, you can specify a single file or directory, or multiple files or directories. You can also exclude certain files or directories, and use wildcard patterns. We recommend that you provide a name for an artifact, but if no name is provided then `artifact` will be used as the default name. For more information on syntax, see the {% if currentVersion == "free-pro-team@latest" %}[actions/upload-artifact](https://github.com/actions/upload-artifact) action{% else %} `actions/upload-artifact` action on {% data variables.product.product_location %}{% endif %}.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
For example, your repository or a web application might contain SASS and TypeScript files that you must convert to CSS and JavaScript. Assuming your build configuration outputs the compiled files in the `dist` directory, you would deploy the files in the `dist` directory to your web application server if all tests completed successfully.
|
||||||
|
|
||||||
|
```
|
||||||
|
|-- hello-world (repository)
|
||||||
|
| └── dist
|
||||||
|
| └── tests
|
||||||
|
| └── src
|
||||||
|
| └── sass/app.scss
|
||||||
|
| └── app.ts
|
||||||
|
| └── output
|
||||||
|
| └── test
|
||||||
|
|
|
||||||
|
```
|
||||||
|
|
||||||
|
This example shows you how to create a workflow for a Node.js project that `builds` the code in the `src` directory and runs the tests in the `tests` directory. You can assume that running `npm test` produces a code coverage report named `code-coverage.html` stored in the `output/test/` directory.
|
||||||
|
|
||||||
|
The workflow uploads the production artifacts in the `dist` directory, but excludes any markdown files. It also and uploads the `code-coverage.html` report as another artifact.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: Node CI
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_and_test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: npm install, build, and test
|
||||||
|
run: |
|
||||||
|
npm install
|
||||||
|
npm run build --if-present
|
||||||
|
npm test
|
||||||
|
- name: Archive production artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: dist-without-markdown
|
||||||
|
path: |
|
||||||
|
dist
|
||||||
|
!dist/**/*.md
|
||||||
|
- name: Archive code coverage results
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: code-coverage-report
|
||||||
|
path: output/test/code-coverage.html
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||||
|
### Configuring a custom artifact retention period
|
||||||
|
|
||||||
|
You can define a custom retention period for individual artifacts created by a workflow. When using a workflow to create a new artifact, you can use `retention-days` with the `upload-artifact` action. This example demonstrates how to set a custom retention period of 5 days for the artifact named `my-artifact`:
|
||||||
|
|
||||||
|
```
|
||||||
|
- name: 'Upload Artifact'
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: my-artifact
|
||||||
|
path: my_file.txt
|
||||||
|
retention-days: 5
|
||||||
|
```
|
||||||
|
|
||||||
|
The `retention-days` value cannot exceed the retention limit set by the repository, organization, or enterprise.
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
### Downloading or deleting artifacts
|
||||||
|
|
||||||
|
During a workflow run, you can use the [`download-artifact`](https://github.com/actions/download-artifact)action to download artifacts that were previously uploaded in the same workflow run.
|
||||||
|
|
||||||
|
After a workflow run has been completed, you can download or delete artifacts on {% data variables.product.prodname_dotcom %} or using the REST API. For more information, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)," "[Removing workflow artifacts](/actions/managing-workflow-runs/removing-workflow-artifacts)," and the "[Artifacts REST API](/v3/actions/artifacts/)."
|
||||||
|
|
||||||
|
#### Downloading artifacts during a workflow run
|
||||||
|
|
||||||
|
The [`actions/download-artifact`](https://github.com/actions/download-artifact) action can be used to download previously uploaded artifacts during a workflow run.
|
||||||
|
|
||||||
|
{% note %}
|
||||||
|
|
||||||
|
**Note:** You can only download artifacts in a workflow that were uploaded during the same workflow run.
|
||||||
|
|
||||||
|
{% endnote %}
|
||||||
|
|
||||||
|
Specify an artifact's name to download an individual artifact. If you uploaded an artifact without specifying a name, the default name is `artifact`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Download a single artifact
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: my-artifact
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also download all artifacts in a workflow run by not specifying a name. This can be useful if you are working with lots of artifacts.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Download all workflow run artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
```
|
||||||
|
|
||||||
|
If you download all a workflow run's artifacts, a directory for each artifact is created using its name.
|
||||||
|
|
||||||
|
For more information on syntax, see the {% if currentVersion == "free-pro-team@latest" %}[actions/download-artifact](https://github.com/actions/download-artifact) action{% else %} `actions/download-artifact` action on {% data variables.product.product_location %}{% endif %}.
|
||||||
|
|
||||||
### Passing data between jobs in a workflow
|
### Passing data between jobs in a workflow
|
||||||
|
|
||||||
You can use the `upload-artifact` and `download-artifact` actions to share data between jobs in a workflow. This example workflow illustrates how to pass data between jobs in the same workflow. For more information, see the {% if currentVersion == "free-pro-team@latest" %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}.
|
You can use the `upload-artifact` and `download-artifact` actions to share data between jobs in a workflow. This example workflow illustrates how to pass data between jobs in the same workflow. For more information, see the {% if currentVersion == "free-pro-team@latest" %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}.
|
||||||
@@ -125,125 +240,6 @@ jobs:
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Sharing data between workflow runs
|
|
||||||
|
|
||||||
After a workflow ends, you can download a compressed file of the uploaded artifacts on {% data variables.product.product_name %} by finding the workflow run in the **Actions** tab. You can also use the {% data variables.product.prodname_dotcom %} REST API to download artifacts. For more information, see "[Artifacts](/v3/actions/artifacts/)."
|
|
||||||
|
|
||||||
If you need to access artifacts from a previous workflow run, you can use the {% data variables.product.product_name %} REST API to retrieve artifacts. For more information, see "[Get an artifact](/rest/reference/actions#artifacts)."
|
|
||||||
|
|
||||||
### Uploading build and test artifacts
|
|
||||||
|
|
||||||
You can create a continuous integration (CI) workflow to build and test your code. For more information about using {% data variables.product.prodname_actions %} to perform CI, see "[About continuous integration](/articles/about-continuous-integration)."
|
|
||||||
|
|
||||||
The output of building and testing your code often produces files you can use to debug test failures and production code that you can deploy. You can configure a workflow to build and test the code pushed to your repository and report a success or failure status. You can upload the build and test output to use for deployments, debugging failed tests or crashes, and viewing test suite coverage.
|
|
||||||
|
|
||||||
You can use the `upload-artifact` action to upload artifacts. When uploading an artifact, you can specify a single file or directory, or multiple files or directories. You can also exclude certain files or directories, and use wildcard patterns. We recommend that you provide a name for an artifact, but if no name is provided then `artifact` will be used as the default name. For more information on syntax, see the {% if currentVersion == "free-pro-team@latest" %}[actions/upload-artifact](https://github.com/actions/upload-artifact) action{% else %} `actions/upload-artifact` action on {% data variables.product.product_location %}{% endif %}.
|
|
||||||
|
|
||||||
#### Example
|
|
||||||
|
|
||||||
For example, your repository or a web application might contain SASS and TypeScript files that you must convert to CSS and JavaScript. Assuming your build configuration outputs the compiled files in the `dist` directory, you would deploy the files in the `dist` directory to your web application server if all tests completed successfully.
|
|
||||||
|
|
||||||
```
|
|
||||||
|-- hello-world (repository)
|
|
||||||
| └── dist
|
|
||||||
| └── tests
|
|
||||||
| └── src
|
|
||||||
| └── sass/app.scss
|
|
||||||
| └── app.ts
|
|
||||||
| └── output
|
|
||||||
| └── test
|
|
||||||
|
|
|
||||||
```
|
|
||||||
|
|
||||||
This example shows you how to create a workflow for a Node.js project that `builds` the code in the `src` directory and runs the tests in the `tests` directory. You can assume that running `npm test` produces a code coverage report named `code-coverage.html` stored in the `output/test/` directory.
|
|
||||||
|
|
||||||
The workflow uploads the production artifacts in the `dist` directory, but excludes any markdown files. It also and uploads the `code-coverage.html` report as another artifact.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
name: Node CI
|
|
||||||
|
|
||||||
on: [push]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_and_test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
- name: npm install, build, and test
|
|
||||||
run: |
|
|
||||||
npm install
|
|
||||||
npm run build --if-present
|
|
||||||
npm test
|
|
||||||
- name: Archive production artifacts
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: dist-without-markdown
|
|
||||||
path: |
|
|
||||||
dist
|
|
||||||
!dist/**/*.md
|
|
||||||
- name: Archive code coverage results
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: code-coverage-report
|
|
||||||
path: output/test/code-coverage.html
|
|
||||||
```
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Downloading or deleting artifacts
|
|
||||||
|
|
||||||
During a workflow run, you can download artifacts that were previously uploaded in the same workflow run. After a workflow run has been completed, you can download or delete artifacts on GitHub using the workflow run history.
|
|
||||||
|
|
||||||
#### Downloading artifacts during a workflow run
|
|
||||||
|
|
||||||
The [actions/download-artifact](https://github.com/actions/download-artifact) action can be used to download previously uploaded artifacts during a workflow run.
|
|
||||||
|
|
||||||
{% note %}
|
|
||||||
|
|
||||||
**Note:** You can only download artifacts in a workflow that were uploaded during the same workflow run.
|
|
||||||
|
|
||||||
{% endnote %}
|
|
||||||
|
|
||||||
Specify an artifact's name to download an individual artifact. If you uploaded an artifact without specifying a name, the default name is `artifact`.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- name: Download a single artifact
|
|
||||||
uses: actions/download-artifact@v2
|
|
||||||
with:
|
|
||||||
name: my-artifact
|
|
||||||
```
|
|
||||||
|
|
||||||
You can also download all artifacts in a workflow run by not specifying a name. This can be useful if you are working with lots of artifacts.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- name: Download all workflow run artifacts
|
|
||||||
uses: actions/download-artifact@v2
|
|
||||||
```
|
|
||||||
|
|
||||||
If you download all a workflow run's artifacts, a directory for each artifact is created using its name.
|
|
||||||
|
|
||||||
For more information on syntax, see the {% if currentVersion == "free-pro-team@latest" %}[actions/download-artifact](https://github.com/actions/download-artifact) action{% else %} `actions/download-artifact` action on {% data variables.product.product_location %}{% endif %}.
|
|
||||||
|
|
||||||
#### Downloading and deleting artifacts after a workflow run is complete
|
|
||||||
|
|
||||||
Artifacts automatically expire after 90 days, but you can always reclaim used {% data variables.product.prodname_actions %} storage by deleting artifacts before they expire on {% data variables.product.product_name %}.
|
|
||||||
|
|
||||||
{% warning %}
|
|
||||||
|
|
||||||
**Warning:** Once you delete an artifact, it can not be restored.
|
|
||||||
|
|
||||||
{% endwarning %}
|
|
||||||
|
|
||||||
{% data reusables.repositories.navigate-to-repo %}
|
|
||||||
{% data reusables.repositories.actions-tab %}
|
|
||||||
{% data reusables.repositories.navigate-to-workflow %}
|
|
||||||
{% data reusables.repositories.view-run %}
|
|
||||||
1. To download artifacts, use the **Artifacts** drop-down menu, and select the artifact you want to download.
|
|
||||||

|
|
||||||
1. To delete artifacts, use the **Artifacts** drop-down menu, and click {% octicon "trashcan" aria-label="The trashcan icon" %}.
|
|
||||||

|
|
||||||
|
|
||||||
{% if currentVersion == "free-pro-team@latest" %}
|
{% if currentVersion == "free-pro-team@latest" %}
|
||||||
|
|
||||||
### Further reading
|
### Further reading
|
||||||
|
|||||||
@@ -37,5 +37,6 @@ versions:
|
|||||||
{% link_with_intro /sharing-workflows-with-your-organization %}
|
{% link_with_intro /sharing-workflows-with-your-organization %}
|
||||||
{% link_with_intro /security-hardening-for-github-actions %}
|
{% link_with_intro /security-hardening-for-github-actions %}
|
||||||
{% link_with_intro /migrating-from-circleci-to-github-actions %}
|
{% link_with_intro /migrating-from-circleci-to-github-actions %}
|
||||||
|
{% link_with_intro /migrating-from-gitlab-cicd-to-github-actions %}
|
||||||
{% link_with_intro /migrating-from-azure-pipelines-to-github-actions %}
|
{% link_with_intro /migrating-from-azure-pipelines-to-github-actions %}
|
||||||
{% link_with_intro /migrating-from-jenkins-to-github-actions %}
|
{% link_with_intro /migrating-from-jenkins-to-github-actions %}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ If your workflows use sensitive data, such as passwords or certificates, you can
|
|||||||
|
|
||||||
This example action demonstrates how to reference an existing secret as an environment variable, and send it as a parameter to an example command.
|
This example action demonstrates how to reference an existing secret as an environment variable, and send it as a parameter to an example command.
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
jobs:
|
jobs:
|
||||||
example-job:
|
example-job:
|
||||||
@@ -30,6 +31,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
example-command "$SUPER_SECRET"
|
example-command "$SUPER_SECRET"
|
||||||
```
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
For more information, see "[Creating and storing encrypted secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)."
|
For more information, see "[Creating and storing encrypted secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)."
|
||||||
|
|
||||||
@@ -62,6 +64,7 @@ For more information, see [`jobs.<job_id>.needs`](/actions/reference/workflow-sy
|
|||||||
|
|
||||||
You can use a build matrix if you want your workflow to run tests across multiple combinations of operating systems, platforms, and languages. The build matrix is created using the `strategy` keyword, which receives the build options as an array. For example, this build matrix will run the job multiple times, using different versions of Node.js:
|
You can use a build matrix if you want your workflow to run tests across multiple combinations of operating systems, platforms, and languages. The build matrix is created using the `strategy` keyword, which receives the build options as an array. For example, this build matrix will run the job multiple times, using different versions of Node.js:
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -74,6 +77,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node }}
|
node-version: ${{ matrix.node }}
|
||||||
```
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
For more information, see [`jobs.<job_id>.strategy.matrix`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix).
|
For more information, see [`jobs.<job_id>.strategy.matrix`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix).
|
||||||
|
|
||||||
@@ -83,6 +87,7 @@ For more information, see [`jobs.<job_id>.strategy.matrix`](/actions/reference/w
|
|||||||
|
|
||||||
This example demonstrates how to cache the ` ~/.npm` directory:
|
This example demonstrates how to cache the ` ~/.npm` directory:
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
jobs:
|
jobs:
|
||||||
example-job:
|
example-job:
|
||||||
@@ -97,6 +102,7 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-build-${{ env.cache-name }}-
|
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||||
```
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
For more information, see "[Caching dependencies to speed up workflows](/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows)."
|
For more information, see "[Caching dependencies to speed up workflows](/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows)."
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,476 @@
|
|||||||
|
---
|
||||||
|
title: Migrating from GitLab CI/CD to GitHub Actions
|
||||||
|
intro: '{% data variables.product.prodname_actions %} and GitLab CI/CD share several configuration similarities, which makes migrating to {% data variables.product.prodname_actions %} relatively straightforward.'
|
||||||
|
versions:
|
||||||
|
free-pro-team: '*'
|
||||||
|
enterprise-server: '>=2.22'
|
||||||
|
---
|
||||||
|
|
||||||
|
{% data reusables.actions.enterprise-beta %}
|
||||||
|
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||||
|
|
||||||
|
### Introduction
|
||||||
|
|
||||||
|
GitLab CI/CD and {% data variables.product.prodname_actions %} both allow you to create workflows that automatically build, test, publish, release, and deploy code. GitLab CI/CD and {% data variables.product.prodname_actions %} share some similarities in workflow configuration:
|
||||||
|
|
||||||
|
- Workflow configuration files are written in YAML and are stored in the code's repository.
|
||||||
|
- Workflows include one or more jobs.
|
||||||
|
- Jobs include one or more steps or individual commands.
|
||||||
|
- Jobs can run on either managed or self-hosted machines.
|
||||||
|
|
||||||
|
There are a few differences, and this guide will show you the important differences so that you can migrate your workflow to {% data variables.product.prodname_actions %}.
|
||||||
|
|
||||||
|
### Jobs
|
||||||
|
|
||||||
|
Jobs in GitLab CI/CD are very similar to jobs in {% data variables.product.prodname_actions %}. In both systems, jobs have the following characteristics:
|
||||||
|
|
||||||
|
* Jobs contain a series of steps or scripts that run sequentially.
|
||||||
|
* Jobs can run on separate machines or in separate containers.
|
||||||
|
* Jobs run in parallel by default, but can be configured to run sequentially.
|
||||||
|
|
||||||
|
You can run a script or a shell command in a job. In GitLab CI/CD, script steps are specified using the `script` key. In {% data variables.product.prodname_actions %}, all scripts are specified using the `run` key.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system:
|
||||||
|
|
||||||
|
<table class="d-block">
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
job1:
|
||||||
|
variables:
|
||||||
|
GIT_CHECKOUT: "true"
|
||||||
|
script:
|
||||||
|
- echo "Run your script here"
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
job1:
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: echo "Run your script here"
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
### Runners
|
||||||
|
|
||||||
|
Runners are machines on which the jobs run. Both GitLab CI/CD and {% data variables.product.prodname_actions %} offer managed and self-hosted variants of runners. In GitLab CI/CD, `tags` are used to run jobs on different platforms, while in {% data variables.product.prodname_actions %} it is done with the `runs-on` key.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system:
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
windows_job:
|
||||||
|
tags:
|
||||||
|
- windows
|
||||||
|
script:
|
||||||
|
- echo Hello, %USERNAME%!
|
||||||
|
|
||||||
|
linux_job:
|
||||||
|
tags:
|
||||||
|
- linux
|
||||||
|
script:
|
||||||
|
- echo "Hello, $USER!"
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
windows_job:
|
||||||
|
runs-on : windows-latest
|
||||||
|
steps:
|
||||||
|
- run: echo Hello, %USERNAME%!
|
||||||
|
|
||||||
|
linux_job:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo "Hello, $USER!"
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)."
|
||||||
|
|
||||||
|
### Docker images
|
||||||
|
|
||||||
|
Both GitLab CI/CD and {% data variables.product.prodname_actions %} support running jobs in a Docker image. In GitLab CI/CD, Docker images are defined with a `image` key, while in {% data variables.product.prodname_actions %} it is done with the `container` key.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system:
|
||||||
|
|
||||||
|
<table class="d-block">
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
my_job:
|
||||||
|
image: node:10.16-jessie
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
my_job:
|
||||||
|
container: node:10.16-jessie
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontainer)."
|
||||||
|
|
||||||
|
### Condition and expression syntax
|
||||||
|
|
||||||
|
GitLab CI/CD uses `rules` to determine if a job will run for a specific condition. {% data variables.product.prodname_actions %} uses the `if` keyword to prevent a job from running unless a condition is met.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system:
|
||||||
|
|
||||||
|
<table class="d-block">
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
deploy_prod:
|
||||||
|
stage: deploy
|
||||||
|
script:
|
||||||
|
- echo "Deply to production server"
|
||||||
|
rules:
|
||||||
|
- if: '$CI_COMMIT_BRANCH == "master"'
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
deploy_prod:
|
||||||
|
if: contains( github.ref, 'master')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo "Deply to production server"
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)."
|
||||||
|
|
||||||
|
### Dependencies between Jobs
|
||||||
|
|
||||||
|
Both GitLab CI/CD and {% data variables.product.prodname_actions %} allow you to set dependencies for a job. In both systems, jobs run in parallel by default, but job dependencies in {% data variables.product.prodname_actions %} can be specified explicitly with the `needs` key. GitLab CI/CD also has a concept of `stages`, where jobs in a stage run concurrently, but the next stage will start when all the jobs in the previous stage have completed. You can recreate this scenario in {% data variables.product.prodname_actions %} with the `needs` key.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system. The workflows start with two jobs named `build_a` and `build_b` running in parallel, and when those jobs complete, another job called `test_ab` will run. Finally, when `test_ab` completes, the `deploy_ab` job will run.
|
||||||
|
|
||||||
|
<table class="d-block">
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
- deploy
|
||||||
|
|
||||||
|
build_a:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- echo "This job will run first."
|
||||||
|
|
||||||
|
build_b:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- echo "This job will run first, in parallel with build_a."
|
||||||
|
|
||||||
|
test_ab:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- echo "This job will run after build_a and build_b have finished."
|
||||||
|
|
||||||
|
deploy_ab:
|
||||||
|
stage: deploy
|
||||||
|
script:
|
||||||
|
- echo "This job will run after test_ab is complete"
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
build_a:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo "This job will be run first."
|
||||||
|
|
||||||
|
build_b:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo "This job will be run first, in parallel with build_a"
|
||||||
|
|
||||||
|
test_ab:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build_a,build_b]
|
||||||
|
steps:
|
||||||
|
- run: echo "This job will run after build_a and build_b have finished"
|
||||||
|
|
||||||
|
deploy_ab:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [test_ab]
|
||||||
|
steps:
|
||||||
|
- run: echo "This job will run after test_ab is complete"
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds)."
|
||||||
|
|
||||||
|
### Scheduling workflows
|
||||||
|
|
||||||
|
Both GitLab CI/CD and {% data variables.product.prodname_actions %} allow you to run workflows at a specific interval. In GitLab CI/CD, pipeline schedules are configured with the UI, while in {% data variables.product.prodname_actions %} you can trigger a workflow on a scheduled interval with the "on" key.
|
||||||
|
|
||||||
|
For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#scheduled-events)."
|
||||||
|
|
||||||
|
### Variables and secrets
|
||||||
|
|
||||||
|
GitLab CI/CD and {% data variables.product.prodname_actions %} support setting environment variables in the pipeline or workflow configuration file, and creating secrets using the GitLab or {% data variables.product.product_name %} UI.
|
||||||
|
|
||||||
|
For more information, see "[Environment variables](/actions/reference/environment-variables)" and "[Encrypted secrets](/actions/reference/encrypted-secrets)."
|
||||||
|
|
||||||
|
### Caching
|
||||||
|
|
||||||
|
GitLab CI/CD and {% data variables.product.prodname_actions %} provide a method in the configuration file to manually cache workflow files.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system:
|
||||||
|
|
||||||
|
<table class="d-block">
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
image: node:latest
|
||||||
|
|
||||||
|
cache:
|
||||||
|
key: $CI_COMMIT_REF_SLUG
|
||||||
|
paths:
|
||||||
|
- .npm/
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- npm ci --cache .npm --prefer-offline
|
||||||
|
|
||||||
|
test_async:
|
||||||
|
script:
|
||||||
|
- node ./specs/start.js ./specs/async.spec.js
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
test_async:
|
||||||
|
- name: Cache node modules
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.npm
|
||||||
|
key: v1-npm-deps-${{ hashFiles('**/package-lock.json') }}
|
||||||
|
restore-keys: v1-npm-deps-
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For more information, see "[Caching dependencies to speed up workflows](/actions/guides/caching-dependencies-to-speed-up-workflows)."
|
||||||
|
|
||||||
|
### Artifacts
|
||||||
|
|
||||||
|
Both GitLab CI/CD and {% data variables.product.prodname_actions %} can upload files and directories created by a job as artifacts. In {% data variables.product.prodname_actions %}, artifacts can be used to persist data across multiple jobs.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system:
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
script:
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- math-homework.txt
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
- name: Upload math result for job 1
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: homework
|
||||||
|
path: math-homework.txt
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For more information, see "[Storing workflow data as artifacts](/actions/guides/storing-workflow-data-as-artifacts)."
|
||||||
|
|
||||||
|
### Databases and service containers
|
||||||
|
|
||||||
|
Both systems enable you to include additional containers for databases, caching, or other dependencies.
|
||||||
|
|
||||||
|
In GitLab CI/CD, a container for the job is specified with the `image` key, while {% data variables.product.prodname_actions %} uses the `container` key. In both systems, additional service containers are specified with the `services` key.
|
||||||
|
|
||||||
|
Below is an example of the syntax for each system:
|
||||||
|
|
||||||
|
<table class="d-block">
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
GitLab CI/CD
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
{% data variables.product.prodname_actions %}
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
container-job:
|
||||||
|
variables:
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
# The hostname used to communicate with the
|
||||||
|
# PostgreSQL service container
|
||||||
|
POSTGRES_HOST: postgres
|
||||||
|
# The default PostgreSQL port
|
||||||
|
POSTGRES_PORT: 5432
|
||||||
|
image: node:10.18-jessie
|
||||||
|
services:
|
||||||
|
- postgres
|
||||||
|
script:
|
||||||
|
# Performs a clean installation of all dependencies
|
||||||
|
# in the `package.json` file
|
||||||
|
- npm ci
|
||||||
|
# Runs a script that creates a PostgreSQL client,
|
||||||
|
# populates the client with data, and retrieves data
|
||||||
|
- node client.js
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
<td class="d-table-cell v-align-top">
|
||||||
|
{% raw %}
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
container-job:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: node:10.18-jessie
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres
|
||||||
|
env:
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# Performs a clean installation of all dependencies
|
||||||
|
# in the `package.json` file
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Connect to PostgreSQL
|
||||||
|
# Runs a script that creates a PostgreSQL client,
|
||||||
|
# populates the client with data, and retrieves data
|
||||||
|
run: node client.js
|
||||||
|
env:
|
||||||
|
# The hostname used to communicate with the
|
||||||
|
# PostgreSQL service container
|
||||||
|
POSTGRES_HOST: postgres
|
||||||
|
# The default PostgreSQL port
|
||||||
|
POSTGRES_PORT: 5432
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
For more information, see "[About service containers](/actions/guides/about-service-containers)."
|
||||||
@@ -33,7 +33,7 @@ For more information, see "[Core concepts for {% data variables.product.prodname
|
|||||||
|
|
||||||
Jenkins lets you send builds to a single build agent, or you can distribute them across multiple agents. You can also classify these agents according to various attributes, such as operating system types.
|
Jenkins lets you send builds to a single build agent, or you can distribute them across multiple agents. You can also classify these agents according to various attributes, such as operating system types.
|
||||||
|
|
||||||
Similiarly, {% data variables.product.prodname_actions %} can send jobs to {% data variables.product.prodname_dotcom %}-hosted or self-hosted runners, and you can use labels to classify runners according to various attributes. The following table compares how the distributed build concept is implemented for both Jenkins and {% data variables.product.prodname_actions %}.
|
Similarly, {% data variables.product.prodname_actions %} can send jobs to {% data variables.product.prodname_dotcom %}-hosted or self-hosted runners, and you can use labels to classify runners according to various attributes. The following table compares how the distributed build concept is implemented for both Jenkins and {% data variables.product.prodname_actions %}.
|
||||||
|
|
||||||
| Jenkins | {% data variables.product.prodname_actions %} |
|
| Jenkins | {% data variables.product.prodname_actions %} |
|
||||||
| ------------- | ------------- |
|
| ------------- | ------------- |
|
||||||
@@ -41,7 +41,7 @@ Similiarly, {% data variables.product.prodname_actions %} can send jobs to {% da
|
|||||||
|
|
||||||
#### Using sections to organize pipelines
|
#### Using sections to organize pipelines
|
||||||
|
|
||||||
Jenkins splits its Declarative Pipelines into multiple sections. Similiarly, {% data variables.product.prodname_actions %} organizes its workflows into separate sections. The table below compares Jenkins sections with the {% data variables.product.prodname_actions %} workflow.
|
Jenkins splits its Declarative Pipelines into multiple sections. Similarly, {% data variables.product.prodname_actions %} organizes its workflows into separate sections. The table below compares Jenkins sections with the {% data variables.product.prodname_actions %} workflow.
|
||||||
|
|
||||||
|Jenkins Directives | {% data variables.product.prodname_actions %} |
|
|Jenkins Directives | {% data variables.product.prodname_actions %} |
|
||||||
| ------------- | ------------- |
|
| ------------- | ------------- |
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Downloading workflow artifacts
|
title: Downloading workflow artifacts
|
||||||
intro: You can download artifacts that were archived during a workflow run. Artifacts automatically expire after 90 days.
|
intro: You can download archived artifacts before they automatically expire.
|
||||||
product: '{% data reusables.gated-features.actions %}'
|
product: '{% data reusables.gated-features.actions %}'
|
||||||
versions:
|
versions:
|
||||||
free-pro-team: '*'
|
free-pro-team: '*'
|
||||||
@@ -10,6 +10,9 @@ versions:
|
|||||||
{% data reusables.actions.enterprise-beta %}
|
{% data reusables.actions.enterprise-beta %}
|
||||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||||
|
|
||||||
|
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %}
|
||||||
|
{% if currentVersion == "enterprise-server@2.22" %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %}
|
||||||
|
|
||||||
{% data reusables.repositories.permissions-statement-read %}
|
{% data reusables.repositories.permissions-statement-read %}
|
||||||
|
|
||||||
{% data reusables.repositories.navigate-to-repo %}
|
{% data reusables.repositories.navigate-to-repo %}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Removing workflow artifacts
|
title: Removing workflow artifacts
|
||||||
intro: 'Artifacts automatically expire after 90 days, but you can always reclaim used {% data variables.product.prodname_actions %} storage by deleting artifacts before they expire on {% data variables.product.product_name %}.'
|
intro: 'You can reclaim used {% data variables.product.prodname_actions %} storage by deleting artifacts before they expire on {% data variables.product.product_name %}.'
|
||||||
product: '{% data reusables.gated-features.actions %}'
|
product: '{% data reusables.gated-features.actions %}'
|
||||||
versions:
|
versions:
|
||||||
free-pro-team: '*'
|
free-pro-team: '*'
|
||||||
@@ -10,6 +10,8 @@ versions:
|
|||||||
{% data reusables.actions.enterprise-beta %}
|
{% data reusables.actions.enterprise-beta %}
|
||||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||||
|
|
||||||
|
### Deleting an artifact
|
||||||
|
|
||||||
{% warning %}
|
{% warning %}
|
||||||
|
|
||||||
**Warning:** Once you delete an artifact, it can not be restored.
|
**Warning:** Once you delete an artifact, it can not be restored.
|
||||||
@@ -18,9 +20,23 @@ versions:
|
|||||||
|
|
||||||
{% data reusables.repositories.permissions-statement-write %}
|
{% data reusables.repositories.permissions-statement-write %}
|
||||||
|
|
||||||
|
{% data reusables.github-actions.artifact-log-retention-statement %}
|
||||||
|
|
||||||
{% data reusables.repositories.navigate-to-repo %}
|
{% data reusables.repositories.navigate-to-repo %}
|
||||||
{% data reusables.repositories.actions-tab %}
|
{% data reusables.repositories.actions-tab %}
|
||||||
{% data reusables.repositories.navigate-to-workflow %}
|
{% data reusables.repositories.navigate-to-workflow %}
|
||||||
{% data reusables.repositories.view-run %}
|
{% data reusables.repositories.view-run %}
|
||||||
1. Under **Artifacts**, click {% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove.
|
1. Under **Artifacts**, click {% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove.
|
||||||

|

|
||||||
|
|
||||||
|
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||||
|
### Setting the retention period for an artifact
|
||||||
|
|
||||||
|
Retention periods for artifacts and logs can be configured at the repository, organization, and enterprise level. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)."
|
||||||
|
|
||||||
|
You can also define a custom retention period for individual artifacts using the `actions/upload-artifact` action in a workflow. For more information, see "[Storing workflow data as artifacts](/actions/guides/storing-workflow-data-as-artifacts#configuring-a-custom-artifact-retention-period)."
|
||||||
|
|
||||||
|
### Finding the expiration date of an artifact
|
||||||
|
|
||||||
|
You can use the API to confirm the date that an artifact is scheduled to be deleted. For more information, see the `expires_at` value returned by "[List artifacts for a repository](/rest/reference/actions#artifacts)."
|
||||||
|
{% endif %}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Using workflow run logs
|
title: Using workflow run logs
|
||||||
intro: 'You can view, search, and download the logs for each job in a workflow run. {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.'
|
intro: 'You can view, search, and download the logs for each job in a workflow run.'
|
||||||
product: '{% data reusables.gated-features.actions %}'
|
product: '{% data reusables.gated-features.actions %}'
|
||||||
versions:
|
versions:
|
||||||
free-pro-team: '*'
|
free-pro-team: '*'
|
||||||
|
|||||||