Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
adbefb40f1 | |||
4b44b7b599 | |||
0bc60be87a | |||
3641451d19 | |||
c82792ace6 | |||
45a03e9dec | |||
56b58f58db | |||
ea95f2d970 |
37
.gitea/semantic_release.toml
Normal file
37
.gitea/semantic_release.toml
Normal file
@ -0,0 +1,37 @@
|
||||
[tool.semantic_release.branches.main]
|
||||
match = "(main)"
|
||||
prerelease = false
|
||||
|
||||
[tool.semantic_release.commit_author]
|
||||
env = "GIT_COMMIT_AUTHOR"
|
||||
default = "semantic-release <semantic-release>"
|
||||
|
||||
[tool.semantic_release.commit_parser_options]
|
||||
allowed_tags = [
|
||||
"build",
|
||||
"chore",
|
||||
"ci",
|
||||
"docs",
|
||||
"feat",
|
||||
"fix",
|
||||
"perf",
|
||||
"style",
|
||||
"refactor",
|
||||
"test",
|
||||
]
|
||||
minor_tags = ["feat"]
|
||||
patch_tags = ["fix", "perf"]
|
||||
default_bump_level = 0
|
||||
|
||||
[tool.semantic_release.remote]
|
||||
name = "origin"
|
||||
type = "gitea"
|
||||
domain = "https://gitea.psi.ch"
|
||||
ignore_token_for_push = false
|
||||
|
||||
[tool.semantic_release.remote.token]
|
||||
env = "GITHUB_TOKEN"
|
||||
|
||||
[tool.semantic_release.publish]
|
||||
dist_glob_patterns = ["dist/*"]
|
||||
upload_to_vcs_release = true
|
28
.gitea/workflows/release.yml
Normal file
28
.gitea/workflows/release.yml
Normal file
@ -0,0 +1,28 @@
|
||||
name: release
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- feat/release_actions
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write # to be able to publish a GitHub release
|
||||
issues: write # to be able to comment on released issues
|
||||
pull-requests: write # to be able to comment on released pull requests
|
||||
id-token: write # to enable use of OIDC for npm provenance
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: run_release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||
run: pipx run python-semantic-release -c .gitea/semantic_release.toml version
|
54
CHANGELOG.md
Normal file
54
CHANGELOG.md
Normal file
@ -0,0 +1,54 @@
|
||||
# CHANGELOG
|
||||
|
||||
|
||||
## v0.2.2 (2025-05-06)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Exclude changelog from template
|
||||
([`4b44b7b`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/4b44b7b599c3f27af153120a8529a20d164393f3))
|
||||
|
||||
|
||||
## v0.2.1 (2025-05-06)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Ui xml template
|
||||
([`3641451`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/3641451d1960bca1e1b64d016d4669f053519fc6))
|
||||
|
||||
|
||||
## v0.2.0 (2025-05-06)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Don't include default test widgets
|
||||
([`45a03e9`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/45a03e9dec15dd988f229296f360b764634b6947))
|
||||
|
||||
### Features
|
||||
|
||||
- Add plugin widget template
|
||||
([`56b58f5`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/56b58f58dbede707ee574fc0cc682b0b3723a11c))
|
||||
|
||||
- Add release action
|
||||
([`ea95f2d`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/ea95f2d97002e39dbaa9aec1d48b266b7a019b12))
|
||||
|
||||
|
||||
## v0.1.0 (2025-05-02)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add branch input to CI template for child pipeline
|
||||
([`8d13fbd`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/8d13fbdcda329f0361e3fcd58a6026a938325f23))
|
||||
|
||||
- Fix auto update entry point for v2
|
||||
([`2270c61`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/2270c61e69b2943444eec1158804b9b1598d0a02))
|
||||
|
||||
### Build System
|
||||
|
||||
- Add copier as dev dependency
|
||||
([`449dbbc`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/449dbbce49f398eb5df44d31e13ec32234284f70))
|
||||
|
||||
### Refactoring
|
||||
|
||||
- Make a copier template from BEC plugin files
|
||||
([`a389984`](https://gitea.psi.ch/bec/bec_plugin_copier_template/commit/a389984d25daf978cf6ad1ff3a8664e1d656a6dd))
|
52
copier.yml
52
copier.yml
@ -1,3 +1,11 @@
|
||||
_exclude:
|
||||
- ".gitea/"
|
||||
- "CHANGELOG.md"
|
||||
# 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
|
||||
|
||||
@ -18,7 +26,49 @@ project_name:
|
||||
type: str
|
||||
help: What is your project name?
|
||||
|
||||
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: >
|
||||
{% 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 %}
|
||||
when: false
|
||||
|
||||
|
||||
# other configuration
|
||||
|
||||
ui_fileinfo: # would like to save this programatically when generated but don't see how
|
||||
type: yaml
|
||||
multiline: true
|
||||
default: >
|
||||
{% 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 %}
|
||||
when: false
|
||||
|
||||
_tasks:
|
||||
- "git init --initial-branch=main"
|
||||
- "git init --initial-branch=main"
|
||||
- >
|
||||
{% for info in ui_fileinfo %}pyside6-uic {{ info.ui_file }} -o {{ info.out_file }};
|
||||
{% endfor %}
|
||||
- "git add -A; git commit -a -m 'Init repo {{ project_name }} at template version {{ _commit }}'"
|
||||
|
@ -1,2 +1,5 @@
|
||||
# Changes here will be overwritten by Copier!
|
||||
# Do not edit this file!
|
||||
# It is needed to track the repo template version, and editing may break things.
|
||||
# This file will be overwritten by copier on template updates.
|
||||
|
||||
{{ _copier_answers|to_nice_yaml -}}
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>{{ widget_plugin.class | stash_filename }}</class>
|
||||
<widget class="QWidget" name="{{ widget_plugin.class }}">
|
||||
</widget>
|
||||
<resources />
|
||||
<connections />
|
||||
</ui>
|
@ -0,0 +1,11 @@
|
||||
from qtpy.QtWidgets import QWidget
|
||||
|
||||
from bec_widgets.utils.bec_widget import BECWidget
|
||||
|
||||
{% if widget_plugin.use_ui %}
|
||||
from {{ project_name }}.bec_widgets.widgets.{{ widget_plugin.module }}.{{ widget_plugin.ui_module }} import {{ widget_plugin.ui_class }}
|
||||
{% endif %}
|
||||
|
||||
class {{ widget_plugin.class }}(BECWidget, QWidget{% if widget_plugin.use_ui %}, {{ widget_plugin.ui_class }}{% endif %}):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
Reference in New Issue
Block a user