Files
perl_d 6730567526
All checks were successful
release / Release (push) Successful in 15s
fix(tasks): run commit task as migration for UD
2025-05-27 17:45:58 +02:00

111 lines
3.6 KiB
YAML

# repo config
_subdirectory: template
# imports
_jinja_extensions:
- bec_lib.utils.copier_jinja_filters.CopierFilters
# predefined values
# make sure these have 'when: false' so that the questions are not asked and the items are not saved in answers.yml
test_directories:
type: str
multiselect: true
default: ["tests_bec_ipython_client", "tests_bec_widgets", "tests_dap_services", "tests_devices", "tests_file_writer", "tests_scans"]
when: false
copyright_year:
type: int
default: 2025
when: false
# questions
project_name:
type: str
help: What is your project name?
make_commit:
type: bool
help: would you like to automatically stage and commit the changes?
default: true
widget_plugins_input:
# Defines the list of plugin widgets, following:
# - name: widget name in snake case
# use_ui: whether to generate a .ui file
type: yaml
multiline: true
default: []
# derived from questions: single point of configuration for plugin class names etc.
widget_plugins:
type: yaml
multiline: true
default: >
{% if not widget_plugins_input %} []
{% else %}
{% for wp in widget_plugins_input %}
- module: {{ wp.name }} # Module name for the whole plugin
class: {{ wp.name | snake_to_pascal }} # Class name for the plugin widget
use_ui: {{ wp.use_ui }} # Whether to create a .ui file and import it
{% if wp.use_ui %}
ui_module: {{ wp.name }}_ui # Module name for the compiled python UI
ui_class: Ui_{{ wp.name | snake_to_pascal }} # Class name for the compiled python UI
{% endif %}
{% endfor %}
{% endif %}
when: false
# other configuration
ui_fileinfo: # would like to save this programatically when generated but don't see how
type: yaml
multiline: true
default: >
{% if not widget_plugins %} []
{% else %}
{% for wp in widget_plugins %}
{% if wp.use_ui %}
- ui_file: {{ project_name }}/bec_widgets/widgets/{{ wp.module }}/{{ wp.module }}.ui
out_file: {{ project_name }}/bec_widgets/widgets/{{ wp.module }}/{{ wp.ui_module }}.py
{% endif %}
{% endfor %}
{% endif %}
when: false
_tasks:
- "{% if _copier_operation == 'copy' %} git init --initial-branch=main {% endif %}"
- >
{% if not ui_fileinfo %} echo "No .ui files to process";
{% else %}
{% for info in ui_fileinfo %}pyside6-uic {{ info.ui_file }} -o {{ info.out_file }};
{% endfor %}
{% endif %}
- >
{% if make_commit %}
echo "making autocommit in $(pwd)";
{% if _copier_operation == 'copy' %}
git add -A; git commit -a -m 'Init repo {{ project_name }} at template version {{ _commit }}'
{% endif %}
{% else %}
echo "Autocommit disabled, leaving repo dirty"
{% endif %}
_migrations:
- stage: after
command: >
{% if make_commit %}
echo "making autocommit in $(pwd)";
{% if _copier_operation == 'copy' %}
git add -A; git commit -a -m 'Init repo {{ project_name }} at template version {{ _commit }}'
{% else %}
git add -A; git commit -a -m 'Update repo with template version {{ _commit }}'
{% endif %}
{% else %}
echo "Autocommit disabled, leaving repo dirty"
{% endif %}
- stage: after
command: pre-commit install