These are the workflow files for helping people get started with GitHub Actions. They're presented whenever you start to create a new GitHub Actions workflow.
If you want to get started with GitHub Actions, you can use these starter workflows by clicking the "Actions" tab in the repository where you want to create a workflow.
- ci: solutions for Continuous Integration workflows
- deployments: solutions for Deployment workflows
- automation: solutions for automating workflows
- code-scanning: solutions for Code Scanning
- pages: solutions for Pages workflows
- icons: svg icons for the relevant template
Each workflow must be written in YAML and have a .yml
extension. They also need a corresponding .properties.json
file that contains extra metadata about the workflow (this is displayed in the GitHub.com UI).
For example: ci/django.yml
and ci/properties/django.properties.json
.
name
: the name shown in onboarding. This property is unique within the repository.description
: the description shown in onboardingiconName
: the icon name in the relevant folder, for example,django
should have an iconicons/django.svg
. Only SVG is supported at this time. Another option is to use octicon. The format to use an octicon isocticon <<icon name>>
. Example:octicon person
creator
: creator of the template shown in onboarding. All the workflow templates from an author will have the samecreator
field.categories
: the categories that it will be shown under. Choose at least one category from the list here. Further, choose the categories from the list of languages available here. When a user views the available templates, those templates that match the same language will feature more prominently.
- continuous-integration
- deployment
- testing
- code-quality
- code-review
- dependency-management
- monitoring
- Automation
- utilities
- Pages
- Hugo
These variables can be placed in the starter workflow and will be substituted as detailed below:
$default-branch
: will substitute the branch from the repository, for examplemain
andmaster
$protected-branches
: will substitute any protected branches from the repository$cron-daily
: will substitute a valid but random time within the day
The template author adds a labels
array in the template's properties.json
file with a label preview
. This will hide the template from users, unless user uses query parameter preview=true
in the URL.
Example properties.json
file:
{
"name": "Node.js",
"description": "Build and test a Node.js project with npm.",
"iconName": "nodejs",
"categories": ["Continuous integration", "JavaScript", "npm", "React", "Angular", "Vue"],
"labels": ["preview"]
}
For viewing the templates with preview
label, provide query parameter preview=true
to the new workflow
page URL. Eg. https://github.com/<owner>/<repo_name>/actions/new?preview=true
.
Remove the labels
array from properties.json
file to publish the template to public