Skip to content

Commit a6bb61f

Browse files
Feat: Adds interactive session creation and listing (#300)
* implemented interactive-session list * adds the interactive session creation * refined in testing * changelog * fix lisitng status error * changed error message for invalid credentials * fix error message * removed tmp files * updates docs * added cis * fix typo in ci * fix typo in ci * fix typo in ci * cleanup * address sentry * removed gitlab token from cis * removed gitlab token from cis * added azzure interactive-session creation support * cleanup * added azure cis * fix typo * fix azure cis * fix cis * address sentry * fix typo in ci * address sentry * changed table to print full id * address sentry * Apply suggestions from code review Co-authored-by: dapineyro <45285897+dapineyro@users.noreply.github.com> * addressed review comments * updated docs * fix typo * fix cis * fix cis * Update tests/test_interactive_session/test_list_sessions.py Co-authored-by: dapineyro <45285897+dapineyro@users.noreply.github.com> * Update tests/test_interactive_session/test_list_sessions.py Co-authored-by: dapineyro <45285897+dapineyro@users.noreply.github.com> --------- Co-authored-by: dapineyro <45285897+dapineyro@users.noreply.github.com>
1 parent b25aed5 commit a6bb61f

18 files changed

Lines changed: 3230 additions & 21 deletions

File tree

.github/workflows/ci.yml

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ jobs:
186186
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_ADAPT }}
187187
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_ADAPT }}
188188
CLOUDOS_URL: "https://cloudos.lifebit.ai"
189-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
190189
run: |
191190
cloudos workflow import --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --workflow-name imported_from_gitlab --workflow-url https://gitlab.com/lifebit-ai/spammer-nf --repository-platform gitlab
192191
import_github:
@@ -210,7 +209,6 @@ jobs:
210209
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_ADAPT }}
211210
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_ADAPT }}
212211
CLOUDOS_URL: "https://cloudos.lifebit.ai"
213-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
214212
run: |
215213
cloudos workflow import --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --workflow-name imported_from_github --workflow-url https://github.com/lifebit-ai/spammer-nf --repository-platform github
216214
job_run_and_status:
@@ -308,7 +306,6 @@ jobs:
308306
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_ADAPT }}
309307
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_ADAPT }}
310308
CLOUDOS_URL: "https://cloudos.lifebit.ai"
311-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
312309
run: |
313310
cloudos job ${{ matrix.feature }} --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --job-id ${{ needs.job_run_and_status.outputs.job_id }}
314311
workflow_list:
@@ -900,3 +897,51 @@ jobs:
900897
--instance-type m4.xlarge \
901898
--params-file "$PARAMS_FILE" \
902899
--wait-completion
900+
interactive_session_list:
901+
runs-on: ubuntu-latest
902+
strategy:
903+
matrix:
904+
python-version: ["3.9"]
905+
steps:
906+
- uses: actions/checkout@v3
907+
- name: Set up Python ${{ matrix.python-version }}
908+
uses: actions/setup-python@v4
909+
with:
910+
python-version: ${{ matrix.python-version }}
911+
cache: pip
912+
cache-dependency-path: setup.py
913+
- name: Install dependencies
914+
run: |
915+
pip install -e .
916+
- name: Run tests
917+
env:
918+
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_ADAPT }}
919+
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_ADAPT }}
920+
CLOUDOS_URL: "https://cloudos.lifebit.ai"
921+
run: |
922+
echo q |cloudos interactive-session list --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID
923+
interactive_session_create:
924+
runs-on: ubuntu-latest
925+
strategy:
926+
matrix:
927+
python-version: ["3.9"]
928+
steps:
929+
- uses: actions/checkout@v3
930+
- name: Set up Python ${{ matrix.python-version }}
931+
uses: actions/setup-python@v4
932+
with:
933+
python-version: ${{ matrix.python-version }}
934+
cache: pip
935+
cache-dependency-path: setup.py
936+
- name: Install dependencies
937+
run: |
938+
pip install -e .
939+
- name: Run tests
940+
env:
941+
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_ADAPT }}
942+
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_ADAPT }}
943+
PROJECT_NAME: "cloudos-cli-tests"
944+
CLOUDOS_URL: "https://cloudos.lifebit.ai"
945+
run: |
946+
cloudos interactive-session create --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --project-name "$PROJECT_NAME" --name ci_test_cli --session-type jupyter --shutdown-in 10m
947+

.github/workflows/ci_az.yml

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ jobs:
167167
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_AZURE }}
168168
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_AZURE }}
169169
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
170-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
171170
run: |
172171
cloudos workflow import --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --workflow-name imported_from_gitlab --workflow-url https://gitlab.com/lifebit-ai/spammer-nf --repository-platform gitlab
173172
import_github_az:
@@ -191,7 +190,6 @@ jobs:
191190
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_AZURE }}
192191
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_AZURE }}
193192
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
194-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
195193
run: |
196194
cloudos workflow import --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --workflow-name imported_from_github --workflow-url https://github.com/lifebit-ai/spammer-nf --repository-platform github
197195
job_run_and_status_az:
@@ -289,7 +287,6 @@ jobs:
289287
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_AZURE }}
290288
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_AZURE }}
291289
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
292-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
293290
run: |
294291
cloudos job ${{ matrix.feature }} --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --job-id ${{ needs.job_run_and_status_az.outputs.job_id }}
295292
workflow_list_az:
@@ -686,3 +683,52 @@ jobs:
686683
--params-file "$PARAMS_FILE" \
687684
--execution-platform "azure" \
688685
--wait-completion
686+
interactive_session_list:
687+
runs-on: ubuntu-latest
688+
strategy:
689+
matrix:
690+
python-version: ["3.9"]
691+
steps:
692+
- uses: actions/checkout@v3
693+
- name: Set up Python ${{ matrix.python-version }}
694+
uses: actions/setup-python@v4
695+
with:
696+
python-version: ${{ matrix.python-version }}
697+
cache: pip
698+
cache-dependency-path: setup.py
699+
- name: Install dependencies
700+
run: |
701+
pip install -e .
702+
- name: Run tests
703+
env:
704+
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_AZURE }}
705+
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_AZURE }}
706+
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
707+
run: |
708+
echo q |cloudos interactive-session list --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID
709+
interactive_session_create:
710+
runs-on: ubuntu-latest
711+
strategy:
712+
matrix:
713+
python-version: ["3.9"]
714+
steps:
715+
- uses: actions/checkout@v3
716+
- name: Set up Python ${{ matrix.python-version }}
717+
uses: actions/setup-python@v4
718+
with:
719+
python-version: ${{ matrix.python-version }}
720+
cache: pip
721+
cache-dependency-path: setup.py
722+
- name: Install dependencies
723+
run: |
724+
pip install -e .
725+
- name: Run tests
726+
env:
727+
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_AZURE }}
728+
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_AZURE }}
729+
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
730+
PROJECT_NAME: "cloudos-cli-tests"
731+
INSTANCE_TYPE: "Standard_D4as_v4"
732+
run: |
733+
cloudos interactive-session create --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --project-name "$PROJECT_NAME" --name ci_test_cli --session-type jupyter --shutdown-in 10m --execution-platform azure --instance $INSTANCE_TYPE
734+

.github/workflows/ci_dev.yml

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ jobs:
167167
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_DEV }}
168168
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_DEV }}
169169
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
170-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
171170
run: |
172171
cloudos workflow import --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --workflow-name imported_from_gitlab --workflow-url https://gitlab.com/lifebit-ai/spammer-nf --repository-platform gitlab
173172
import_github_dev:
@@ -191,7 +190,6 @@ jobs:
191190
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_DEV }}
192191
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_DEV }}
193192
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
194-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
195193
run: |
196194
cloudos workflow import --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --workflow-name imported_from_github --workflow-url https://github.com/lifebit-ai/spammer-nf --repository-platform github
197195
job_run_and_status_dev:
@@ -289,7 +287,6 @@ jobs:
289287
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_DEV }}
290288
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_DEV }}
291289
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
292-
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
293290
run: |
294291
cloudos job ${{ matrix.feature }} --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --job-id ${{ needs.job_run_and_status_dev.outputs.job_id }}
295292
workflow_list_dev:
@@ -906,3 +903,50 @@ jobs:
906903
--instance-type m4.xlarge \
907904
--params-file "$PARAMS_FILE" \
908905
--wait-completion
906+
interactive_session_list:
907+
runs-on: ubuntu-latest
908+
strategy:
909+
matrix:
910+
python-version: [ "3.9" ]
911+
steps:
912+
- uses: actions/checkout@v3
913+
- name: Set up Python ${{ matrix.python-version }}
914+
uses: actions/setup-python@v4
915+
with:
916+
python-version: ${{ matrix.python-version }}
917+
cache: pip
918+
cache-dependency-path: setup.py
919+
- name: Install dependencies
920+
run: |
921+
pip install -e .
922+
- name: Run tests
923+
env:
924+
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_DEV }}
925+
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_DEV }}
926+
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
927+
run: |
928+
echo q |cloudos interactive-session list --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID
929+
interactive_session_create:
930+
runs-on: ubuntu-latest
931+
strategy:
932+
matrix:
933+
python-version: ["3.9"]
934+
steps:
935+
- uses: actions/checkout@v3
936+
- name: Set up Python ${{ matrix.python-version }}
937+
uses: actions/setup-python@v4
938+
with:
939+
python-version: ${{ matrix.python-version }}
940+
cache: pip
941+
cache-dependency-path: setup.py
942+
- name: Install dependencies
943+
run: |
944+
pip install -e .
945+
- name: Run tests
946+
env:
947+
CLOUDOS_TOKEN: ${{ secrets.CLOUDOS_TOKEN_DEV }}
948+
CLOUDOS_WORKSPACE_ID: ${{ secrets.CLOUDOS_WORKSPACE_ID_DEV }}
949+
CLOUDOS_URL: "https://dev.sdlc.lifebit.ai"
950+
PROJECT_NAME: "cloudos-cli-tests"
951+
run: |
952+
cloudos interactive-session create --cloudos-url $CLOUDOS_URL --apikey $CLOUDOS_TOKEN --workspace-id $CLOUDOS_WORKSPACE_ID --project-name "$PROJECT_NAME" --name ci_test_cli --session-type jupyter --shutdown-in 10m

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
## lifebit-ai/cloudos-cli: changelog
22

3+
## v2.83.0 (2026-03-18)
4+
5+
### Feat
6+
7+
- Adds interactive session class
8+
- Adds interactive session listing
9+
- Adds interactive session creation
10+
311
## v2.82.1 (2026-03-11)
412

513
### Patch

0 commit comments

Comments
 (0)