If you need to share workflows and other GitHub Actions features with your team, then consider collaborating within a GitHub organization. An organization allows you to centrally store and manage secrets, artifacts, and self-hosted runners. You can also create starter workflows in the
.github repository and share them with other users in your organization.
You can share both individual actions and entire workflows with your organization, with or without publishing the actions or workflows publicly. You can reuse actions and workflows exactly by referencing them in your workflow file, and you can create starter workflows that provide templates for new workflows.
To share actions across your enterprise without publishing the actions publicly, you can store the actions in an internal repository, then configure the repository to allow access to GitHub Actions workflows in other repositories owned by the same organization or by any organization in the enterprise. For more information, see "Sharing actions and workflows with your enterprise."
You can share workflows with your organization, publicly or privately, by calling one workflow from within another workflow. This allows you to reuse workflows, avoiding duplication and making your workflows easier to maintain. For more information, see "Reusing workflows."
Starter workflows allow everyone in your organization who has permission to create workflows to do so more quickly and easily. When you create a new workflow, you can choose a starter workflow and some or all of the work of writing the workflow will be done for you. You can use starter workflows as a starting place to build your custom workflow or use them as-is. This not only saves time, it promotes consistency and best practice across your organization. For more information, see "Creating starter workflows for your organization."
You can centrally manage your secrets and variables within an organization, and then make them available to selected repositories. This also means that you can update a secret or variable in one location, and have the change apply to all repository workflows that use the it.
When creating a secret or variable in an organization, you can use a policy to limit which repositories can access it. For example, you can grant access to all repositories, or limit access to only private repositories or a specified list of repositories.
To create secrets or variables at the organization level, you must have
On GitHub.com, navigate to the main page of the organization.
Under your organization name, click Settings.
In the "Security" section of the sidebar, select Secrets and variables, then click Actions.
Click the Secrets or Variables tab, and create the secret or variable with your desired values and options.
For more information, see "Creating encrypted secrets for an organization" or "Creating configuration variables for an organization."
Organization admins can add their self-hosted runners to groups, and then create policies that control which repositories can access the group.
For more information, see "Managing access to self-hosted runners using groups."
To continue learning about GitHub Actions, see "Creating starter workflows for your organization."