title | intro | allowTitleToDifferFromFilename | redirect_from | versions | type | topics | shortTitle | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Quickstart for GitHub Actions |
Try out the features of {% data variables.product.prodname_actions %} in 5 minutes or less. |
true |
|
|
quick_start |
|
Quickstart |
{% data reusables.actions.enterprise-github-hosted-runners %}
{% data reusables.actions.about-actions %} You can create workflows that run tests whenever you push a change to your repository, or that deploy merged pull requests to production.
This quickstart guide shows you how to use the user interface of {% data variables.product.github %} to add a workflow that demonstrates some of the essential features of {% data variables.product.prodname_actions %}.
{% data reusables.actions.workflow-templates-for-more-information %}
For an overview of {% data variables.product.prodname_actions %} workflows, see AUTOTITLE. If you want to learn about the various components that make up {% data variables.product.prodname_actions %}, see AUTOTITLE.
{% data reusables.actions.workflow-template-overview %}
{% data reusables.actions.workflow-templates-repo-link %}
This guide assumes that:
-
You have at least a basic knowledge of how to use {% data variables.product.prodname_dotcom %}. If you don't, you'll find it helpful to read some of the articles in the documentation for repositories and pull requests first. For example, see AUTOTITLE, AUTOTITLE, and AUTOTITLE.
-
You have a repository on {% data variables.product.github %} where you can add files.
-
You have access to {% data variables.product.prodname_actions %}.
[!NOTE] If the {% octicon "play" aria-hidden="true" %} Actions tab is not displayed under the name of your repository on {% data variables.product.prodname_dotcom %}, it may be because Actions is disabled for the repository. For more information, see AUTOTITLE.
-
In your repository on {% data variables.product.github %}, create a workflow file called
github-actions-demo.yml
in the.github/workflows
directory. To do this:- If the
.github/workflows
directory already exists, navigate to that directory on {% data variables.product.prodname_dotcom %}, click Add file, then click Create new file, and name the filegithub-actions-demo.yml
. - If your repository doesn't have a
.github/workflows
directory, go to the main page of the repository on {% data variables.product.prodname_dotcom %}, click Add file, then click Create new file, and name the file.github/workflows/github-actions-demo.yml
. This creates the.github
andworkflows
directories and thegithub-actions-demo.yml
file in a single step.
[!NOTE] For {% data variables.product.prodname_dotcom %} to discover any {% data variables.product.prodname_actions %} workflows in your repository, you must save the workflow files in a directory called
.github/workflows
.You can give the workflow file any name you like, but you must use
.yml
or.yaml
as the file name extension. YAML is a markup language that's commonly used for configuration files. - If the
-
Copy the following YAML contents into the
github-actions-demo.yml
file:name: GitHub Actions Demo run-name: {% raw %}${{ github.actor }}{% endraw %} is testing out GitHub Actions 🚀 on: [push] jobs: Explore-GitHub-Actions: runs-on: ubuntu-latest steps: - run: echo "🎉 The job was automatically triggered by a {% raw %}${{ github.event_name }}{% endraw %} event." - run: echo "🐧 This job is now running on a {% raw %}${{ runner.os }}{% endraw %} server hosted by GitHub!" - run: echo "🔎 The name of your branch is {% raw %}${{ github.ref }}{% endraw %} and your repository is {% raw %}${{ github.repository }}{% endraw %}." - name: Check out repository code uses: {% data reusables.actions.action-checkout %} - run: echo "💡 The {% raw %}${{ github.repository }}{% endraw %} repository has been cloned to the runner." - run: echo "🖥️ The workflow is now ready to test your code on the runner." - name: List files in the repository run: | ls {% raw %}${{ github.workspace }}{% endraw %} - run: echo "🍏 This job's status is {% raw %}${{ job.status }}{% endraw %}."
At this stage you don't need to understand the details of this workflow. For now, you can just copy and paste the contents into the file. After completing this quickstart guide, you can learn about the syntax of workflow files in AUTOTITLE, and for an explanation of {% data variables.product.prodname_actions %} contexts, such as
{% raw %}${{ github.actor }}{% endraw %}
and{% raw %}${{ github.event_name }}{% endraw %}
, see AUTOTITLE. -
Click Commit changes.
-
In the "Propose changes" dialog, select either the option to commit to the default branch or the option to create a new branch and start a pull request. Then click Commit changes or Propose changes.
Committing the workflow file to a branch in your repository triggers the push
event and runs your workflow.
If you chose to start a pull request, you can continue and create the pull request, but this is not necessary for the purposes of this quickstart because the commit has still been made to a branch and will trigger the new workflow.
{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %}
-
In the left sidebar, click the workflow you want to display, in this example "GitHub Actions Demo."
-
From the list of workflow runs, click the name of the run you want to see, in this example "USERNAME is testing out GitHub Actions."
-
In the left sidebar of the workflow run page, under Jobs, click the Explore-GitHub-Actions job.
-
The log shows you how each of the steps was processed. Expand any of the steps to view its details.
For example, you can see the list of files in your repository:
The example workflow you just added is triggered each time code is pushed to the branch, and shows you how {% data variables.product.prodname_actions %} can work with the contents of your repository. For an in-depth tutorial, see AUTOTITLE.
{% data reusables.actions.onboarding-next-steps %}