Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| edf6298211 | |||
| 4e486f1fe3 |
+1
-1
@@ -2,7 +2,7 @@
|
||||
# It is needed to track the repo template version, and editing may break things.
|
||||
# This file will be overwritten by copier on template updates.
|
||||
|
||||
_commit: v1.4.0
|
||||
_commit: v1.2.3
|
||||
_src_path: https://github.com/bec-project/plugin_copier_template.git
|
||||
make_commit: true
|
||||
project_name: bec_testing_plugin
|
||||
|
||||
@@ -53,10 +53,9 @@ jobs:
|
||||
ref: "${{ inputs.BEC_PLUGIN_REPO_BRANCH || github.head_ref || github.sha }}"
|
||||
path: ./bec_testing_plugin
|
||||
|
||||
- name: Lint for merge conflicts from template updates
|
||||
shell: bash
|
||||
# Find all Copier conflicts except this line
|
||||
run: '! grep -r "<<<<<<< before updating" | grep -v "grep -r \"<<<<<<< before updating"'
|
||||
- name: Lint for merge conflicts
|
||||
run: |
|
||||
|
||||
|
||||
- name: Checkout BEC Core
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -6,33 +6,38 @@ permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
<<<<<<< before updating
|
||||
create_update_branch_and_pr:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
=======
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
>>>>>>> after updating
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
|
||||
- name: Install tools
|
||||
run: |
|
||||
<<<<<<< before updating
|
||||
pip install copier PySide6
|
||||
=======
|
||||
pip install copier
|
||||
>>>>>>> after updating
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Create virtualenv
|
||||
run: |
|
||||
python -m virtualenv .venv
|
||||
|
||||
- name: Install tools
|
||||
run: |
|
||||
source .venv/bin/activate
|
||||
pip install copier PySide6 bec_lib
|
||||
|
||||
|
||||
- name: Perform update
|
||||
run: |
|
||||
source .venv/bin/activate
|
||||
<<<<<<< before updating
|
||||
set -x
|
||||
git config --global user.email "bec_ci_staging@psi.ch"
|
||||
git config --global user.name "BEC automated CI"
|
||||
|
||||
@@ -41,12 +46,10 @@ jobs:
|
||||
git checkout -b $branch
|
||||
|
||||
echo "Running copier update..."
|
||||
copier update --trust --defaults --conflict inline 2>&1 | tee copier.log
|
||||
status=${PIPESTATUS[0]}
|
||||
output="$(cat copier.log)"
|
||||
echo $output
|
||||
msg="$(printf '%s\n' "$output" | head -n 1)"
|
||||
|
||||
output="$(copier update --trust --defaults --conflict inline 2>&1)
|
||||
echo output
|
||||
msg=$(echo output | head -n 1)"
|
||||
|
||||
if ! grep -q "make_commit: true" .copier-answers.yml ; then
|
||||
echo "Autocommit not made, committing..."
|
||||
git add -A
|
||||
@@ -57,14 +60,23 @@ jobs:
|
||||
echo "No changes detected"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
echo "repo $GITEA_REPOSITORY"
|
||||
git push -u origin $branch
|
||||
curl -X POST "https://gitea.psi.ch/api/v1/repos/${{ gitea.repository }}/pulls" \
|
||||
-H "Authorization: token ${{ secrets.CI_REPO_WRITE }}" \
|
||||
curl -X POST "https://gitea.psi.ch/api/v1/repos/$GITEA_REPOSITORY/pulls" \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{
|
||||
\"title\": \"Template: $(echo $msg)\",
|
||||
\"title\": \"$msg\",
|
||||
\"body\": \"This PR was created by Gitea Actions\",
|
||||
\"head\": \"$(echo $branch)\",
|
||||
\"head\": \"$branch\",
|
||||
\"base\": \"main\"
|
||||
}"
|
||||
=======
|
||||
branch="chore/update-template-$(python -m uuid)"
|
||||
git checkout -b $branch
|
||||
msg = $(copier update --trust --defaults --conflict inline 2>&1 | sed -n 1p)
|
||||
git add -A
|
||||
git diff-index --quiet HEAD || git commit -a -m $msg
|
||||
git push -u origin $branch
|
||||
>>>>>>> after updating
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
"""
|
||||
Scan components for bec_testing_plugin.
|
||||
|
||||
The scan components module allows you to define custom components that can be used in your scans.
|
||||
These components can be used to encapsulate reusable logic, interact with devices, or perform specific actions during the scan lifecycle.
|
||||
"""
|
||||
|
||||
from bec_server.scan_server.scans.scan_components import ScanComponents
|
||||
|
||||
|
||||
class BecTestingPluginScanComponents(ScanComponents):
|
||||
"""Scan components for bec_testing_plugin."""
|
||||
@@ -1,33 +0,0 @@
|
||||
"""
|
||||
Scan modifier plugin for bec_testing_plugin.
|
||||
|
||||
The scan modifier allows you to modify the scan lifecycle and run custom actions before or after the scan hook or replace the scan hook entirely.
|
||||
Note that the scan_modifier module must be registered as a plugin in the pyproject.toml file for it to be recognized by the BEC framework and that
|
||||
there can only be one scan_modifier plugin registered at a time. If you need to run multiple scan modifiers, you can create a single scan
|
||||
modifier plugin that runs multiple actions in sequence with conditional logic to determine which actions to run based on the scan context.
|
||||
"""
|
||||
|
||||
from bec_server.scan_server.scans.scan_modifier import ScanModifier, scan_hook_impl
|
||||
|
||||
|
||||
class BecTestingPluginScanModifier(ScanModifier):
|
||||
"""
|
||||
Scan modifier for bec_testing_plugin.
|
||||
|
||||
By inheriting from the ScanModifier base class, you get access to currently running scan (self.scan), the devices (self.dev), the scan info (self.scan_info),
|
||||
the scan components (self.components) and the scan actions (self.actions).
|
||||
"""
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
"""Initialize the scan modifier."""
|
||||
super().__init__(**kwargs)
|
||||
|
||||
# Example of running code before the scan stage for a specific scan
|
||||
# @scan_hook_impl("stage", "before")
|
||||
# def before_stage(self):
|
||||
# """Run before the stage hook."""
|
||||
# self.actions.send_client_info("Custom stage logic executed by ScanModifier.")
|
||||
# if self.scan_info.scan_name == "example_scan":
|
||||
# self.dev.samx.set(20)
|
||||
|
||||
|
||||
@@ -39,9 +39,6 @@ plugin_file_writer = "bec_testing_plugin.file_writer"
|
||||
[project.entry-points."bec.scans"]
|
||||
plugin_scans = "bec_testing_plugin.scans"
|
||||
|
||||
[project.entry-points."bec.scans.scan_modifier"]
|
||||
plugin_scan_modifier = "bec_testing_plugin.scans.scan_customization.scan_modifier"
|
||||
|
||||
[project.entry-points."bec.scans.metadata_schema"]
|
||||
plugin_metadata_schema = "bec_testing_plugin.scans.metadata_schema"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user