You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/Glossary.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -177,7 +177,7 @@ The journal parser is a program that runs as part of the end run processes. It l
177
177
178
178
## [LabVIEW](/system_components/LabVIEW)
179
179
180
-
**Laboratory Virtual Instrument Engineering Workbench**. A graphical programming language in which the device drivers for [SECI](#seci)are written.
180
+
**Laboratory Virtual Instrument Engineering Workbench**. A graphical programming language in which the device drivers for [SECI](#seci)were written. A small number of drivers still use LabVIEW, despite SECI having been retired.
@@ -189,7 +189,7 @@ A named abstraction for a variable setting, e.g. the macro is PORT, referenced a
189
189
190
190
## Mini-Inst
191
191
192
-
A term used to describe an instrument which uses components from both the [SECI](#seci) and [IBEX](#ibex) control systems. For example, an [IOC](#ioc) wrapped with a [VI](#vi) on a [SECI](#seci) instrument (using [CALab](#calab)).
192
+
A term used to describe an instrument which runs a minimal set of IBEX services, as opposed to a full IBEX installation.
Copy file name to clipboardExpand all lines: doc/Overview.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,6 @@ overview/Links-and-Resources
34
34
## Documentation & Processes
35
35
36
36
-[How to edit this documentation](Editing-the-Wiki)
37
-
-[How to demonstrate IBEX](processes/meetings_with_scientists/Demo-notes): Some notes on what to show someone when demonstrating IBEX for the first time
38
37
-[Notes from Retrospectives](processes/Retrospective-Notes): Notes from Sprint Retrospective meetings are recorded here.
39
38
-[Decision Log](processes/Decision-Log): A place to write down decisions made.
40
39
-[Documentation](processes/dev_processes/Project-Documentation): Documentation of the project and processes _(including why we have 3 wikis)_
Copy file name to clipboardExpand all lines: doc/Providing-Support.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -132,14 +132,14 @@ There are a number of tips for [trouble shooting](#all_troubleshooting_links) al
132
132
1. I can't use this button to get to more details/why doesn't this bit of the OPI work
133
133
- Check they are in manager mode
134
134
1. I need to add this device to my system
135
-
- Check {external+ibex_user_manual:doc}`the user manual <index>` for IBEX, for SECI, if you don't know already ask someone else
135
+
- Check {external+ibex_user_manual:doc}`the user manual <index>`
136
136
1. My motor won't move
137
137
- Are both limits made?
138
138
- Yes: Something has happened in the physical realm, refer it to EUSG via the MCR
139
139
- No: Go to next consideration
140
140
- Is any of the other information updating for that motor controller?
141
141
- Yes: Go to next consideration
142
-
- No: Under IBEX go to the engineering device screen, under SECI open the advanced motor functions and go to the console tab, do not send any characters but send a command, if the response is anything but `:` then the Galil is in a fault mode of some kind which will involve restarts etc.
142
+
- No: Under IBEX go to the engineering device screen, do not send any characters but send a command, if the response is anything but `:` then the Galil is in a fault mode of some kind which will involve restarts etc.
143
143
* If the Galil is unresponsive refer it to EUSG via the MCR
144
144
- Looking at the specific motor:
145
145
- Are you trying to move in the same direction as an active limit switch?
Copy file name to clipboardExpand all lines: doc/client/testing/System-Testing-with-Squish.md
+6-7Lines changed: 6 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,8 +55,8 @@ you run a test).
55
55
56
56
## RDP to Server
57
57
58
-
It is possible to remote desktop to the squish server but when you disconnect you must use the "Disconnect from RDP"
59
-
shortcut on the desktop. To do this you must be an Admin on the desktop.
58
+
It is possible to remote desktop to the squish servers but when you disconnect you must use the "Disconnect from RDP"
59
+
shortcut on the desktop. This will prompt for escalated privileges - enter your federal ID and password on the CLRC domain.
60
60
61
61
## Setup For Build Server
62
62
@@ -184,12 +184,11 @@ the screenshots from the most recent build will be available.
184
184
## License server
185
185
186
186
This was set up as per https://doc.qt.io/squish/setting-up-the-squish-floating-license-server.html on
187
-
`control-svcs.isis.cclrc.ac.uk` in the directory `/usr/local/squish-licenceserver`. The service is automatically started
188
-
at boot time via systemd, the file `squish-licenseserver.service` has the service details and is symbolically linked
189
-
from the systemd `/etc/systemd/system` area. The log file is `/var/log/squish-licenseserver.log` and the service is
190
-
running on the default port of 49345.
187
+
`control-svcs.isis.cclrc.ac.uk` The executable runs from `/opt/squish-license-server/bin/licenseserver` and licence is stored in `/etc/squish-license-server/licenses` The service is automatically started
188
+
at boot time via systemd. Data is logged to syslog and the service is
189
+
running on the default port of 49345. To see the log you can use e.g. `journalctl -u squish-license-server.service --since today`
191
190
192
-
To restart the licence server process, use `sudo systemctl restart squish-licenseserver.service` on the licence server
191
+
To restart the licence server process, use `sudo systemctl restart squish-license-server.service` on the licence server
Copy file name to clipboardExpand all lines: doc/deployment/Creating-a-release.md
+15-41Lines changed: 15 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,72 +9,47 @@
9
9
release/*
10
10
```
11
11
12
-
## Understanding Java Licensing
13
-
Make sure you [understand how Java is licensed](/processes/dev_processes/Understanding-Java-Licensing), so that we do not inadvertently make ISIS liable for licensing fees.
14
-
15
-
## Release tickets
16
-
17
-
Text for release ticket:
18
-
19
-
> As a developer I want an IBEX release so I can install it on the instrument machines for the start of machine physics on 26th.
Project is ready to be released not for a specific event, e.g. at the end of a sprint. Script Generator version number always differs to the client's.
33
15
34
16
{#creating_release_pre_testing_steps}
35
17
### Pre Testing
36
18
37
-
1. Contact computing group to let us know of the upgrade. Find out anything that needs to be in the release that isn't and mark with `for release` label. (This does not prevent a release)
38
-
1. Look at the released features in this branch [Upcoming Changes](https://github.com/ISISComputingGroup/IBEX/blob/master/release_notes/ReleaseNotes_Upcoming.md) and find the most significant level of change (i.e. is this cumulatively a major change, a minor change, or a patch?).
19
+
1. Find out anything that needs to be in the release that isn't and mark with `for release` label. (This does not prevent a release)
20
+
1. Ensure the version of `cs-studio`[referenced in the GUI's target platform](https://github.com/ISISComputingGroup/ibex_gui/blob/master/base/uk.ac.stfc.isis.ibex.targetplatform/targetplatform.target)
21
+
is recent enough to include the most recent changes in the
1. Update the [upgrade script](https://github.com/ISISComputingGroup/EPICS-upgrade/blob/master/upgrade.py) to include the latest version (this is done on master). Steps to do this are in [Config Upgrader in section *creating a production upgrade script*](/tools/Config-Upgrader)
40
24
1. After committing these changes to `master` on the `EPICS-upgrade` submodule, don't forget to push the new submodule version to `master` on the top `EPICS` branch. This is needed to make sure you changes appear on the release branch created in the next step.
41
25
1. For packages which are published on `PyPI`, in particular `genie_python` and `ibex_bluesky_core`, create PyPI releases if needed.
42
26
1. These packages are released by performing a `git tag x.y.z` on a checkout of `main`, where `x.y.z` is the new version you want to release. Push the tag using `git push origin tag x.y.z`. They will then build in github actions, and prompt to "approve" the release pipeline to PyPI.
43
27
1.`genie` should be released with a version number matching the main IBEX version number. The release takes around 15 minutes in GHA.
44
28
1.`ibex_bluesky_core` should generally have a minor/patch version incremented for now until we reach v1. The release takes a couple of minutes in GHA.
45
29
1.**Ensure these releases were successful** by checking on [pypi](https://pypi.org/) for the new release number before proceeding.
46
-
1. Start the Jenkins pipeline [Release Branches](https://epics-jenkins.isis.rl.ac.uk/job/Release_branches/).
47
-
- Click on 'Build with Parameters'.
30
+
1. Start the Github Actions pipeline [`create-release-branches`](https://github.com/ISISComputingGroup/ibex_utils/actions/workflows/create-release-branches.yml).
31
+
- Click on 'Run workflow'
48
32
- Set `VERSION` to the new release version (e.g. `X.x.m`).
49
-
- Set `TAG` if you wish to branch off a commit other than the latest top level `HEAD`. If you do branch off an earlier commit, also set `REMOTE` to `false` as it now does not make sense to verify if you are on the latest submodule versions.
50
-
- Check `REMOTE` if the `EPICS` submodules should be checked for later versions on their remote - the script will fail if there are submodule commits unpushed to top level. For a normal release you will be expecting all submodules to be on the latest version. If you want the currently pinned (not necessarily latest) versions, do not check REMOTE. If you should/expect to be using the latest versions of all dependent submodules, check REMOTE box to verify this. If there are unpushed submodules the `EPICS repo checks` Jenkins build will likely be in error already.
33
+
- Set `TAG` if you wish to branch off a commit other than the latest top level `HEAD`. If you do branch off an earlier commit, also set `REMOTE` to `false` as it now does not make sense to verify if you are on the latest submodule versions.
51
34
- The script will then (as selected):
52
35
- Create the release branches (named `Release_X.x.m` except `Release_Script_Gen_X.x.m` for script generator) for:
53
36
- `EPICS` and submodules.
54
37
- `IBEX GUI`.
55
38
- `Script Generator`.
56
39
- `Uktena`.
57
-
- `JSON_bourne`. (not none by default as it does not often change and is also not directly deployed to instruments)
58
40
- Update or add version numbers:
59
41
- In `ioc/master/INSTETC/INSTETC-IOC-01App/Db/svn-revision.db.tmpl` for `EPICS`.
60
42
- In `/uk.ac.stfc.isis.ibex.e4.client/pom.xml` and `/uk.ac.stfc.isis.ibex.e4.client/META-INF/MANIFEST.mf` for `IBEX GUI`.
61
43
- In `/uk.ac.stfc.isis.scriptgenerator.client/pom.xml` and `/uk.ac.stfc.isis.scriptgenerator.client/META-INF/MANIFEST.mf` for `Script Generator`.
62
44
- Note: `genie_python` library version numbers are set automatically from the git tag, and no longer need manually updating.
63
45
- Push these changes to remote release branch.
64
-
- Start the Jenkins builds (click `Scan Repository` on the ones that are multibranch pipelines):
65
-
-`EPICS_release`. (Build will be in `Kits$\CompGroup\ICP\Releases\X.x.m\EPICS`)
66
-
-`EPICS_release32`. (Build will be in `Kits$\CompGroup\ICP\Releases\X.x.m\EPICS32`)
67
-
-`uktena_release_pipeline`. (Build will be in `Kits$\CompGroup\ICP\Releases\X.x.m\genie_python_3`)
68
-
-`ibex_gui_releases_pipeline`. (Build will be in `Kits$\CompGroup\ICP\Releases\X.x.m\Client`)
69
-
-`scriptgenerator_release`. (Build will be in `Kits$\CompGroup\ICP\Releases\script_generator_release\X.x.m`)
70
-
1. Move the `Upcoming Release Notes` page (copy & paste) into a new blank `Release Notes "X.x.m"` file: Check that all of the merged tickets have also had their [release notes merged](https://github.com/ISISComputingGroup/IBEX/pulls) then move the changes which have been merged into the new release from the [upcoming page](https://github.com/ISISComputingGroup/IBEX/blob/master/release_notes/ReleaseNotes_Upcoming.md) to a new release notes page for the version, and commit this change to the master branch. Check that the release notes are as understandable as possible.
46
+
1. Start all of [these builds](https://epics-jenkins.isis.rl.ac.uk/view/Release/) in Jenkins.
47
+
1. Copy the new version's release notes (copy & paste) into a new blank `Release Notes "X.x.m"` (where `X.x.m` is the upcoming version) file and clear the contents: Check that all of the merged tickets have also had their [release notes merged](https://github.com/ISISComputingGroup/IBEX/pulls). Check that the release notes are as understandable as possible.
71
48
1. Create a released version entry in the [releases table](https://github.com/ISISComputingGroup/IBEX/blob/master/docs/all-releases.md) (including link to release notes) and commit to master.
72
-
1. Update the "Latest Stable Release" link on the [IBEX wiki homepage](https://github.com/ISISComputingGroup/IBEX) to be the new `"Release X.x.m"` and commit to master.
73
-
1. Remove all entries from `Upcoming Release Notes`, leaving a blank file with only the headers, e.g. "Instrument Specific Changes", etc. and commit to master.
49
+
1. Update the "Latest Stable Release" and "Upcoming release" links on the [IBEX wiki homepage](https://github.com/ISISComputingGroup/IBEX) to be the new release and commit to master.
74
50
1. If applicable, update the dependencies since the last release and add them to the bottom of the release notes. To find the python dependencies list, run a `pip freeze` on a cleanly released `uktena`. Note that you will need to specify the scripts directory to run pip commands. i.e. `C:\Instrument\Apps\Python3\Scripts\Pip.exe freeze`
75
-
1. Update the {external+ibex_user_manual:doc}`user manual <index>` with any relevant changes
76
-
1. copy the release to `control-svcs`, this is so we can set git remotes for hotfixes etc. as part of the deploy. So if release is number 1.2.3
1. copy the release to the `git$` share on `control-svcs` (see Keeper for the username and password for this), this is so we can set git remotes for hotfixes etc. as part of the deploy. So if release is number 1.2.3
- edit `EPICS.git\config` on the control-svcs version (you can browse straight to the `\\control-svcs` share above)
79
54
- change `bare = false` to `bare = true`
80
55
- Add an extra section at end of file
@@ -89,7 +64,7 @@ Project is ready to be released not for a specific event, e.g. at the end of a s
89
64
{#creating_release_testing_steps}
90
65
### Testing
91
66
92
-
Using GitBash, update the `experiment controls public share` has the most recent version of `ibex_utils`from Git (i.e. do git pull) - this is so the most recent install script will be used for testing and install. In git bash you can do a `cd` with the windows path but just change `\` to `/` e.g. `cd //isis/somewhere`. When you do a git operation it may warn about directory ownership, just follow the command it suggests to add an exception and then git try again. You should:
67
+
Update `\\isis\shares\ISIS_Experiment_Controls_Public\ibex_utils` - this is so the most recent install script will be used for testing and install. You should:
93
68
* do a `git branch` and check it is on `master` and not e.g. a test or ticket branch
94
69
* do a `git status` and check for any changes, if there are post on Teams
95
70
* do a `git pull` so you are on the latest `master` branch with no local changes
@@ -103,7 +78,7 @@ These steps should only be done once all changes to a release have been made and
103
78
which will become inconsistent if further changes are made to the release branch. Hence it is important to delete
104
79
the relevant release branch after it has been tagged.
105
80
106
-
1. Create a release tag in the EPICS, ibex_gui, uktena and JSON_bourne repositories. For each repo
81
+
1. Create a release tag in the EPICS, ibex_guiand uktena repositories. For each repo
107
82
1. Go to `[REPO_URL]/releases`, e.g. `https://github.com/ISISComputingGroup/ibex_gui/releases`
108
83
1. Click `Draft a new release`
109
84
1. Enter the tag version in the format `vX.x.p` and target the release branch
@@ -115,12 +90,11 @@ the relevant release branch after it has been tagged.
_Note: you may need to run `git config fsck.badEmail ignore` for the above step_
118
-
1. Make sure any changes on the release branch are merged back onto master for EPICS, ibex_gui, genie_python, and JSON_bourne (except version numbering)
93
+
1. Make sure any changes on the release branch are merged back onto master for EPICS, ibex_gui, and uktena (except version numbering)
119
94
1. Consider which instruments need this release:
120
95
* Breaking release: upgrade everyone
121
96
* Big improvement: upgrade everyone if there is a big improvement that everyone will benefit from
122
97
* Standard release: upgrade instruments that need updates, i.e. they need a newly released feature, and all those that are in the current release group, see [column in instruments table](https://github.com/ISISComputingGroup/IBEX/wiki#instrument-information). Note on the release ticket which instruments need to be released to using checkboxes (one for start and one for finish).
123
-
1. Deploy a new JSON_bourne if required see [here](/webdashboard/Web-Dashboard)
124
98
1.[Create repository for recording instrument changes post release](release/Release-based-repository) the deploy script automatically puts the instrument onto a branch of this repository
125
99
## Partial Release
126
100
For any release in which GUI version increments but server version does not, ensure the previous server version is added to the release folder via symbolic links or junctions, [see this ticket](https://github.com/ISISComputingGroup/IBEX/issues/7250).
0 commit comments