{"id":13406763,"url":"https://github.com/actions/starter-workflows","last_synced_at":"2025-05-13T21:02:30.105Z","repository":{"id":37336699,"uuid":"199488860","full_name":"actions/starter-workflows","owner":"actions","description":"Accelerating new GitHub Actions workflows ","archived":false,"fork":false,"pushed_at":"2025-04-24T15:59:57.000Z","size":3666,"stargazers_count":10077,"open_issues_count":189,"forks_count":5943,"subscribers_count":488,"default_branch":"main","last_synced_at":"2025-05-06T20:18:19.407Z","etag":null,"topics":["actions"],"latest_commit_sha":null,"homepage":"https://github.com/features/actions","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/actions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-07-29T16:26:51.000Z","updated_at":"2025-05-06T04:51:01.000Z","dependencies_parsed_at":"2023-12-14T14:24:57.550Z","dependency_job_id":"667202d0-78f5-4968-8214-224acfac9cd9","html_url":"https://github.com/actions/starter-workflows","commit_stats":{"total_commits":1349,"total_committers":363,"mean_commits":3.716253443526171,"dds":0.9703484062268347,"last_synced_commit":"f90b59f7cd6c78cb77ba8274dd8b01499074948b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fstarter-workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fstarter-workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fstarter-workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions%2Fstarter-workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/actions","download_url":"https://codeload.github.com/actions/starter-workflows/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254027287,"owners_count":22002031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions"],"created_at":"2024-07-30T19:02:38.648Z","updated_at":"2025-05-13T21:02:29.979Z","avatar_url":"https://github.com/actions.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://avatars0.githubusercontent.com/u/44036562?s=100\u0026v=4\"/\u003e \n\u003c/p\u003e\n\n## Starter Workflows\n\nThese 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.\n\n**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.**\n\n\u003cimg src=\"https://d3vv6lp55qjaqc.cloudfront.net/items/353A3p3Y2x3c2t2N0c01/Image%202019-08-27%20at%203.25.07%20PM.png\" max-width=\"75%\"/\u003e\n\n### Directory structure\n\n* [ci](ci): solutions for Continuous Integration workflows\n* [deployments](deployments): solutions for Deployment workflows\n* [automation](automation): solutions for automating workflows\n* [code-scanning](code-scanning): solutions for [Code Scanning](https://github.com/features/security)\n* [pages](pages): solutions for Pages workflows\n* [icons](icons): svg icons for the relevant template\n\nEach 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).\n\nFor example: `ci/django.yml` and `ci/properties/django.properties.json`.\n\n### Valid properties\n\n* `name`: the name shown in onboarding. This property is unique within the repository.\n* `description`: the description shown in onboarding\n* `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 \u003c\u003cicon name\u003e\u003e`. Example: `octicon person`\n* `creator`: creator of the template shown in onboarding. All the workflow templates from an author will have the same `creator` field.\n* `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) and the list of tech stacks available [here](https://github.com/github-starter-workflows/repo-analysis-partner/blob/main/tech_stacks.yml). When a user views the available templates, those templates that match the language and tech stacks will feature more prominently.\n\n### Categories\n* continuous-integration\n* deployment\n* testing\n* code-quality\n* code-review\n* dependency-management\n* monitoring\n* Automation\n* utilities\n* Pages\n* Hugo\n\n### Variables\nThese variables can be placed in the starter workflow and will be substituted as detailed below:\n\n* `$default-branch`: will substitute the branch from the repository, for example `main` and `master`\n* `$protected-branches`: will substitute any protected branches from the repository\n* `$cron-daily`: will substitute a valid but random time within the day\n\n## How to test templates before publishing\n\n### Disable template for public\nThe 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.\nExample `properties.json` file:\n```json\n{\n    \"name\": \"Node.js\",\n    \"description\": \"Build and test a Node.js project with npm.\",\n    \"iconName\": \"nodejs\",\n    \"categories\": [\"Continuous integration\", \"JavaScript\", \"npm\", \"React\", \"Angular\", \"Vue\"],\n    \"labels\": [\"preview\"]\n}\n```\n\nFor viewing the templates with `preview` label, provide query parameter `preview=true` to the  `new workflow` page URL. Eg. `https://github.com/\u003cowner\u003e/\u003crepo_name\u003e/actions/new?preview=true`.\n\n### Enable template for public\nRemove the `labels` array from `properties.json` file to publish the template to public\n","funding_links":[],"categories":["TypeScript","Official Starter Workflow by GitHub","actions","Official Resources","Others","🛠️ Developer Tools","CI/CD","HarmonyOS","网络服务","Templates \u0026 Boilerplates","Building","Real-world Examples","九、学习与参考资源"],"sub_categories":["Workflow Examples","Windows Manager","网络服务_其他","Workflows","8. 环境配置"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factions%2Fstarter-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factions%2Fstarter-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factions%2Fstarter-workflows/lists"}