-
Notifications
You must be signed in to change notification settings - Fork 3
/
catalog-info.yaml
134 lines (130 loc) · 4.23 KB
/
catalog-info.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: python_copier_template
title: Python Copier Template
description: Create a project based on this template using Copier
tags:
- recommended
- techdocs
- mkdocs
spec:
owner: kqd14687
type: documentation
parameters:
- title: About You
required:
- full_name
- email
- owner
properties:
full_name:
title: Firstname LastName
type: string
email:
title: email@diamond.ac.uk
type: string
owner:
title: Owner
type: string
description: Owner of the component
ui:field: OwnerPicker
ui:options:
allowedKinds:
- Group
- User
- title: Project Details
required:
- repoUrl
- description
- owner
properties:
repoUrl:
title: Repository Name and Location
type: string
ui:field: RepoUrlPicker
ui:options:
requestUserCredentials:
secretsKey: USER_OAUTH_TOKEN
additionalScopes:
github:
- workflow
allowedHosts:
- github.com
description:
title: Description
type: string
description: A short description of your project
- title: Template Options
properties:
docker:
title: Publish Docker container?
description: |
Would you like to publish your project in a Docker container?
You should select this if you are making a service.
type: boolean
default: false
docs:
title: Documentation
description: |
How would you like to document your project?
You can start with just a README and change your answer to add a sphinx project later.
type: string
default: README
enum:
- README
- sphinx
typeChecker:
title: Type Checker
description: |
What type checker would you like to use?
Pyright is recommended for new projects, but it is stricter,
so you might need to select mypy for existing projects.
type: string
default: pyright
enum:
- pyright
- mypy
pypi:
title: PyPI?
description: Would you like the wheel and source distribution to be automatically uploaded to PyPI when a release is made?
type: boolean
default: false
# This template is meant to be used on top of an existing template.
# By adding the following and fetching from an absolute URL you can
# add in the docs template
steps:
- id: fetch-base
name: Fetch Base
action: fetch:copier
input:
url: https://github.com/DiamondLightSource/python-copier-template
values:
destination: ${{ parameters.repoUrl | parseRepoUrl }}
# These are answers for the copier template
package_name: ${{ parameters.repoUrl | parseRepoUrl | pick('repo') | replace('-', '_') }}
description: ${{ parameters.description }}
git_platform: ${{ parameters.repoUrl | parseRepoUrl | pick('host') }}
github_org: ${{ parameters.repoUrl | parseRepoUrl | pick('owner') }}
repo_name: ${{ parameters.repoUrl | parseRepoUrl | pick('repo') }}
distribution_name: ${{ parameters.repoUrl | parseRepoUrl | pick('repo') }}
author_name: ${{ parameters.full_name }}
author_email: ${{ parameters.email }}
component_owner: ${{ parameters.owner }}
docker: ${{ parameters.docker }}
docs_type: ${{ parameters.docs }}
type_checker: ${{ parameters.typeChecker }}
pypi: ${{ parameters.pypi }}
- id: publish
name: Publish
action: publish:github
input:
allowedHosts: ["github.com"]
description: This is ${{ parameters.name }}
repoUrl: ${{ parameters.repoUrl }}
repoVisibility: public
token: ${{ secrets.USER_OAUTH_TOKEN }}
output:
links:
- title: Repository
url: ${{ steps.publish.output.remoteUrl }}