Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

int: Initial monorepo #392

Merged

Conversation

jamesclark-Zapata
Copy link
Contributor

@jamesclark-Zapata jamesclark-Zapata commented Apr 18, 2024

The problem

In preparation for separate packages, we require a monorepo setup.

This PR's solution

Implements the ADR, excluding a rye workspace which can be added at any time later.

  • orquestra-sdk is moved to the projects/ directory
  • Github actions workflows are modified:
    • Generic "coverage" and "style" workflows that are reusable.
    • A single PR workflow that checks for modified files and runs tests/checks.
      This workflow has a single job that can be used as the required check. This only passes if all the style checks/tests that were actually run pass.
    • Updated the nightly check to use the reusable workflows
    • Updates the PR comment action to use the working directory

Note: the nightly workflow hasn't been tested yet because I renamed it and it won't show up in the UI until it's on main.

Checklist

Check that this PR satisfies the following items:

  • Tests have been added for new features/changed behavior (if no new features have been added, check the box).
  • The changelog file has been updated with a user-readable description of the changes (if the change isn't visible to the user in any way, check the box).
  • The PR's title is prefixed with <feat/fix/chore/imp[rovement]/int[ernal]/docs>[!]:
  • The PR is linked to a JIRA ticket (if there's no suitable ticket, check the box).

Copy link

github-actions bot commented Apr 18, 2024

🚀 Code Coverage

-----------------------------------------------------------------------------------------------
src/orquestra/sdk/_client/_base/_api/_config.py                     144      7    95%   256-264, 266, 370-376
src/orquestra/sdk/_client/_base/_api/_task_run.py                   120      4    97%   63, 280, 300, 304
src/orquestra/sdk/_client/_base/_api/_wf_run.py                     287     20    93%   99, 128-129, 164, 254-258, 279-280, 387-388, 415, 609, 718-719, 737, 781, 792-793, 812
src/orquestra/sdk/_client/_base/_ast.py                             108      1    99%   222
src/orquestra/sdk/_client/_base/_config.py                          160      2    99%   411-412
src/orquestra/sdk/_client/_base/_driver/_ce_runtime.py              234      5    98%   58, 182, 187, 445, 727
src/orquestra/sdk/_client/_base/_driver/_client.py                  369      8    98%   214-215, 232-233, 241-242, 1145-1146
src/orquestra/sdk/_client/_base/_driver/_models.py                  223      1    99%   578
src/orquestra/sdk/_client/_base/_dsl.py                             421     16    96%   37, 318, 582-591, 1062, 1065-1066, 1074-1075, 1113-1115, 1140, 1155, 1171
src/orquestra/sdk/_client/_base/_factory.py                          26      1    96%   40
src/orquestra/sdk/_client/_base/_in_process_runtime.py              136     10    93%   103-106, 180-181, 246, 271, 317, 393
src/orquestra/sdk/_client/_base/_services.py                         44      8    82%   23, 26, 29, 32, 105-106, 126-127
src/orquestra/sdk/_client/_base/_spaces/_api.py                      28      4    86%   31-32, 57-58
src/orquestra/sdk/_client/_base/_testing/_connections.py             39      6    85%   34, 43-56, 83-85
src/orquestra/sdk/_client/_base/_testing/_example_wfs.py            230     15    93%   55, 61, 93, 105, 112, 221-223, 248-251, 288, 327-330, 340, 395
src/orquestra/sdk/_client/_base/_traversal.py                       302      7    98%   349, 396, 438, 513, 525, 698, 718
src/orquestra/sdk/_client/_base/_viz.py                              63      5    92%   54-59, 64
src/orquestra/sdk/_client/_base/_workflow.py                        214     19    91%   179, 186-187, 300, 319, 321, 326-330, 446-450, 500-501, 519, 536, 549, 563
src/orquestra/sdk/_client/_base/cli/_arg_resolvers.py               190      1    99%   184
src/orquestra/sdk/_client/_base/cli/_config/_list.py                 26      5    81%   35-38, 52
src/orquestra/sdk/_client/_base/cli/_dumpers.py                      60      3    95%   139, 155-156
src/orquestra/sdk/_client/_base/cli/_entry.py                       155     33    79%   136-139, 147-150, 176-179, 218-221, 247-250, 330-333, 344-347, 364-367, 381-384, 414-417, 489-492
src/orquestra/sdk/_client/_base/cli/_login/_login.py                 60      2    97%   79-80
src/orquestra/sdk/_client/_base/cli/_repos.py                       243     12    95%   119-120, 152-153, 320-321, 327, 499-500, 698-699, 716
src/orquestra/sdk/_client/_base/cli/_task/_results.py                31      2    94%   52-53
src/orquestra/sdk/_client/_base/cli/_ui/_click_default_group.py      63      3    95%   150-152
src/orquestra/sdk/_client/_base/cli/_ui/_errors.py                  141     18    87%   73-79, 166, 186-188, 193-195, 200-201, 241-242, 245-246, 251-252
src/orquestra/sdk/_client/_base/cli/_ui/_presenters.py              191      3    98%   50-53, 138
src/orquestra/sdk/_client/_base/cli/_ui/_prompts.py                  89     45    49%   45, 55, 98, 111, 128-137, 146, 155, 182, 192-206, 230-261, 284-300
src/orquestra/sdk/_client/_base/cli/_workflow/_list.py               34      2    94%   68-69
src/orquestra/sdk/_client/_base/cli/_workflow/_logs.py               39      2    95%   105-106
src/orquestra/sdk/_client/_base/cli/_workflow/_submit.py             49      1    98%   143
src/orquestra/sdk/_client/_base/cli/_workflow/_view.py               23      2    91%   45-46
src/orquestra/sdk/_client/_base/loader.py                            65      2    97%   146-147
src/orquestra/sdk/_client/secrets/_api.py                            61      6    90%   74, 76, 114, 163, 204, 206
src/orquestra/sdk/_client/secrets/_client.py                         73      1    99%   49
src/orquestra/sdk/_client/secrets/_exceptions.py                     16      2    88%   41-42
src/orquestra/sdk/_runtime/_ray/_build_workflow.py                  262     23    91%   75-76, 181-187, 199-200, 233, 461-475, 671-678
src/orquestra/sdk/_runtime/_ray/_client.py                           88     11    88%   26-32, 166-167, 183, 205-206
src/orquestra/sdk/_runtime/_ray/_dag.py                             218     11    95%   76, 236, 344-359, 655-657, 778, 789
src/orquestra/sdk/_shared/_graphs.py                                 46      1    98%   80
src/orquestra/sdk/_shared/abc.py                                     38      2    95%   216, 220
src/orquestra/sdk/_shared/dispatch.py                                57     13    77%   17-33, 64-67, 98
src/orquestra/sdk/_shared/kubernetes/quantity.py                     33      6    82%   39, 67-68, 78, 82, 85
src/orquestra/sdk/_shared/orqdantic/orqdantic.py                     62     32    48%   16-38, 75, 81, 87, 106-116, 122, 125
src/orquestra/sdk/_shared/schema/ir.py                              168      1    99%   70
src/orquestra/sdk/examples/exportable_wf.py                          22      5    77%   20, 30, 41, 53, 58
src/orquestra/sdk/examples/workflow_defs.py                          21     11    48%   11-14, 19, 24-28, 33
-----------------------------------------------------------------------------------------------
TOTAL                                                              7223    400    94%

46 files skipped due to complete coverage.
-------------
Diff Coverage
Diff: origin/main...HEAD, staged and unstaged changes
-------------
No lines with coverage information in this diff.
-------------

@jamesclark-Zapata jamesclark-Zapata force-pushed the int/jamesclark-zapata/orqsdk-1030/monorepo-init branch from 6ba9c8d to 3cfa181 Compare April 20, 2024 01:08
@jamesclark-Zapata jamesclark-Zapata marked this pull request as ready for review April 20, 2024 04:37
@jamesclark-Zapata jamesclark-Zapata requested a review from a team April 20, 2024 04:37
@jamesclark-Zapata jamesclark-Zapata force-pushed the int/jamesclark-zapata/orqsdk-1030/monorepo-init branch from 76521ad to 3e9ae17 Compare April 22, 2024 04:48
Copy link
Contributor

@alexjuda alexjuda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks nice! Added non-blocking suggestions

.github/workflows/all-pr-checks.yml Outdated Show resolved Hide resolved
.github/workflows/all-pr-checks.yml Show resolved Hide resolved
Copy link
Contributor

@alexjuda alexjuda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks nice! Added non-blocking suggestions

@jamesclark-Zapata jamesclark-Zapata force-pushed the int/jamesclark-zapata/orqsdk-1030/monorepo-init branch from 3e3fe0a to 4467194 Compare April 23, 2024 03:08
@jamesclark-Zapata jamesclark-Zapata force-pushed the int/jamesclark-zapata/orqsdk-1030/monorepo-init branch from 4467194 to 924de78 Compare April 24, 2024 19:32
@jamesclark-Zapata jamesclark-Zapata merged commit 062e518 into main May 1, 2024
10 checks passed
@jamesclark-Zapata jamesclark-Zapata deleted the int/jamesclark-zapata/orqsdk-1030/monorepo-init branch May 1, 2024 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants