{"meta":{"title":"Quickstart for GitHub Actions","intro":"Try out the core features of GitHub Actions in minutes.","product":"GitHub Actions","breadcrumbs":[{"href":"/en/actions","title":"GitHub Actions"},{"href":"/en/actions/get-started","title":"Get started"},{"href":"/en/actions/get-started/quickstart","title":"Quickstart"}],"documentType":"article"},"body":"# Quickstart for GitHub Actions\n\nTry out the core features of GitHub Actions in minutes.\n\n## Introduction\n\nGitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that run tests whenever you push a change to your repository, or that deploy merged pull requests to production.\n\nThis quickstart guide shows you how to use the user interface of GitHub to add a workflow that demonstrates some of the essential features of GitHub Actions.\n\nTo get started with preconfigured workflows, browse through the list of templates in the [actions/starter-workflows](https://github.com/actions/starter-workflows) repository. For more information, see [Using workflow templates](/en/actions/writing-workflows/using-starter-workflows).\n\nFor an overview of GitHub Actions workflows, see [Workflows](/en/actions/using-workflows/about-workflows). If you want to learn about the various components that make up GitHub Actions, see [Understanding GitHub Actions](/en/actions/learn-github-actions/understanding-github-actions).\n\n## Using workflow templates\n\nGitHub provides preconfigured workflow templates that you can use as-is or customize to create your own workflow. GitHub analyzes your code and shows you workflow templates that might be useful for your repository. For example, if your repository contains Node.js code, you'll see suggestions for Node.js projects.\n\nThese workflow templates are designed to help you get up and running quickly, offering a range of configurations such as:\n\n* CI: [Continuous Integration workflows](https://github.com/actions/starter-workflows/tree/main/ci)\n* Deployments: [Deployment workflows](https://github.com/actions/starter-workflows/tree/main/deployments)\n* Automation: [Automating workflows](https://github.com/actions/starter-workflows/tree/main/automation)\n* Code Scanning: [Code Scanning workflows](https://github.com/actions/starter-workflows/tree/main/code-scanning)\n* Pages: [Pages workflows](https://github.com/actions/starter-workflows/tree/main/pages)\n\nUse these workflows as a starting place to build your custom workflow or use them as-is. You can browse the full list of workflow templates in the [actions/starter-workflows](https://github.com/actions/starter-workflows) repository.\n\n## Prerequisites\n\nThis guide assumes that:\n\n* You have at least a basic knowledge of how to use GitHub. 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 [Quickstart for repositories](/en/repositories/creating-and-managing-repositories/quickstart-for-repositories), [About branches](/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches), and [About pull requests](/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).\n* You have a repository on GitHub where you can add files.\n* You have access to GitHub Actions.\n\n  > \\[!NOTE] If the **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions** tab is not displayed under the name of your repository on GitHub, it may be because Actions is disabled for the repository. For more information, see [Managing GitHub Actions settings for a repository](/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository).\n\n## Creating your first workflow\n\n1. In your repository on GitHub, create a workflow file called `github-actions-demo.yml` in the `.github/workflows` directory. To do this:\n   * If the `.github/workflows` directory already exists, navigate to that directory on GitHub, click **Add file**, then click **Create new file**, and name the file `github-actions-demo.yml`.\n\n   * If your repository doesn't have a `.github/workflows` directory, go to the main page of the repository on GitHub, click **Add file**, then click **Create new file**, and name the file `.github/workflows/github-actions-demo.yml`. This creates the `.github` and `workflows` directories and the `github-actions-demo.yml` file in a single step.\n   > \\[!NOTE]\n   > For GitHub to discover any GitHub Actions workflows in your repository, you must save the workflow files in a directory called `.github/workflows`.\n   >\n   > 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.\n\n2. Copy the following YAML contents into the `github-actions-demo.yml` file:\n\n   ```yaml copy\n   name: GitHub Actions Demo\n   run-name: ${{ github.actor }} is testing out GitHub Actions 🚀\n   on: [push]\n   jobs:\n     Explore-GitHub-Actions:\n       runs-on: ubuntu-latest\n       steps:\n         - run: echo \"🎉 The job was automatically triggered by a ${{ github.event_name }} event.\"\n         - run: echo \"🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!\"\n         - run: echo \"🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}.\"\n         - name: Check out repository code\n           uses: actions/checkout@v6\n         - run: echo \"💡 The ${{ github.repository }} repository has been cloned to the runner.\"\n         - run: echo \"🖥️ The workflow is now ready to test your code on the runner.\"\n         - name: List files in the repository\n           run: |\n             ls ${{ github.workspace }}\n         - run: echo \"🍏 This job's status is ${{ job.status }}.\"\n   ```\n\n   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 [Workflows](/en/actions/using-workflows/about-workflows#understanding-the-workflow-file), and for an explanation of GitHub Actions contexts, such as `${{ github.actor }}` and `${{ github.event_name }}`, see [Contexts reference](/en/actions/learn-github-actions/contexts).\n\n3. Click **Commit changes**.\n\n4. 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**.\n\n   ![Screenshot of the \"Propose changes\" dialog with the areas mentioned highlighted with an orange outline.](/assets/images/help/repository/actions-quickstart-commit-new-file.png)\n\nCommitting the workflow file to a branch in your repository triggers the `push` event and runs your workflow.\n\nIf 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.\n\n## Viewing your workflow results\n\n1. On GitHub, navigate to the main page of the repository.\n\n2. Under your repository name, click **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Screenshot of the tabs for the \"github/docs\" repository. The \"Actions\" tab is highlighted with an orange outline.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n\n3. In the left sidebar, click the workflow you want to display, in this example \"GitHub Actions Demo.\"\n\n   ![Screenshot of the \"Actions\" page. The name of the example workflow, \"GitHub Actions Demo\", is highlighted by a dark orange outline.](/assets/images/help/repository/actions-quickstart-workflow-sidebar.png)\n\n4. 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.\"\n\n5. In the left sidebar of the workflow run page, under **Jobs**, click the **Explore-GitHub-Actions** job.\n\n   ![Screenshot of the \"Workflow run\" page. In the left sidebar, the \"Explore-GitHub-Actions\" job is highlighted with a dark orange outline.](/assets/images/help/repository/actions-quickstart-job.png)\n\n6. The log shows you how each of the steps was processed. Expand any of the steps to view its details.\n\n   ![Screenshot of steps run by the workflow.](/assets/images/help/repository/actions-quickstart-logs.png)\n\n   For example, you can see the list of files in your repository:\n\n   ![Screenshot of the \"List files in the repository\" step expanded to show the log output. The output for the step is highlighted with an orange outline.](/assets/images/help/repository/actions-quickstart-log-detail.png)\n\nThe example workflow you just added is triggered each time code is pushed to the branch, and shows you how GitHub Actions can work with the contents of your repository. For an in-depth tutorial, see [Understanding GitHub Actions](/en/actions/learn-github-actions/understanding-github-actions).\n\n## Next steps\n\nGitHub Actions can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with GitHub Actions:\n\n* To create a GitHub Actions workflow, see [Using workflow templates](/en/actions/learn-github-actions/using-starter-workflows).\n* For continuous integration (CI) workflows, see [Building and testing your code](/en/actions/automating-builds-and-tests).\n* For building and publishing packages, see [Publishing packages](/en/actions/publishing-packages).\n* For deploying projects, see [Deploying to third-party platforms](/en/actions/deployment).\n* For automating tasks and processes on GitHub, see [Managing your work with GitHub Actions](/en/actions/managing-issues-and-pull-requests).\n* For examples that demonstrate more complex features of GitHub Actions, see [Managing your work with GitHub Actions](/en/actions/examples). These detailed examples explain how to test your code on a runner, access the GitHub CLI, and use advanced features such as concurrency and test matrices.\n* To certify your proficiency in automating workflows and accelerating development with GitHub Actions, earn a GitHub Actions certificate with GitHub Certifications. For more information, see [About GitHub Certifications](/en/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications)."}