Files

50 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

2019-08-27 15:35:20 -07:00
<p align="center">
<img src="https://avatars0.githubusercontent.com/u/44036562?s=100&v=4"/>
</p>
## Starter Workflows
2020-02-28 15:24:15 +00:00
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.
2020-02-29 17:04:55 -08:00
**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.**
2019-08-27 15:35:20 -07:00
2020-02-28 15:24:15 +00:00
<img src="https://d3vv6lp55qjaqc.cloudfront.net/items/353A3p3Y2x3c2t2N0c01/Image%202019-08-27%20at%203.25.07%20PM.png" max-width="75%"/>
2019-08-27 15:35:20 -07:00
2021-07-29 09:24:43 -07:00
### Directory structure
2021-09-22 08:07:22 -03:00
* [ci](ci): solutions for Continuous Integration workflows.
* [deployments](deployments): solutions for Deployment workflows.
2019-08-27 15:35:20 -07:00
* [automation](automation): solutions for automating workflows.
* [code-scanning](code-scanning): starter workflows for [Code Scanning](https://github.com/features/security)
2019-08-13 20:01:52 +05:30
* [icons](icons): svg icons for the relevant template
2019-07-29 09:38:23 -07:00
2019-08-27 15:35:20 -07:00
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).
2019-07-29 09:38:23 -07:00
2020-11-05 01:57:31 +08:00
For example: `ci/django.yml` and `ci/properties/django.properties.json`.
2019-07-29 09:38:23 -07:00
2021-07-29 09:24:43 -07:00
### Valid properties
2021-08-17 13:11:02 +05:30
* `name`: the name shown in onboarding. This property is unique within the repository.
2019-07-29 09:38:23 -07:00
* `description`: the description shown in onboarding
2021-08-17 14:09:22 +05:30
* `iconName`: the icon name in the relevant folder, for example, `django` should have an icon `icons/django.svg`. Only SVG is supported at this time. Another option is to use [octicon](https://primer.style/octicons/). The format to use an octicon is `octicon <<icon name>>`. Example: `octicon person`
2021-08-17 13:11:02 +05:30
* `creator`: creator of the template shown in onboarding. All the workflow templates from an author will have the same `creator` field.
2021-08-17 14:08:33 +05:30
* `categories`: the categories that it will be shown under. Choose at least one category from the list [here](#categories). Further, choose the categories from the list of languages available [here](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml). When a user views the available templates, those templates that match the same language will feature more prominently.
2021-08-17 13:11:02 +05:30
### Categories
* continuous-integration
* deployment
* testing
* code-quality
* code-review
* dependency-management
* monitoring
* Automation
* utilities
2021-07-29 09:24:43 -07:00
### Variables
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 example `main` and `master`
2021-09-24 17:05:34 -05:00
* `$protected-branches`: will substitute any protected branches from the repository
2021-07-29 09:24:43 -07:00
* `$cron-daily`: will substitute a valid but random time within the day