Introduction to Reusable Workflows - Blogs
X
02May

Introduction to Reusable Workflows

A reusable workflow is a pre-defined GitHub Actions workflow that can be called from another workflow. Reusable workflows make it easy to treat a workflow like an Action. It can be referenced and executed from other workflows in the caller’s context. This allows teams to share common workflow patterns, to centralize best practices, and to centralize the development of processes.

Reusable workflows listen for a special event, workflow_call. The workflow must be in the .github/workflows folder to be triggered. The workflow can also receive inputs.

Benefits of using reusable workflows:

  • Duplication is minimized by reusing workflows. This makes workflows easier to maintain and allows you to easily develop new workflows by building on the work of others, much like you do with actions.
  • You can reuse workflows rather than copying and pasting them from one to the next. The reusable process can then be called from another workflow by you or anybody with access to it.
  • Reusing workflows reduces redundancy and allows you to create a library of reusable workflows that can be maintained inside your company.

Creating Reusable workflow from GitHub Actions:

  • Reusable workflows are the same as ordinary GitHub Actions workflows, except that they must be triggered by a single special event called workflow call before they may be used as reusable workflows.

       workflow_call

  • The keyword uses can then be added to this workflow and it can be used in other workflows.

uses

  • To have access to reusable workflows within your organization. Simply go to Actions in your settings and select Allow all actions and reusable workflows in your organization.

 

reusable

 

Example of Reusable workflow using in another workflow:

The below workflow is the reusable workflow with name - Workflow-A.yml

 

Workflow-A

 

Below is the workflow calling reusable workflow with name - workflow-B.yml.

 

workflow-B

 

Limitations with reusable workflows:

  • If you have a reusable workflow in a private repository, it can only be used by other workflows in the same private repository.
  • A reusable workflow can only call another reusable workflow, but it can't reference more than once.
  • If reusable workflows are stored in a public repository, your organization may only use them in that repository.
  • Reusable workflows can't call other reusable workflows.

Related

GitHub Action context and its Capabilities

The GitHub context contains information about the workflow run and the event that triggered the run.

Read More >

Bulk Export Import Test Cases to Azure DevOps Test Plans using CSV file

As a user of Azure DevOps Test Plans or TFS Test Management for manual testing, from a long time eve...

Read More >

Techno Feast 2014

Building enterprise apps with smart tools and solution...

Read More >

Microsoft Azure : Running JAVA Web Application using template

We will create Java web app in Azure App Service by using the Azure portal. The Azure...

Read More >

Examples of Selenium Webdriver Scripts

Examples of Selenium Webdriver ScriptsNow its time to code and execute the selenium webdriver script...

Read More >

Assertions in Coded UI

Let us discuss how to add assertions in coded UI. Assertions are checkpoints/benchmarks to UI c...

Read More >

Migrating TFS 2013 Version Control to TFS Git with changeset history

There are several articles on the web describing the migration technique with minimal details. This ...

Read More >

Create a Basic Bot with the Bot Builder SDK for.NET

A bot is a software that is designed to automate the tasks you would usually do on your own, like bo...

Read More >

How to upload documents to SharePoint 2013

IntroductionSharePoint is a browser-based collaboration, content management, and extensible platform...

Read More >

Share

Try DevOpSmartBoard Ultimate complete Azure DevOps End-to end reporting tool

Sign Up

  • Recent
  • Popular
  • Tag
Monthly Archive
Subscribe
Name

Text/HTML
Contact Us
  • *
  • *