

GitHub also offers larger runners, which are available in larger configurations. GitHub provides Ubuntu Linux, Microsoft Windows, and macOS runners to run your workflows each workflow run executes in a fresh, newly-provisioned virtual machine. Each runner can run a single job at a time. You can write your own actions, or you can find actions to use in your workflows in the GitHub Marketplace.įor more information, see " Creating actions." RunnersĪ runner is a server that runs your workflows when they're triggered. An action can pull your git repository from GitHub, set up the correct toolchain for your build environment, or set up the authentication to your cloud provider.
#Download complete anatomy for windows code
Use an action to help reduce the amount of repetitive code that you write in your workflow files. The build jobs will run in parallel, and when they have all completed successfully, the packaging job will run.įor more information about jobs, see " Using jobs." ActionsĪn action is a custom application for the GitHub Actions platform that performs a complex but frequently repeated task. For example, you may have multiple build jobs for different architectures that have no dependencies, and a packaging job that is dependent on those jobs. When a job takes a dependency on another job, it will wait for the dependent job to complete before it can run. You can configure a job's dependencies with other jobs by default, jobs have no dependencies and run in parallel with each other. For example, you can have a step that builds your application followed by a step that tests the application that was built. Since each step is executed on the same runner, you can share data from one step to another. Steps are executed in order and are dependent on each other. Each step is either a shell script that will be executed, or an action that will be run. JobsĪ job is a set of steps in a workflow that is executed on the same runner. You can also trigger a workflow to run on a schedule, by posting to a REST API, or manually.įor a complete list of events that can be used to trigger workflows, see Events that trigger workflows. For example, activity can originate from GitHub when someone creates a pull request, opens an issue, or pushes a commit to a repository.

For more information, see " Reusing workflows."įor more information about workflows, see " Using workflows." EventsĪn event is a specific activity in a repository that triggers a workflow run. You can reference a workflow within another workflow. For example, you can have one workflow to build and test pull requests, another workflow to deploy your application every time a release is created, and still another workflow that adds a label every time someone opens a new issue. github/workflows directory in a repository, and a repository can have multiple workflows, each of which can perform a different set of tasks. Workflows are defined by a YAML file checked in to your repository and will run when triggered by an event in your repository, or they can be triggered manually, or at a defined schedule. Each job will run inside its own virtual machine runner, or inside a container, and has one or more steps that either run a script that you define or run an action, which is a reusable extension that can simplify your workflow.Ī workflow is a configurable automated process that will run one or more jobs. Your workflow contains one or more jobs which can run in sequential order or in parallel. You can configure a GitHub Actions workflow to be triggered when an event occurs in your repository, such as a pull request being opened or an issue being created. GitHub provides Linux, Windows, and macOS virtual machines to run your workflows, or you can host your own self-hosted runners in your own data center or cloud infrastructure. For example, you can run a workflow to automatically add the appropriate labels whenever someone creates a new issue in your repository. GitHub Actions goes beyond just DevOps and lets you run workflows when other events happen in your repository.

You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production. GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline.
