1
0
mirror of synced 2026-01-10 00:03:04 -05:00

Merge branch 'main' into docs/10075

This commit is contained in:
HonkingGoose
2021-10-06 11:17:08 +02:00
committed by GitHub
113 changed files with 642 additions and 371 deletions

View File

@@ -25,7 +25,7 @@ Closes [issue link]
### Check off the following:
- [ ] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click **View deployment**).
- [ ] For content changes, I have completed the [self-review checklist](https://github.com/github/docs/blob/main/CONTRIBUTING.md#self-review).
- [ ] For content changes, I have completed the [self-review checklist](https://github.com/github/docs/blob/main/contributing/self-review.md#self-review).
### Writer impact (This section is for GitHub staff members only):

View File

@@ -209,7 +209,8 @@ jobs:
PR_NUMBER: ${{ needs.pr-metadata.outputs.number }}
with:
script: |
const sleep = require('await-sleep') // Does not require ESM
// Equivalent of the 'await-sleep' module without the install
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
const blockingLabel = 'automated-block-deploy'
const { owner, repo } = context.repo

View File

@@ -12,6 +12,7 @@ on:
permissions:
contents: read
deployments: write
pull-requests: write
# This prevents one Undeploy workflow run from interrupting another
concurrency:
@@ -42,17 +43,26 @@ jobs:
echo 'Cancelling other deployment runs (if any)...'
undeploy:
needs: cancel-jobs-before-undeploy
if: ${{ github.repository == 'github/docs-internal' || github.repository == 'github/docs' }}
runs-on: ubuntu-latest
timeout-minutes: 5
# IMPORTANT: Intentionally OMIT a `concurrency` configuration from this job!
steps:
- name: Add a label to the PR to block deployment during undeployment
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
gh pr edit $PR_NUMBER --add-label "automated-block-deploy"
with:
script: |
const { owner, repo } = context.repo
await github.issues.addLabels({
owner,
repo,
issue_number: process.env.PR_NUMBER,
labels: ['automated-block-deploy']
})
- name: Check out repo's default branch
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
@@ -117,11 +127,19 @@ jobs:
- if: ${{ always() }}
name: Remove the label from the PR to unblock deployment
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
gh pr edit $PR_NUMBER --remove-label "automated-block-deploy"
with:
script: |
const { owner, repo } = context.repo
await github.issues.removeLabel({
owner,
repo,
issue_number: process.env.PR_NUMBER,
name: 'automated-block-deploy'
})
- name: Send Slack notification if workflow failed
uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -1,6 +1,6 @@
---
title: About continuous integration
intro: 'You can create custom continuous integration (CI) and continuous deployment (CD) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.'
intro: 'You can create custom continuous integration (CI) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.'
product: '{% data reusables.gated-features.actions %}'
redirect_from:
- /articles/about-continuous-integration
@@ -15,7 +15,6 @@ versions:
type: overview
topics:
- CI
- CD
shortTitle: Continuous integration
---
@@ -48,45 +47,12 @@ In addition to helping you set up CI workflows for your project, you can use {%
For a definition of common terms, see "[Core concepts for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions)."
## Supported languages
<!-- If you make changes to this feature, update /getting-started-with-github/github-language-support to reflect any changes to supported languages. -->
## Workflow templates
{% data variables.product.product_name %} offers CI workflow templates for a variety of languages and frameworks.
Browse the complete list of CI workflow templates offered by {% data variables.product.product_name %} in the {% ifversion fpt %}[actions/starter-workflows](https://github.com/actions/starter-workflows/tree/main/ci) repository{% else %} `actions/starter-workflows` repository on {% data variables.product.product_location %}{% endif %}.
{% ifversion fpt or ghes > 3.0 or ghae-next %}
## Skipping workflow runs
If you want to temporarily prevent a workflow from being triggered, you can add a skip instruction to the commit message. Workflows that would otherwise be triggered `on: push` or `on: pull_request`, won't be triggered if you add any of the following strings to the commit message in a push, or the HEAD commit of a pull request:
* `[skip ci]`
* `[ci skip]`
* `[no ci]`
* `[skip actions]`
* `[actions skip]`
Alternatively, you can end the commit message with two empty lines followed by either `skip-checks: true` or `skip-checks:true`.
You won't be able to merge the pull request if your repository is configured to require specific checks to pass first. To allow the pull request to be merged you can push a new commit to the pull request without the skip instruction in the commit message.
{% note %}
**Note:** Skip instructions only apply to the `push` and `pull_request` events. For example, adding `[skip ci]` to a commit message won't stop a workflow that's triggered `on: pull_request_target` from running.
{% endnote %}
{% endif %}
## Notifications for workflow runs
{% data reusables.repositories.workflow-notifications %}
## Status badges for workflow runs
{% data reusables.repositories.actions-workflow-status-badge-intro %}
For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)."
## Further reading
{% ifversion fpt %}

View File

@@ -0,0 +1,41 @@
---
title: About continuous deployment
intro: 'You can create custom continuous deployment (CD) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.'
product: '{% data reusables.gated-features.actions %}'
versions:
fpt: '*'
ghes: '*'
ghae: '*'
type: overview
topics:
- CD
shortTitle: Continuous deployment
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## About continuous deployment
_Continuous deployment_ (CD) is the practice of using automation to publish and deploy software updates. As part of the typical CD process, the code is automatically built and tested before deployment.
Continuous deployment is often coupled with continuous integration. For more information about continuous integration, see "[About continuous integration](/actions/guides/about-continuous-integration)".
## About continuous deployment using {% data variables.product.prodname_actions %}
You can set up a {% data variables.product.prodname_actions %} workflow to deploy your software product. To verify that your product works as expected, your workflow can build the code in your repository and run your tests before deploying.
You can configure your CD workflow to run when a {% data variables.product.product_name %} event occurs (for example, when new code is pushed to the default branch of your repository), on a set schedule, manually, or when an external event occurs using the repository dispatch webhook. For more information about when your workflow can run, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)."
{% data variables.product.prodname_actions %} provides features that give you more control over deployments. For example, you can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets. You can use concurrency to limit your CD pipeline to a maximum of one in-progress deployment and one pending deployment. For more information about these features, see "[Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions)" and "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)."
## Workflow templates and third party actions
{% data reusables.actions.cd-templates-actions %}
## Further reading
- [Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions)
- [Using environments for deployment](/actions/deployment/using-environments-for-deployment){% ifversion fpt %}
- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)"
{% endif %}

View File

@@ -21,7 +21,7 @@ shortTitle: Deploy to Amazon ECS
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/), and deploy it to [Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/).
This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/), and deploy it to [Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/) when a release is created.
On every new release in your {% data variables.product.company_short %} repository, the {% data variables.product.prodname_actions %} workflow builds and pushes a new container image to Amazon ECR, and then deploys a new task definition to Amazon ECS.
@@ -67,6 +67,8 @@ Before creating your {% data variables.product.prodname_actions %} workflow, you
See the documentation for each action used below for the recommended IAM policies for the IAM user, and methods for handling the access key credentials.
5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
@@ -75,6 +77,8 @@ The following example workflow demonstrates how to build a container image and p
Ensure that you provide your own values for all the variables in the `env` key of the workflow.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
@@ -94,17 +98,11 @@ env:
CONTAINER_NAME: MY_CONTAINER_NAME # set this to the name of the container in the
# containerDefinitions section of your task definition
defaults:
run:
shell: bash
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %}
permissions:
packages: write
contents: read{% endif %}
runs-on: ubuntu-latest
environment: production
{% raw %}steps:
- name: Checkout
@@ -151,9 +149,10 @@ jobs:
wait-for-service-stability: true{% endraw %}
```
## Additional resources
For the original starter workflow, see [`aws.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/aws.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
For more information on the services used in these examples, see the following documentation:
* "[Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)" in the Amazon AWS documentation.

View File

@@ -67,13 +67,19 @@ Before creating your {% data variables.product.prodname_actions %} workflow, you
In your {% data variables.product.prodname_dotcom %} repository, create a secret named `AZURE_WEBAPP_PUBLISH_PROFILE` that contains the contents of the publish profile. For more information on creating secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)."
4. For Linux apps, add an app setting called `WEBSITE_WEBDEPLOY_USE_SCM` and set it to true in your app. For more information, see "[Configure apps in the portal](https://docs.microsoft.com/en-us/azure/app-service/configure-common#configure-app-settings)" in the Azure documentation.
5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build, test, and deploy the Node.js project to Azure App Service.
The following example workflow demonstrates how to build, test, and deploy the Node.js project to Azure App Service when a release is created.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created.
Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. You can also change `AZURE_WEBAPP_PACKAGE_PATH` if the path to your project is not the repository root and `NODE_VERSION` if you want to use a node version other than `10.x`.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
@@ -91,6 +97,8 @@ jobs:
build-and-deploy:
name: Build and Deploy
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v2
@@ -121,4 +129,6 @@ The following resources may also be useful:
* For the original starter workflow, see [`azure.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository.
* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action.
* For more examples of GitHub Action workflows that deploy to Azure, see the
[actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository.
* The "[Create a Node.js web app in Azure](https://docs.microsoft.com/en-us/azure/app-service/quickstart-nodejs)" quickstart in the Azure web app documentation demonstrates using VS Code with the [Azure App Service extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureappservice).

View File

@@ -13,7 +13,7 @@ topics:
- CD
- Containers
- Google Kubernetes Engine
shortTitle: Deploy to Kubernetes (GKE)
shortTitle: Deploy to Google Kubernetes Engine
---
{% data reusables.actions.enterprise-beta %}
@@ -21,7 +21,7 @@ shortTitle: Deploy to Kubernetes (GKE)
## Introduction
This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to Google Container Registry (GCR), and deploy it to Google Kubernetes Engine (GKE).
This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to Google Container Registry (GCR), and deploy it to Google Kubernetes Engine (GKE) when a release is created.
GKE is a managed Kubernetes cluster service from Google Cloud that can host your containerized workloads in the cloud or in your own datacenter. For more information, see [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine).
@@ -60,7 +60,7 @@ $ gcloud services enable \
### Configuring a service account and storing its credentials
This procedure demonstrates how to create the service account for your GKE integration. It explains how to create the account, add roles to it, retrieve its keys, and store them as a base64-encoded [encrypted repository secret](/actions/reference/encrypted-secrets) named `GKE_SA_KEY`.
This procedure demonstrates how to create the service account for your GKE integration. It explains how to create the account, add roles to it, retrieve its keys, and store them as a base64-encoded encrypted repository secret named `GKE_SA_KEY`.
1. Create a new service account:
{% raw %}
@@ -96,16 +96,29 @@ This procedure demonstrates how to create the service account for your GKE integ
$ export GKE_SA_KEY=$(cat key.json | base64)
```
{% endraw %}
For more information about how to store a secret, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)."
### Storing your project name
Store the name of your project as a secret named `GKE_PROJECT`. For more information about how to store a secret, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)."
### (Optional) Configuring kustomize
Kustomize is an optional tool used for managing YAML specs. After creating a _kustomization_ file, the workflow below can be used to dynamically set fields of the image and pipe in the result to `kubectl`. For more information, see [kustomize usage](https://github.com/kubernetes-sigs/kustomize#usage).
### (Optional) Configure a deployment environment
{% data reusables.actions.about-environments %}
## Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build a container image and push it to GCR. It then uses the Kubernetes tools (such as `kubectl` and `kustomize`) to pull the image into the cluster deployment.
Under the `env` key, change the value of `GKE_CLUSTER` to the name of your cluster, `GKE_ZONE` to your cluster zone, `DEPLOYMENT_NAME` to the name of your deployment, and `IMAGE` to the name of your image.
{% data reusables.actions.delete-env-key %}
```yaml{:copy}
{% data reusables.actions.actions-not-certified-by-github-comment %}
@@ -126,8 +139,9 @@ jobs:
setup-build-publish-deploy:
name: Setup, Build, Publish, and Deploy
runs-on: ubuntu-latest
steps:
environment: production
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -137,7 +151,8 @@ jobs:
service_account_key: {% raw %}${{ secrets.GKE_SA_KEY }}{% endraw %}
project_id: {% raw %}${{ secrets.GKE_PROJECT }}{% endraw %}
# Configure docker to use the gcloud command-line tool as a credential helper
# Configure Docker to use the gcloud command-line tool as a credential
# helper for authentication
- run: |-
gcloud --quiet auth configure-docker
@@ -165,7 +180,7 @@ jobs:
# Set up kustomize
- name: Set up Kustomize
run: |-
curl --location https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv4.2.0/kustomize_v4.2.0_linux_amd64.tar.gz | tar xz
curl -sfLo kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64
chmod u+x ./kustomize
# Deploy the Docker image to the GKE cluster

View File

@@ -0,0 +1,173 @@
---
title: Deploying with GitHub Actions
intro: Learn how to control deployments with features like environments and concurrency.
product: '{% data reusables.gated-features.actions %}'
versions:
fpt: '*'
ghes: '>=3.1'
ghae: '*'
type: overview
topics:
- CD
shortTitle: Deploy with GitHub Actions
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
## Introduction
{% data variables.product.prodname_actions %} offers features that let you control deployments. You can:
- Trigger workflows with a variety of events.
- Configure environments to set rules before a job can proceed and to limit access to secrets.
- Use concurrency to control the number of deployments running at a time.
For more information about continuous deployment, see "[About continuous deployment](/actions/deployment/about-continuous-deployment)."
## Prerequisites
You should be familiar with the syntax for {% data variables.product.prodname_actions %}. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
## Triggering your deployment
You can use a variety of events to trigger your deployment workflow. Some of the most common are: `pull_request`, `push`, `release`, and `workflow_dispatch`.
For example, a workflow with the following triggers runs whenever:
- There is a push to the `main` branch.
- A pull request targeting the `main` branch is opened, synchronized, or reopened.
- A release is created.
- Someone manually triggers it.
```yaml
on:
push:
branches:
- main
pull_request:
branches:
- main
release:
types:
- created
workflow_dispatch:
```
For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)."
## Using environments
{% data reusables.actions.about-environments %}
## Using concurrency
Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. You can use concurrency so that an environment has a maximum of one deployment in progress and one deployment pending at a time.
{% note %}
**Note:** `concurrency` and `environment` are not connected. The concurrency value can be any string; it does not need to be an environment name. Additionally, if another workflow uses the same environment but does not specify concurrency, that workflow will not be subject to any concurrency rules.
{% endnote %}
For example, when the following workflow runs, it will be paused with the status `pending` if any job or workflow that uses the `production` concurrency group is in progress. It will also cancel any job or workflow that uses the `production` concurrency group and has the status `pending`. This means that there will be a maximum of one running and one pending job or workflow in that uses the `production` concurrency group.
```yaml
name: Deployment
concurrency: production
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
```
You can also specify concurrency at the job level. This will allow other jobs in the workflow to proceed even if the concurrent job is `pending`.
```yaml
name: Deployment
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
concurrency: production
steps:
- name: deploy
# ...deployment-specific steps
```
You can also use `cancel-in-progress` to cancel any currently running job or workflow in the same concurrency group.
```yaml
name: Deployment
concurrency:
group: production
cancel-in-progress: true
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
```
## Viewing deployment history
When a {% data variables.product.prodname_actions %} workflow deploys to an environment, the environment is displayed on the main page of the repository. For more information about viewing deployments to environments, see "[Viewing deployment history](/developers/overview/viewing-deployment-history)."
## Monitoring workflow runs
Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug deployments. For more information see, "[Using the visualization graph](/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph)."
You can also view the logs of each workflow run and the history of workflow runs. For more information, see "[Viewing workflow run history](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)."
## Tracking deployments through apps
{% ifversion fpt %}
If your {% data variables.product.product_name %} personal account or organization is integrated with Microsoft Teams or Slack, you can track deployments that use environments through Microsoft Teams or Slack. For example, you can receive notifications through the app when a deployment is pending approval, when a deployment is approved, or when the deployment status changes. For more information about integrating Microsoft Teams or Slack, see "[GitHub extensions and integrations](/github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations#team-communication-tools)."
{% endif %}
You can also build an app that uses deployment and deployment status webhooks to track deployments. {% data reusables.actions.environment-deployment-event %} For more information, see "[Apps](/developers/apps)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment)."
{% ifversion fpt or ghes %}
## Choosing a runner
You can run your deployment workflow on {% data variables.product.product_name %}-hosted runners or on self-hosted runners. Traffic from {% data variables.product.product_name %}-hosted runners can come from a [wide range of network addresses](/rest/reference/meta#get-github-meta-information). If you are deploying to an internal environment and your company restricts external traffic into private networks, {% data variables.product.prodname_actions %} workflows running on {% data variables.product.product_name %}-hosted runners may not be communicate with your internal services or resources. To overcome this, you can host your own runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[About GitHub-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)."
{% endif %}
## Displaying a status badge
You can use a status badge to display the status of your deployment workflow. {% data reusables.repositories.actions-workflow-status-badge-intro %}
For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)."
## Next steps
This article demonstrated features of {% data variables.product.prodname_actions %} that you can add to your deployment workflows.
{% data reusables.actions.cd-templates-actions %}

View File

@@ -7,10 +7,13 @@ versions:
ghes: '*'
ghae: '*'
children:
- /about-continuous-deployment
- /deploying-with-github-actions
- /using-environments-for-deployment
- /viewing-deployment-history
- /deploying-to-amazon-elastic-container-service
- /deploying-to-azure-app-service
- /deploying-to-google-kubernetes-engine
- /installing-an-apple-certificate-on-macos-runners-for-xcode-development
- /environments
---

View File

@@ -1,9 +1,12 @@
---
title: Environments
intro: You can configure environments with protection rules and secrets. A workflow job can reference an environment to use the environment's protection rules and secrets.
title: Using environments for deployment
shortTitle: Use environments for deployment
intro: You can configure environments with protection rules and secrets. A workflow job that references an environment must follow any protection rules for the environment before running or accessing the environment's secrets.
product: '{% data reusables.gated-features.environments %}'
miniTocMaxHeadingLevel: 3
redirect_from:
- /actions/reference/environments
- /actions/deployment/environments
versions:
fpt: '*'
ghes: '>=3.1'
@@ -13,30 +16,34 @@ versions:
## About environments
Environments are used to describe a general deployment target like `production`, `staging`, or `development`. When a {% data variables.product.prodname_actions %} workflow deploys to an environment, the environment is displayed on the main page of the repository. For more information about viewing deployments to environments, see "[Viewing deployment history](/developers/overview/viewing-deployment-history)."
You can configure environments with protection rules and secrets. When a workflow job references an environment, the job won't start until all of the environment's protection rules pass. A job also cannot access secrets that are defined in an environment until all the environment protection rules pass.
{% ifversion fpt %}
Environment protection rules and environment secrets are only available on private repositories with {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %}
{% note %}
If you don't use {% data variables.product.prodname_ghe_cloud %} and convert a repository from public to private, any configured protection rules or environment secrets will be ignored, and you will not be able to configure any environments. If you convert your repository back to public, you will have access to any previously configured protection rules and environment secrets.
**Note:** If you don't use {% data variables.product.prodname_ghe_cloud %} and convert a repository from public to private, any configured protection rules or environment secrets will be ignored, and you will not be able to configure any environments. If you convert your repository back to public, you will have access to any previously configured protection rules and environment secrets. {% data reusables.enterprise.link-to-ghec-trial %}
{% endnote %}
{% endif %}
### Environment protection rules
## Environment protection rules
Environment protection rules require specific conditions to pass before a job referencing the environment can proceed. {% ifversion fpt or ghae-next or ghes > 3.1 %}You can use environment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches.{% else %}You can use environment protection rules to require a manual approval or delay a job.{% endif %}
#### Required reviewers
### Required reviewers
Use required reviewers to require a specific person or team to approve workflow jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.
For more information on reviewing jobs that reference an environment with required reviewers, see "[Reviewing deployments](/actions/managing-workflow-runs/reviewing-deployments)."
#### Wait timer
### Wait timer
Use a wait timer to delay a job for a specific amount of time after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).
{% ifversion fpt or ghae-next or ghes > 3.1 %}
#### Deployment branches
### Deployment branches
Use deployment branches to restrict which branches can deploy to the environment. Below are the options for deployment branches for an environment:
@@ -46,13 +53,13 @@ Use deployment branches to restrict which branches can deploy to the environment
For example, if you specify `releases/*` as a deployment branch rule, only branches whose name begins with `releases/` can deploy to the environment. (Wildcard characters will not match `/`. To match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.) If you add `main` as a deployment branch rule, a branch named `main` can also deploy to the environment. For more information about syntax options for deployment branches, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).
{% endif %}
### Environment secrets
## Environment secrets
Secrets stored in an environment are only available to workflow jobs that reference the environment. If the environment requires approval, a job cannot access environment secrets until one of the required reviewers approves it. For more information about secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
{% note %}
**Note:** Workflows that run on self-hosted runners are not run in an isolated container, even if they use environments. Environment secrets should be treated with the same level as security as repository and organization secrets. For more information, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#hardening-for-self-hosted-runners)."
**Note:** Workflows that run on self-hosted runners are not run in an isolated container, even if they use environments. Environment secrets should be treated with the same level of security as repository and organization secrets. For more information, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#hardening-for-self-hosted-runners)."
{% endnote %}
@@ -63,25 +70,36 @@ Secrets stored in an environment are only available to workflow jobs that refere
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.sidebar-settings %}
{% data reusables.github-actions.sidebar-environment %}
1. Click **New environment**.
1. Enter a name for the environment, then click **Configure environment**. Environment names are not case sensitive. An environment name may not exceed 255 characters and must be unique within the repository.
1. Configure any environment protection rules or environment secrets.
{% data reusables.github-actions.new-environment %}
{% data reusables.github-actions.name-environment %}
1. Optionally, specify people or teams that must approve workflow jobs that use this environment.
1. Select **Required reviewers**.
1. Enter up to 6 people or teams. Only one of the required reviewers needs to approve the job for it to proceed.
1. Click **Save protection rules**.
2. Optionally, specify the amount of time to wait before allowing workflow jobs that use this environment to proceed.
1. Select **Wait timer**.
1. Enter the number of minutes to wait.
1. Click **Save protection rules**.
3. Optionally, specify what branches can deploy to this environment. For more information about the possible values, see "[Deployment branches](#deployment-branches)."
1. Select the desired option in the **Deployment branches** dropdown.
1. If you chose **Selected branches**, enter the branch name patterns that you want to allow.
4. Optionally, add environment secrets. These secrets are only available to workflow jobs that use the environment. Additionally, workflow jobs that use this environment can only access these secrets after any configured rules (for example, required reviewers) pass. For more information about secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
1. Under **Environment secrets**, click **Add Secret**.
1. Enter the secret name.
1. Enter the secret value.
1. Click **Add secret**.
{% ifversion fpt or ghae-next or ghes > 3.1 %}You can also create and configure environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)" and "[Secrets](/rest/reference/actions#secrets)."{% endif %}
Running a workflow that references an environment that does not exist will create an environment with the referenced name. The newly created environment will not have any protection rules or secrets configured. Anyone that can edit workflows in the repository can create environments via a workflow file, but only repository admins can configure the environment.
## Referencing an environment
## Using an environment
Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. When the job is sent to the runner, the job can access the environment's secrets.
For more information on syntax to reference environments in workflows, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idenvironment)." For more information on reviewing jobs that reference an environment with required reviewers, see "[Reviewing deployments](/actions/managing-workflow-runs/reviewing-deployments)."
Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. The job can access the environment's secrets only after the job is sent to a runner.
When a workflow references an environment, the environment will appear in the repository's deployments. For more information about viewing current and previous deployments, see "[Viewing deployment history](/developers/overview/viewing-deployment-history)."
{% ifversion fpt or ghae-next or ghes > 3.1 %}
## Using concurrency to serialize deployments in an environment
You can use concurrency so that an environment has a maximum of one deployment in progress and one deployment pending at a time. For more information, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#concurrency)."{% endif %}
{% data reusables.actions.environment-example %}
## Deleting an environment
@@ -96,3 +114,13 @@ Deleting an environment will delete all secrets and protection rules associated
2. Click **I understand, delete this environment**.
{% ifversion fpt or ghae-next or ghes > 3.1 %}You can also delete environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)."{% endif %}
## How environments relate to deployments
{% data reusables.actions.environment-deployment-event %}
You can access these objects through the REST API or GraphQL API. You can also subscribe to these webhook events. For more information, see "[Repositories](/rest/reference/repos#deployments)" (REST API), "[Objects](/graphql/reference/objects#deployment)" (GraphQL API), or "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment)."
## Next steps
{% data variables.product.prodname_actions %} provides several features for managing your deployments. For more information, see "[Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions)."

View File

@@ -8,17 +8,19 @@ versions:
topics:
- API
shortTitle: View deployment history
redirect_from:
- /developers/overview/viewing-deployment-history
---
You can deliver deployments through {% ifversion fpt or ghes > 3.0 %}{% data variables.product.prodname_actions %} and environments or with {% endif %}the REST API and third party apps. {% ifversion fpt or ghes > 3.0 %}For more information about {% data variables.product.prodname_actions %}, see "[{% data variables.product.prodname_actions %}](/actions)." {% endif %}For more information about deployments with the REST API, see "[Repositories](/rest/reference/repos#deployments)."
You can deliver deployments through {% ifversion fpt or ghae or ghes > 3.0 %}{% data variables.product.prodname_actions %} and environments or with {% endif %}the REST API and third party apps. {% ifversion fpt or ghae ghes > 3.0 %}For more information about using environments to deploy with {% data variables.product.prodname_actions %}, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." {% endif %}For more information about deployments with the REST API, see "[Repositories](/rest/reference/repos#deployments)."
To view current and past deployments, click **Environments** on the home page of your repository.
{% ifversion ghae or ghes < 3.0 %}
![Environments](/assets/images/enterprise/2.22/environments-sidebar.png){% else %}
![Environments](/assets/images/environments-sidebar.png){% endif %}
The deployments page displays the last active deployment of each environment for your repository. If the deployment includes an environment URL, a "View deployment" button that links to the URL is shown next to the deployment.
The deployments page displays the last active deployment of each environment for your repository. If the deployment includes an environment URL, a **View deployment** button that links to the URL is shown next to the deployment.
The activity log shows the deployment history for your environments. By default, only the most recent deployment for an environment has an `Active` status; all previously active deployments have an `Inactive` status. For more information on automatic inactivation of deployments, see "[Inactive deployments](/rest/reference/repos#inactive-deployments)."

View File

@@ -9,6 +9,7 @@ featuredLinks:
guides:
- /actions/learn-github-actions
- /actions/guides/about-continuous-integration
- /actions/deployment/deploying-with-github-actions
- /actions/guides/about-packaging-with-github-actions
- /actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting
guideCards:

View File

@@ -23,7 +23,7 @@ topics:
## Creating a workflow template
Workflow templates can be created by users with write access to the organization's `.github` repository. The templates can then be used by organization members who have permission to create workflows.
Workflow templates can be created by users with write access to the organization's `.github` repository. The templates can then be used by organization members who have permission to create workflows. You can share workflow templates if your organization's repository is public or if the repository is private and on an Enterprise plan.
{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 %}
{% note %}

View File

@@ -175,7 +175,7 @@ To learn more about {% data variables.product.prodname_dotcom %}-hosted runner l
## Using environments
You can configure environments with protection rules and secrets. Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)."
You can configure environments with protection rules and secrets. Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. For more information, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)."
{% endif %}
## Using a workflow template

View File

@@ -1,7 +1,7 @@
---
title: Using workflow templates
shortTitle: Using templates
intro: You can set up CI using a workflow template that matches the language and tooling you want to use.
intro: '{% data variables.product.product_name %} provides workflow templates for a variety of languages and tooling.'
product: '{% data reusables.gated-features.actions %}'
redirect_from:
- /articles/setting-up-continuous-integration-using-github-actions
@@ -17,39 +17,37 @@ type: tutorial
topics:
- Workflows
- CI
- CD
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
Anyone with write permission to a repository can set up continuous integration (CI) using {% data variables.product.prodname_actions %}.
## About workflow templates
You can use workflow templates to create new workflows in an organization's public repository. To use templates to create workflows in private repositories, the organization must be part of an enterprise plan.
{% data variables.product.product_name %} offers workflow templates for a variety of languages and tooling. When you set up workflows in your repository, {% data variables.product.product_name %} analyzes the code in your repository and recommends workflows based on the language and framework in your repository. For example, if you use [Node.js](https://nodejs.org/en/), {% data variables.product.product_name %} will suggest a template file that installs your Node.js packages and runs your tests.
After you set up CI, you can customize the workflow to meet your needs.
You can also create your own workflow templates to share with your organization. For more information, see "[Creating workflow templates](/actions/learn-github-actions/creating-workflow-templates)."
## Using workflow templates
Anyone with write permission to a repository can set up {% data variables.product.prodname_actions %} workflows for CI/CD or other automation.
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.actions-tab %}
1. If your repository already has existing workflows: In the upper-left corner, click **New workflow**.
![Create a new workflow](/assets/images/help/repository/actions-new-workflow.png)
2. Find the template that matches the language and tooling you want to use, then click **Set up this workflow**.
![Setup workflow button](/assets/images/help/repository/setup-workflow-button.png)
1. If you already have a workflow in your repository, click **New workflow**.
1. Find the template that you want to use, then click **Set up this workflow**.
1. If the workflow template contains comments detailing additional setup steps, follow these steps.
1. Some workflow templates use secrets. For example, {% raw %}`${{ secrets.npm_token }}`{% endraw %}. If the workflow template uses a secret, store the value described in the secret name as a secret in your repository. For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
1. Optionally, make additional changes. For example, you might want to change the value of `on` to change when the workflow runs.
1. Click **Start commit**.
![Start commit button](/assets/images/help/repository/start-commit.png)
{% data reusables.files.write_commit_message %}
{% data reusables.files.choose_commit_branch %}
{% data reusables.files.propose_new_file %}
Once a push is made to your repository, you can follow the status and detailed logs of your continuous integration workflow run on {% data variables.product.prodname_dotcom %} and receive customized notifications. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)" and "[Managing a workflow run](/articles/managing-a-workflow-run)."
{% data reusables.repositories.actions-workflow-status-badge-intro %}
For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)."
1. Write a commit message and decide whether to commit directly to the default branch or to open a pull request.
## Further reading
- "[About continuous integration](/articles/about-continuous-integration)"
- "[Managing a workflow run](/articles/managing-a-workflow-run)"
- "[Managing workflow runs](/actions/managing-workflow-runs)"
- "[About monitoring and troubleshooting](/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting)"
- "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)"
{% ifversion fpt %}
- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)"

View File

@@ -353,8 +353,6 @@ defaults:
{% ifversion fpt or ghae-next or ghes > 3.1 %}
## `concurrency`
{% data reusables.actions.concurrency-beta %}
Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. A concurrency group can be any string or expression. The expression can only use the [`github` context](/actions/learn-github-actions/contexts#github-context). For more information about expressions, see "[Expressions](/actions/learn-github-actions/expressions)."
You can also specify `concurrency` at the job level. For more information, see [`jobs.<job_id>.concurrency`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idconcurrency).
@@ -509,7 +507,7 @@ jobs:
{% ifversion fpt or ghes > 3.0 or ghae %}
## `jobs.<job_id>.environment`
The environment that the job references. All environment protection rules must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)."
The environment that the job references. All environment protection rules must pass before a job referencing the environment is sent to a runner. For more information, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)."
You can provide the environment as only the environment `name`, or as an environment object with the `name` and `url`. The URL maps to `environment_url` in the deployments API. For more information about the deployments API, see "[Deployments](/rest/reference/repos#deployments)."
@@ -544,8 +542,6 @@ environment:
{% ifversion fpt or ghae-next or ghes > 3.1 %}
## `jobs.<job_id>.concurrency`
{% data reusables.actions.concurrency-beta %}
{% note %}
**Note:** When concurrency is specified at the job level, order is not guaranteed for jobs or runs that queue within 5 minutes of each other.

View File

@@ -19,6 +19,7 @@ children:
- /approving-workflow-runs-from-public-forks
- /reviewing-deployments
- /disabling-and-enabling-a-workflow
- /skipping-workflow-runs
- /deleting-a-workflow-run
- /downloading-workflow-artifacts
- /removing-workflow-artifacts

View File

@@ -13,7 +13,7 @@ versions:
Jobs that reference an environment configured with required reviewers will wait for an approval before starting. While a job is awaiting approval, it has a status of "Waiting". If a job is not approved within 30 days, the workflow run will be automatically canceled.
For more information about environments and required approvals, see "[Environments](/actions/reference/environments)."{% ifversion fpt or ghae-next or ghes > 3.1 %} For information about how to review deployments with the REST API, see "[Workflow Runs](/rest/reference/actions#workflow-runs)."{% endif %}
For more information about environments and required approvals, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)."{% ifversion fpt or ghae-next or ghes > 3.1 %} For information about how to review deployments with the REST API, see "[Workflow Runs](/rest/reference/actions#workflow-runs)."{% endif %}
## Approving or rejecting a job

View File

@@ -0,0 +1,33 @@
---
title: Skipping workflow runs
intro: 'You can skip workflow runs triggered by the `push` and `pull_request` events by including a command in your commit message.'
product: '{% data reusables.gated-features.actions %}'
versions:
fpt: '*'
ghes: '>=3.0'
ghae: 'ghae-next'
shortTitle: Skip workflow runs
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
Workflows that would otherwise be triggered using `on: push` or `on: pull_request` won't be triggered if you add any of the following strings to the commit message in a push, or the HEAD commit of a pull request:
* `[skip ci]`
* `[ci skip]`
* `[no ci]`
* `[skip actions]`
* `[actions skip]`
Alternatively, you can end the commit message with two empty lines followed by either `skip-checks: true` or `skip-checks:true`.
You won't be able to merge the pull request if your repository is configured to require specific checks to pass first. To allow the pull request to be merged you can push a new commit to the pull request without the skip instruction in the commit message.
{% note %}
**Note:** Skip instructions only apply to the `push` and `pull_request` events. For example, adding `[skip ci]` to a commit message won't stop a workflow that's triggered `on: pull_request_target` from running.
{% endnote %}
Skip instructions only apply to the workflow run(s) that would be triggered by the commit that contains the skip instructions. You can also disable a workflow from running. For more information, see "[Disabling and enabling a workflow](/actions/managing-workflow-runs/disabling-and-enabling-a-workflow)."

View File

@@ -17,6 +17,7 @@ children:
- /viewing-job-execution-time
- /using-workflow-run-logs
- /enabling-debug-logging
- /notifications-for-workflow-runs
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}

View File

@@ -0,0 +1,15 @@
---
title: Notifications for workflow runs
intro: 'You can subscribe to notifications about workflow runs that you trigger.'
product: '{% data reusables.gated-features.actions %}'
versions:
fpt: '*'
ghes: '*'
ghae: '*'
shortTitle: Notifications
---
{% data reusables.actions.enterprise-beta %}
{% data reusables.actions.enterprise-github-hosted-runners %}
{% data reusables.repositories.workflow-notifications %}

View File

@@ -47,7 +47,7 @@ To help prevent accidental disclosure, {% data variables.product.product_name %}
- Rotate secrets periodically to reduce the window of time during which a compromised secret is valid.
{% ifversion fpt or ghes > 3.0 or ghae %}
- **Consider requiring review for access to secrets**
- You can use required reviewers to protect environment secrets. A workflow job cannot access environment secrets until approval is granted by a reviewer. For more information about storing secrets in environments or requiring reviews for environments, see "[Encrypted secrets](/actions/reference/encrypted-secrets)" and "[Environments](/actions/reference/environments)."
- You can use required reviewers to protect environment secrets. A workflow job cannot access environment secrets until approval is granted by a reviewer. For more information about storing secrets in environments or requiring reviews for environments, see "[Encrypted secrets](/actions/reference/encrypted-secrets)" and "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)."
{% endif %}
## Using `CODEOWNERS` to monitor changes

View File

@@ -8,7 +8,6 @@ versions:
children:
- /about-githubs-apis
- /managing-deploy-keys
- /viewing-deployment-history
- /using-ssh-agent-forwarding
- /secret-scanning-partner-program
- /replacing-github-services

View File

@@ -58,10 +58,11 @@ For some example queries, see "[An example query using the Enterprise Accounts A
- `admin:enterprise`
The enterprise account specific scopes are:
- `admin:enterprise`: Gives full control of enterprises (includes `manage_billing:enterprise` and `read:enterprise`)
- `manage_billing:enterprise`: Read and write enterprise billing data.
- `admin:enterprise`: Gives full control of enterprises (includes {% ifversion ghes < 3.3 %}`manage_runners:enteprise`, {% endif %}`manage_billing:enterprise` and `read:enterprise`)
- `manage_billing:enterprise`: Read and write enterprise billing data.{% ifversion ghes < 3.3 %}
- `manage_runners:enteprise`: Access to manage GitHub Actions enterprise runners and runner-groups.{% endif %}
- `read:enterprise`: Read enterprise profile data.
4. Copy your personal access token and keep it in a secure place until you add it to your GraphQL client.
### 2. Choose a GraphQL client

View File

@@ -22,6 +22,12 @@ All {% data variables.product.prodname_pages %} sites, including sites that are
{% data reusables.pages.private_pages_are_public_warning %}
{% note %}
**Note:** RFC3280 states that the maximum length of the common name should be 64 characters. Therefore, the entire domain name of your {% data variables.product.prodname_pages %} site must be less than 64 characters long for a certificate to be successfully created.
{% endnote %}
## Enforcing HTTPS for your {% data variables.product.prodname_pages %} site
{% data reusables.pages.navigate-site-repo %}

View File

@@ -45,18 +45,19 @@ Lisa, M., & Bot, H. (2017). My Research Software (Version 2.0.4) [Computer softw
{% raw %}
```
@misc{Lisa_My_Research_Software_2017,
@software{Lisa_My_Research_Software_2017,
author = {Lisa, Mona and Bot, Hew},
doi = {10.5281/zenodo.1234},
month = {12},
title = {{My Research Software}},
url = {https://github.com/github/linguist},
version = {2.0.4},
year = {2017}
}
```
{% endraw %}
Note the example above produces a _software_ citation (i.e., `@misc` type in BibTeX rather than `@article`).
Note the example above produces a _software_ citation (i.e., `@software` type in BibTeX rather than `@article`).
For more information, see the [Citation File Format](https://citation-file-format.github.io/) website.
@@ -66,9 +67,15 @@ When you add a `CITATION.cff` file to the default branch of your repository, it
## Citing something other than software
If you would prefer the GitHub citation information to link to another resource such as a research paper then you can use the `preferred-citation` override in CFF.
If you would prefer the {% data variables.product.prodname_dotcom %} citation information to link to another resource such as a research article, then you can use the `preferred-citation` override in CFF with the following types.
Extended CITATION.cff file describing the software, but linking to a research paper as the preferred citation:
Resource | Type
--------- | -----
Research article | `article`
Conference paper | `conference-paper`
Book | `book`
Extended CITATION.cff file describing the software, but linking to a research article as the preferred citation:
```
cff-version: 1.2.0
@@ -131,6 +138,10 @@ Lisa, M., & Bot, H. (2021). My awesome research software. Journal Title, 1(1), 1
```
{% endraw %}
## Citing a dataset
If your repository contains a dataset, you can set `type: dataset` in your `CITATION.cff` file to produce a data citation string output in the {% data variables.product.prodname_dotcom %} citation prompt.
## Other citation files
The GitHub citation feature will also detect a small number of additional files that are often used by communities and projects to describe how they would like their work to be cited.

View File

@@ -193,6 +193,8 @@ You can now provide more information in GitHub for URLs that link to registered
**Custom media types:** `corsair-preview`
**Announced:** [2018-12-10](https://developer.github.com/changes/2018-12-10-content-attachments-api/)
{% ifversion ghes < 3.3 %}
## Enable and disable Pages
You can use the new endpoints in the [Pages API](/rest/reference/repos#pages) to enable or disable Pages. To learn more about Pages, see "[GitHub Pages Basics](/categories/github-pages-basics)".
@@ -200,6 +202,8 @@ You can use the new endpoints in the [Pages API](/rest/reference/repos#pages) to
**Custom media types:** `switcheroo-preview`
**Announced:** [2019-03-14](https://developer.github.com/changes/2019-03-14-enabling-disabling-pages/)
{% endif %}
{% ifversion ghes < 3.3 %}
## List branches or pull requests for a commit

View File

@@ -178,7 +178,7 @@ You can communicate that a transient environment no longer exists by setting its
{% ifversion fpt or ghes > 3.1 or ghae-next %}
## Environments
The Environments API allows you to create, configure, and delete environments. For more information about environments, see "[Environments](/actions/reference/environments)." To manage environment secrets, see "[Secrets](/rest/reference/actions#secrets)."
The Environments API allows you to create, configure, and delete environments. For more information about environments, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." To manage environment secrets, see "[Secrets](/rest/reference/actions#secrets)."
{% for operation in currentRestOperations %}
{% if operation.subcategory == 'environments' %}{% include rest_operation %}{% endif %}

View File

@@ -0,0 +1 @@
Environments are used to describe a general deployment target like `production`, `staging`, or `development`. When a {% data variables.product.prodname_actions %} workflow deploys to an environment, the environment is displayed on the main page of the repository. You can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets. For more information about creating environments, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)."

View File

@@ -0,0 +1,3 @@
{% data variables.product.product_name %} offers CD workflow templates for several popular services, such as Azure Web App. To learn how to get started using a workflow template, see "[Using workflow templates](/actions/learn-github-actions/using-workflow-templates)" or [browse the full list of deployment workflow templates](https://github.com/actions/starter-workflows/tree/main/deployments). You can also check out our more detailed guides for specific deployment workflows, such as "[Deploying to Azure App Service](/actions/deployment/deploying-to-azure-app-service)."
Many service providers also offer actions on {% data variables.product.prodname_marketplace %} for deploying to their service. For the full list, see [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?category=deployment&type=actions).

View File

@@ -1,5 +0,0 @@
{% note %}
**Note:** Concurrency is currently in beta and subject to change.
{% endnote %}

View File

@@ -0,0 +1 @@
If you configured a deployment environment, change the value of `environment` to be the name of your environment. If you did not configure an environment{% ifversion fpt %} or if your workflow is in a private repository and you do not use {% data variables.product.prodname_ghe_cloud %}{% endif %}, delete the `environment` key.

View File

@@ -0,0 +1 @@
When a workflow job that references an environment runs, it creates a deployment object with the `environment` property set to the name of your environment. As the workflow progresses, it also creates deployment status objects with the `environment` property set to the name of your environment, the `environment_url` property set to the URL for environment (if specified in the workflow), and the `state` property set to the status of the job.

View File

@@ -0,0 +1,45 @@
You can specify an environment for each job in your workflow. To do so, add a `jobs.<job_id>.environment` key followed by the name of the environment.
For example, this workflow will use an environment called `production`.
```yaml
name: Deployment
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
```
When the above workflow runs, the `deployment` job will be subject to any rules configured for the `production` environment. For example, if the environment requires reviewers, the job will pause until one of the reviewers approves the job.
You can also specify a URL for the environment. The specified URL will appear on the deployments page for the repository (accessed by clicking **Environments** on the home page of your repository) and in the visualization graph for the workflow run. If a pull request triggered the workflow, the URL is also displayed as a **View deployment** button in the pull request timeline.
```yaml
name: Deployment
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment:
name: production
url: https://github.com
steps:
- name: deploy
# ...deployment-specific steps
```
![Workflow graph with URL](/assets/images/help/images/deploy-graph.png)

View File

@@ -0,0 +1 @@
1. Enter a name for the environment, then click **Configure environment**. Environment names are not case sensitive. An environment name may not exceed 255 characters and must be unique within the repository.

View File

@@ -0,0 +1 @@
1. Click **New environment**.

View File

@@ -1,4 +1,4 @@
If you enable email or web notifications for {% data variables.product.prodname_actions %}, you'll receive a notification when any workflow runs that you've triggered have completed. The notification will include the workflow run's status (including successful, failed, neutral, and canceled runs). You can also choose to receive a notification only when a workflow run has failed.
If you enable email or web notifications for {% data variables.product.prodname_actions %}, you'll receive a notification when any workflow runs that you've triggered have completed. The notification will include the workflow run's status (including successful, failed, neutral, and canceled runs). You can also choose to receive a notification only when a workflow run has failed. For more information about enabling or disabling notifications, see "[About notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)."
Notifications for scheduled workflows are sent to the user who initially created the workflow. If a different user updates the cron syntax in the workflow file, subsequent notifications will be sent to that user instead.{% ifversion fpt or ghes > 2.22 %} If a scheduled workflow is disabled and then re-enabled, notifications will be sent to the user who re-enabled the workflow rather than the user who last modified the cron syntax.{% endif %}

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7fddf4c7faf6c930bf0e378a1ffcc9bfef95449c1d863b7143091bf1c960cd41
size 525387
oid sha256:91208e024867af555a4eb969e81cf9889343d67acd59cb2a0a8b2ea08dde1e96
size 525424

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6cdba924672d13a96e72c94d0b655f2da4f5db0d43a0ea2fa1405f6b42ccc19a
size 868817
oid sha256:7ce2293187a52af182b945594cf7f2f48aaa51778471f8ed2a588a83635531c1
size 868920

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f8031aa7987254c33af030664ead0eb1c3e50fc6fcff27a5ca4f292ba67cbb50
size 479354
oid sha256:06ed8e30eb4a54c4479fe734e57a75733110c745d00cd0b40232c844394faa7e
size 479313

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b99f605bc49ee1b3a25628af635843f16e7977a73e52390bc313acd016c7bde5
size 2127018
oid sha256:3126d7488e44088e750c52161d5df39fbd0c71507e43e92353923a24888a3f9b
size 2127575

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1af5ed92b5d28760746f716ae1cb30744cc31fa11e4fbac972165224d7569c00
size 433209
oid sha256:40ad457c0e26d6f502ed9a1da6ba3b87e05d385fcf97021449288ee03f1deb28
size 434178

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0f74a2f4c99b8b8c12d08e13664063fb5127ed5eafee4172d24339a4420e4ea4
size 1691908
oid sha256:5d6d2162d830350c05d6340974d7fef66be30e400d3fea26529ee286638b0091
size 1695964

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:684ae2ed9ff94f290a37483b01392248ecad74c82a2cdb0a3d310248a81b003e
size 194966
oid sha256:28303ab0f742ac14a10721f94cb36ff7011a15866b2a1a9503a751b2d2a03de8
size 195098

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8da6555baf4dc636f2a10b47c5b9cee0af00ea34f065c7e2927eb761d6e65390
size 702561
oid sha256:e93fdd51712c6ab062dde5062279a702eca3511e529897be1b013d5796b96533
size 702748

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ac5b16a4f0e00a22ceafc689084228c5e9256bdd2e7899158b6d029691ee2ec2
size 545312
oid sha256:63155775a74ca5f1add9b970b00633b43cd6f840b858fe5eb6ea0a0602137d71
size 545125

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a9ca00d6233c9a57d6c626adb98a3ab56acd7a603dadb9b07dd9d56dfe912ca
size 2880736
oid sha256:2239e3d2a38f472fec2c004ef2cf6efc7d2fb9536ccdb8d868b15ee7e252212d
size 2881233

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eeaa533b175af0ed77e04bc809e267e2d9691cc71db070d76daa65713db4ace0
size 456916
oid sha256:7eecfa7dd53c92d6c11fbd73146e09a4053ca429ec346718f19c0343f226e86d
size 456762

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e564855f3a9cb64eac81e2e824ee4567ccebf8c0ad3c23a063af553cf2cd202a
size 1906016
oid sha256:c275566abd5fbd592dfaec5652e5b5fab5f683d533906d1b9e1cd4efd5a12b59
size 1906421

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2bf514c59e3928c9c156a7297961ac0f9e40196c133f0f6f42b9124a54571a97
size 544827
oid sha256:87cf77f4d982ecdc6b3098aacf4fd41dfcf391fc85d382b8fd407bf88a39abb7
size 544936

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:870a970a2d7faa1bebf71d76ef894bfbb30f7d1d9b9aeb724fecb0ffa2ddfe6f
size 906924
oid sha256:3c06af4f6b6693cd191502296cc772d7918e7613fd749c76805462fe61f778af
size 906699

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2538fd004ef1f5cfd3c68865cc225200ec4650fce02d758345f9f491aa99fee5
size 499761
oid sha256:3d68db0ba698cf3c75466d033503e9851a5f4c65ac5ccd803489afc671449a94
size 499785

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49c06c5d0f26bb42d2797c56fb4dcbfdad8b3856760452eb9fbb7fe37e14d167
size 2232343
oid sha256:352ea704f354e70f67d6685f890bd23a45e557277d6d57997a312264d0b8a049
size 2232857

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56eee7ffb97d071f93035c1e14e52107831f3b45af4ed351c941ed1796b0624e
size 453365
oid sha256:2f821af9fde706deb6593aff4feca97681d15f25c41f6a92322e5cacc7effe39
size 454394

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d8f2b68341c3ae80dbfbfe40d910816bbb99f141239672bbd70f035d9a5a60f
size 1766262
oid sha256:d6665bcaefb7c0fded7bc23d80d23430788068f3c63822d2f257ab65f11b79c0
size 1770932

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7e7f2780c8fe7c1aab0ed263ab293ce6d954bd417cb0ba3cc1f79698d8748bba
size 193801
oid sha256:26bebda784fda100b9ce81b81c69ba6f41001477bccce87b9d97b6648f364ae8
size 193608

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b810b4df4eee3953399f92c37951736bdc71eea7463222a321b3db333b31252b
size 694352
oid sha256:96351ceb3ca6ee3874cc92c036e4a185b4efd95bef0e5379ff1bcf0aa7e6d459
size 694366

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:53e7f463b04033d32c3996b0212503d4b199da02c3d14499b3472e1f080b2398
size 567804
oid sha256:8a3b4ecafeadc17e3676ae2fab88446b8f75bfc798f78d9cf7ce511749e7cec8
size 567820

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49a2a706283a54b8f878a9edde25b3be6504d32447b32558994a6db17ac320dc
size 3007018
oid sha256:8306224b0db95075977f8254a9d0e7cb6e91b3460ab67abf9c813d769c4eb880
size 3007064

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d081c90eb2aaaff60ebc80549e72734df6b03f03baa8b53d0a62255be77e56d7
size 477490
oid sha256:16b1e99e76dd3d35641a57f9a32e4e4c92d78e41a9d9eef85e76ed8b07091122
size 477573

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b12f9dd29b19b36445a09b1b82727c09d98c315c7ba89e3cd83a021314062d2
size 1994090
oid sha256:d37e5ca7e5b618bd3bce01f3f0f6bad0281bf8b93a2b9398f6e38e311bff9c74
size 1993274

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ad305dc09e9a22d000b29a82e3f8fb9946d1ae5e74049de10dccf3b9e929f94
size 557425
oid sha256:dbce82399f9e304b3cc072e436123629fde328531c49fd425b6cd52198e07b36
size 557376

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e17dfd64c1d3e9de9fffc1f478ec4c7664799b03ec7405a6eec3cb212a6f573
size 929718
oid sha256:07cd5cd737e4d97dc876e00fb4145ebc4f5dd921f86e0639c673fda4f3cc526f
size 929239

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce036cc17ecb858f5256716d97332d6048f7b4c61250ffa5d061bd6b3bb1e9d8
size 508542
oid sha256:5d7a3274a1467dbd095b6f3d1ad0a695c8deb5c4e510bff36c6b1ccc8f8bc552
size 508562

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ce66bf59df88391d0438292bc4fc0a01581f77de1e1696df20d2de53401e373
size 2284813
oid sha256:e9a5777f9de796588d8027d728fc41b6d010b1a3e4a7206d4375fbdbd64d1194
size 2285095

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c750dddeba3fa6917a5fb899b98a0abfe15ab92e8740dafdae885c999756775e
size 461953
oid sha256:b2f218d06aae678e87b5b86b57b9fe8d209a1d893f49f607d35427ae8ee028f9
size 464086

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3293fa50b36d8c39712d1f315282099702cdceddd51daf619c97a59c016a6583
size 1804852
oid sha256:b1dcd2ec5a3202d09ed741b36ad525b28a0715b89915fcb9001940ecfc51b0fc
size 1813064

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5f649f668c7a78318efdf0af749846e2cd8dbda4bffaeb86a32ced1b1a42b682
size 193642
oid sha256:2a4ae7b71b73cb2a0a6d78c153550aa88b053d0aa7d45630830a3b875c815cd3
size 193643

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6384445ec50d97e6536e86ec01f3e981daa0256d0bf4cba56fb42e7d18631773
size 694106
oid sha256:62c43bfe1ffd644bcd4badf0449aee736b75ddcdd44797b5ace1dedb864969dd
size 694297

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fdc13a433adfde9df018da3d98ac4a273499d50226ba3a3ae81bbfcef28542f5
size 579765
oid sha256:5937bc3cc8325c6653abd921a4372ea1791b1e4201d2ddc7651105f3952df428
size 579871

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:58ee435f8493df69e0db01590a338af6dcc046c1129f609a754c3d45fa2be3e4
size 3073608
oid sha256:573945e3902fb977b439b0815e41337a65a08f24781a3c6869ddbdd91332b34f
size 3074252

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7e258eaf818c974da57c5d348359e5e20e222bda61be8d0fa945ebcbacaa8fb4
size 487223
oid sha256:b3d56a097257ad0a5053d1df396e94e5f108f99ee321a300dd8ad6c8a88531db
size 487143

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f018d3a08a09c4e708c94477cad1e50e0a6424ae5773b9f4e0b9ae5f0b40af7b
size 2036343
oid sha256:10165275524de967426912c1168d1a5ee24937bf00f08c2b893163e83dabac50
size 2037088

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f639e18af0f10e4d3e3fd3a75e0e865cb0bcca1b30acaa3a92adc2d9da8bcef1
size 567991
oid sha256:917997928a1a9ad79fb088af7f386c87ba5fe897a95e7b1a3c501a801aa4e205
size 567854

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c51adeb90f772f779ee9d07c0c264faadd64f3410f1d4dc4e035db558fedfe2
size 948883
oid sha256:02cdd4dec93e5b6cea5bb8916114dc76c4c11e3eee784ea9d3e1ac1d267270fc
size 949299

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:55ced6f594891748c1f9b12d300b9c25a36a08bcb93124fb4528423c8e4d7436
size 517640
oid sha256:7204feba67427f060228892734c3d5f72e15330ba302e4e75acebd07624020f4
size 517642

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e98505a08a7aa99326182d580fd8e74505c550a825ba6751594f6c5886d8f635
size 2332458
oid sha256:819d728984ce724fc83ec6b3eea4eb54bbba12760f68dd726ed3df29134d140c
size 2333118

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:752e411b9781f6ed04421e84bbf5e7ea7b59484317056cac327f4a3c70cb6de1
size 470578
oid sha256:938a3b6cdf940d998c7967033e0da779518404aaa7a5cb21b1d27e7636d3b052
size 472921

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b580446492439c10830e82df784b9ae51ebd99d0e9dfc84c4e2e6bd35091179e
size 1837601
oid sha256:08abb8df2fdb7342368a6eaa044c5c2eb751533b78ab84381e7e1e70141bbb48
size 1845491

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8b1e5f442286f359edae735cb5aa734715092f91c0bf9b5f451966e8a86cc9d
size 193623
oid sha256:6441754ce97f1c2cc7cdc56c46576790ba771a542844cfbccde12c04ddf29daf
size 193563

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dcee8f4de2c5c68ec0398ab42b56fa260dd221b74b2d8af1479867483fd04866
size 694265
oid sha256:90ca8025913ba8310255195a5830ae51bc8221a2e7c4fc6417b0fe862c48777b
size 694371

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:21e91105029496724f2f82ba2000ba65eaa5329bed583b4e7f2c11d39f497942
size 590355
oid sha256:dbcf387680785da76cfe0d1c88a114dfbe82592e057d61a1dad3cc0c8e047de5
size 590531

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6e61b40d7c866e660e30b09ec1a575f9f1388b211c75c2968e418890aacc9ca6
size 3139802
oid sha256:0328aae7ed17d573e7056d71c83f1ad93e63c3cefff50f5490b010be29fa3a65
size 3141216

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09f632ae8796b8f5c1845c89d319935a188a1641f1ab65cb05a0e9f91c6c6c2e
size 496563
oid sha256:35ea12734eb072c8fc455594bf9e6ab158c89932520efb720741a08d2cf7849c
size 496648

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d67d4d22c177a7b0ba24ffe243b9d62773710ac68fdf65235eef18435504438
size 2078064
oid sha256:06411283bc246062b3f5fdd0983e004197c3cd4de7ef6159d4b0af7bb5ebbe5c
size 2078555

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:41b1cc4a802ea385979c392523bf971cc7c3ec938b1e9204caafe571c158dcbc
size 770867
oid sha256:fc12d04bc7e405999033e7c0aad4a619eaec6a6a6f2ee4dbbab4324ce05cb1b5
size 770878

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a794aad29a10a55d1808133f201af9a84120baab06aa5ca6528b561ec0e02191
size 1171975
oid sha256:89e2cfd98427c83deff17d953ecccc51680258c4cf58eb7be4bf65ebc7135786
size 1171829

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8b7204fc53e0fb66bfa17ec8146182d5e9a101f0ce7f79bd69097184a1a2d81d
size 690488
oid sha256:a0317da926ab47cee5f387062ea307ce44587280b26ce489c96a29a88bd35aac
size 691015

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cdc586417bb82419c73bb97e06f053dc67c3b1a6545b85a65d4927c54f13f222
size 3124134
oid sha256:aadf161948579c1b667aedafb29fe9c7865491c8afa00c466d4f865722d4064b
size 3126159

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:323cdec00093da4bdae83801ff99b25c14675130a5c39775e13b3e24a360fb19
size 636380
oid sha256:8d6d41b22d89aae6e1227495276b989104900af4e5c3831b5326facefaf884f5
size 638540

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f65f5e0c97318bbcbb572029d65958af88acbc6fe91a3be1eeb43bd1fd5f549a
size 2419325
oid sha256:cb976659507f1e9b55940a590f1097d792cf399b64c8366f4de9d7a880e03f7b
size 2426632

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad355cc33f19caa65db451708b90aa3ff71fc0166360a9c38a53e414977ae625
size 205209
oid sha256:e1265f2e1f1755bbdf69987ee81f0d3210ec80c174f82ebd80b05860d1065755
size 205316

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c12de3c0ef9cea4bbb7a44032b810970f11c8d3a7a4aa64ae65030cf97251d10
size 651254
oid sha256:2767ffb511df6c27a3eb97da5d5fa3b27015640ae6ebe3104c00a10a66a643f3
size 651528

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40d34b94f1e8c1bc486057b29de0d0f17d58b022f4fdc0a17ff1ae338ed6424f
size 795235
oid sha256:841fcad09edad52a10254d14a8bb4e9be8947332ac81a02a9692b1ada0bf9ecd
size 795398

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:29580572fcd363168719010f2d06a067a6b2dbe718fe2fc33bae7c995936f5d9
size 4151082
oid sha256:ad8adaa7c6ef50c465c14984fc980dd2dd97db3cc6de9a58583666ad92087995
size 4151239

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a8cc3dcdbb5fb8cee6db148f34387dd04e97de205d2700b70fc170529c98fa6
size 669799
oid sha256:cd67a6a7dff3c8285ea42240bf2239413458f77a5c0e9bb48e5a6da5a2d2a246
size 670239

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f5c0ebf0a075601dda156efd63cc7bdb3df318c080ace8106321ab59836623e8
size 2751097
oid sha256:2549359fd05934f9800bf00d7b7fa8810a4ebecebe8ed4c082541514d88d5161
size 2753364

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ff85b5a41019647a259e6119e47d190de59b75eade046eafeec6d50da93f89c0
size 433797
oid sha256:a62589ad297e32ab68edb83d69b32a3f3a3fc028497849f8f5f86eedd5ce34cb
size 433867

Some files were not shown because too many files have changed in this diff Show More