Setting up continuous integration using GitHub Actions

You can set up continuous integration for your project using a workflow template that matches the language and tooling you want to use.

Anyone with write permission to a repository can set up continuous integration (CI) using GitHub Actions.

After you set up CI, you can customize the workflow to meet your needs.

  1. On GitHub, navigate to the main page of the repository.

  2. Under your repository name, click Actions.

    Actions tab in the main repository navigation

  3. Find the template that matches the language and tooling you want to use, then click Set up this workflow.

    Setup workflow button

  4. Click Start commit.

    Start commit button

  5. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file. You can attribute the commit to more than one author in the commit message. For more information, see "Creating a commit with multiple co-authors."

    Commit message for your change

  6. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is master, you should choose to create a new branch for your commit and then create a pull request. For more information, see "Creating a new pull request."

    Commit branch options

  7. Click Propose new file.

    Propose new file button

Once a push is made to your repository, you can follow the status and detailed logs of your continuous integration workflow run on GitHub and receive customized notifications. For more information, see "Choosing the delivery method for notifications about GitHub Actions" and "Managing a workflow run."

Status badges show whether a workflow is currently failing or passing. A common place to add a status badge is in the README.md file of your repository, but you can add it to any web page you'd like. By default, badges display the status of your default branch (usually master). You can also display the status of a workflow run for a specific branch or event using the branch and event query parameters in the URL.

For more information, see "Configuring a workflow."

Further reading

Ask a human

Can't find what you're looking for?

Contact us