Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 35 additions & 22 deletions .github/workflows/NewUpdate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,26 +52,38 @@ jobs:
echo "Unzipping..."
unzip -q sirius-*-linux-x64.zip
echo "API Ready"
- name: Install Display Drivers & Libs
run: |
sudo apt-get update
sudo apt-get install -y xvfb libgtk-3-0t64 libasound2t64 libx11-xcb1 libnss3 libxss1
- name: Run Rest Api with strings
run: |
bash .updater/api/sirius/bin/sirius REST --headless --api-mode=STABLE -p 8080 -s &
xvfb-run --auto-servernum --server-args="-screen 0 1024x768x24" \
bash .updater/api/sirius/bin/sirius REST --gui --api-mode=STABLE -p 8080 -s &
- name: Update api-docs-strings.json
run: |
while ! nc -z localhost 8080; do sleep 0.1; done
cd .updater/api
wget -nv http://localhost:8080/v3/api-docs -O api-docs-strings.json
working-directory: .updater/api
- name: Shutdown SIRIUS
run: curl -X POST http://localhost:8080/actuator/shutdown
- name: Run Rest Api with enums
run: |
bash .updater/api/sirius/bin/sirius REST --headless --api-mode=STABLE --enums-as-ref -p 8080 -s &
xvfb-run --auto-servernum --server-args="-screen 0 1024x768x24" \
bash .updater/api/sirius/bin/sirius REST --gui --api-mode=STABLE --enums-as-ref -p 8080 -s &
- name: Update api-docs-enums.json
run: |
while ! nc -z localhost 8080; do sleep 0.1; done
cd .updater/api
wget -nv http://localhost:8080/v3/api-docs -O api-docs-enums.json
working-directory: .updater/api
- name: Shutdown SIRIUS
run: curl -X POST http://localhost:8080/actuator/shutdown
- name: Format JSON files
run: |
sudo apt-get install -y moreutils
jq . api-docs-strings.json | sponge api-docs-strings.json
jq . api-docs-enums.json | sponge api-docs-enums.json
working-directory: .updater/api
- name: Update Clients
run: |
# load package version from file
Expand All @@ -98,32 +110,34 @@ jobs:
echo "generating Finished!"
- name: Format Python Package
run: |
cp client-api_python/pysirius_api.py client-api_python/generated/PySirius
cp client-api_python/pysirius_sdk.py client-api_python/generated/PySirius
cp client-api_python/pysirius_helper.py client-api_python/generated/PySirius
cp pysirius_api.py generated/PySirius
cp pysirius_sdk.py generated/PySirius
cp pysirius_helper.py generated/PySirius

chmod +x ./client-api_python/formatting/format_init.sh
./client-api_python/formatting/format_init.sh
chmod +x ./formatting/format_init.sh
./formatting/format_init.sh
working-directory: client-api_python
- name: Format R package
run: |
cp client-api_r/rsirius_sdk.R client-api_r/generated/R/rsirius_sdk.R
cp client-api_r/rsirius_helper.R client-api_r/generated/R/rsirius_helper.R
echo >> client-api_r/generated/NAMESPACE
echo "# SDK" >> client-api_r/generated/NAMESPACE
echo "export(SiriusSDK)" >> client-api_r/generated/NAMESPACE
echo "export(Helper)" >> client-api_r/generated/NAMESPACE
cp rsirius_sdk.R generated/R/rsirius_sdk.R
cp rsirius_helper.R generated/R/rsirius_helper.R
echo >> generated/NAMESPACE
echo "# SDK" >> generated/NAMESPACE
echo "export(SiriusSDK)" >> generated/NAMESPACE
echo "export(Helper)" >> generated/NAMESPACE

chmod +x ./client-api_r/patches/list_syntax_fix.sh
./client-api_r/patches/list_syntax_fix.sh
chmod +x ./patches/list_syntax_fix.sh
./patches/list_syntax_fix.sh

chmod +x ./client-api_r/patches/insert_wait_for_job_completion_in_rsirius_api.sh
./client-api_r/patches/insert_wait_for_job_completion_in_rsirius_api.sh
chmod +x ./patches/insert_wait_for_job_completion_in_rsirius_api.sh
./patches/insert_wait_for_job_completion_in_rsirius_api.sh
working-directory: client-api_r
- name: Remove Sirius Rest Api
run: |
cd .updater/api
rm -rf *sirius*
rm -rf releases.json
echo "Done"
working-directory: .updater/api
- name: Remove Openapi Generator Files
run: |
rm -rf .updater/openapi_generator
Expand All @@ -139,8 +153,7 @@ jobs:
echo "dispatched workflow"
echo "sleeping for 30s to make sure it started"
sleep 30
list=$(gh run list --workflow RManualGeneration --branch ${GITHUB_REF##*/})
id=$(echo $list | grep -oP 'in_progress RManualGeneration RManualGeneration [^ ]* workflow_dispatch \K\d+')
id=$(gh run list --workflow RManualGeneration.yml --branch ${GITHUB_REF##*/} --json databaseId,status --jq '.[] | select(.status=="in_progress") | .databaseId')
echo "run ID of RManualGeneration is: $id"
gh run watch $id --exit-status --interval 3
echo "generation done!"
Expand Down
137 changes: 120 additions & 17 deletions .updater/api/api-docs-enums.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@
}
],
"tags": [
{
"name": "Tags",
"description": "[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."
},
{
"name": "Info",
"description": "Status und Information"
Expand All @@ -32,6 +28,26 @@
"name": "Compounds",
"description": "This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"
},
{
"name": "Gui",
"description": "GUI Control: Open, control and close SIRIUS Graphical User Interface (GUI) on specified projects."
},
{
"name": "Projects",
"description": "Manage SIRIUS projects."
},
{
"name": "Runs",
"description": "[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."
},
{
"name": "Compound Statistics",
"description": "[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."
},
{
"name": "Tags",
"description": "[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."
},
{
"name": "Login and Account",
"description": "Perform signIn, signOut and signUp. Get tokens and account information."
Expand All @@ -51,18 +67,6 @@
{
"name": "Features",
"description": "This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."
},
{
"name": "Projects",
"description": "Manage SIRIUS projects."
},
{
"name": "Runs",
"description": "[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."
},
{
"name": "Compound Statistics",
"description": "[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."
}
],
"paths": {
Expand Down Expand Up @@ -1626,6 +1630,71 @@
}
}
},
"/api/projects/{projectId}/gui": {
"post": {
"tags": [
"Gui"
],
"summary": "Open GUI instance on specified project-space and bring the GUI window to foreground.",
"description": "Open GUI instance on specified project-space and bring the GUI window to foreground.",
"operationId": "openGui",
"parameters": [
{
"name": "projectId",
"in": "path",
"description": "of project-space the GUI instance will connect to.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"201": {
"description": "Created"
}
}
},
"delete": {
"tags": [
"Gui"
],
"summary": "Close GUI instance of given project-space if available.",
"description": "Close GUI instance of given project-space if available.",
"operationId": "closeGui",
"parameters": [
{
"name": "projectId",
"in": "path",
"description": "if project-space the GUI instance is connected to.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "closeProject",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "boolean"
}
}
}
}
}
}
},
"/api/projects/{projectId}/groups/{groupName}": {
"get": {
"tags": [
Expand Down Expand Up @@ -6781,6 +6850,31 @@
}
}
},
"/api/guis": {
"get": {
"tags": [
"Gui"
],
"summary": "Get list of currently running gui windows, managed by this SIRIUS instance.",
"description": "Get list of currently running gui windows, managed by this SIRIUS instance.\n Note this will not show any Clients that are connected from a separate process!",
"operationId": "getGuis",
"responses": {
"200": {
"description": "List of GUI windows that are currently managed by this SIRIUS instance.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GuiInfo"
}
}
}
}
}
}
}
},
"/api/default-job-config": {
"get": {
"tags": [
Expand Down Expand Up @@ -11037,6 +11131,15 @@
"CLP"
]
},
"GuiInfo": {
"type": "object",
"properties": {
"projectId": {
"type": "string",
"description": "The project this instance is running on"
}
}
},
"ConnectionCheck": {
"required": [
"errors",
Expand Down Expand Up @@ -11201,4 +11304,4 @@
}
}
}
}
}
Loading
Loading