Skip to content

Commit ef12f1b

Browse files
181 fix catalog info template (#187)
2 parents 123b250 + 5f202bf commit ef12f1b

File tree

4 files changed

+59
-6
lines changed

4 files changed

+59
-6
lines changed

copier.yml

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,37 @@ author_email:
6161
component_owner:
6262
type: str
6363
help: |
64-
Owner of the component in the Developer Portal Software Catalogue.
65-
This will normally be group:default/<your_group>
66-
default: "group:default/sscc"
64+
The unique name of the person or group who owns this component in
65+
the Developer Portal Software Catalogue.
66+
This will normally be group:default/<your_group>. For a full list of groups visit
67+
https://dev-portal.diamond.ac.uk/catalog?filters%5Bkind%5D=group&filters%5Buser%5D=all
68+
and hover over each group link to see its group ID, e.g.
69+
https://dev-portal.diamond.ac.uk/catalog/default/group/accelerator-controls
70+
would go here as group:default/accelerator-controls.
71+
72+
73+
component_type:
74+
type: str
75+
help: |
76+
Type of the component in the Developer Portal Software Catalogue.
77+
Most likely service, library or application (without quotes).
78+
choices:
79+
- library
80+
- service
81+
- user-interface
82+
- website
83+
default: library
84+
85+
component_lifecycle:
86+
type: str
87+
help: |
88+
Project's current lifecycle stage, to be displayed in the Developer
89+
Portal Software Catalogue.
90+
choices:
91+
- experimental
92+
- production
93+
- deprecated
94+
default: experimental
6795

6896
# Template Options
6997
docker:

example-answers.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
author_email: tom.cobb@diamond.ac.uk
22
author_name: Tom Cobb
3-
component_owner: group:default/sscc
3+
component_owner: group:default/daq
4+
component_type: service
5+
component_lifecycle: experimental
46
description: An expanded https://github.com/DiamondLightSource/python-copier-template to illustrate how it looks with all the options enabled.
57
distribution_name: dls-python-copier-template-example
68
docker: true

template/catalog-info.yaml.jinja

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ metadata:
55
title: {{ repo_name }}
66
description: {{ description }}
77
spec:
8-
type: documentation
9-
lifecycle: experimental
8+
type: {{ component_type }}
9+
lifecycle: {{ component_lifecycle }}
1010
owner: {{ component_owner }}

tests/test_example.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,3 +163,26 @@ def test_works_in_pyright_strict_mode(tmp_path: Path):
163163
# Ensure pyright is still happy
164164
run = make_venv(tmp_path)
165165
run(f"./venv/bin/pyright {tmp_path}")
166+
167+
168+
def test_catalog_info(tmp_path: Path):
169+
copy_project(tmp_path)
170+
catalog_info_path = tmp_path / "catalog-info.yaml"
171+
with catalog_info_path.open("r") as stream:
172+
catalog_info = yaml.safe_load(stream)
173+
assert catalog_info == {
174+
"apiVersion": "backstage.io/v1alpha1",
175+
"kind": "Component",
176+
"metadata": {
177+
"name": "dls-python-copier-template-example",
178+
"title": "python-copier-template-example",
179+
"description": "An expanded "
180+
"https://github.com/DiamondLightSource/python-copier-template "
181+
"to illustrate how it looks with all the options enabled.",
182+
},
183+
"spec": {
184+
"type": "service",
185+
"lifecycle": "experimental",
186+
"owner": "group:default/daq",
187+
},
188+
}

0 commit comments

Comments
 (0)