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: README.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,7 @@ The SDK simplifies the setup and interaction with SAP AI Core, allowing you to f
21
21
-[Run the Application Locally](#run-the-application-locally)
22
22
-[Explore Further Capabilities](#explore-further-capabilities)
23
23
-[Documentation](#documentation)
24
+
-[Build the Project](#build-the-project)
24
25
-[FAQs](#faqs)
25
26
-[Contribute, Support and Feedback](#contribute-support-and-feedback)
26
27
-[Security / Disclosure](#security--disclosure)
@@ -137,6 +138,18 @@ For more detailed information and advanced usage, please refer to the following:
137
138
138
139
For updating versions, please refer to the [**Release Notes**](docs/release-notes/release-notes-0-to-14.md).
139
140
141
+
## Build the Project
142
+
143
+
You can build the project using Maven:
144
+
145
+
```shell
146
+
mvn clean install -DskipTests
147
+
```
148
+
149
+
This will install the current `SNAPSHOT` version of the project into your local Maven repository.
150
+
151
+
For SAP internal development, you can also use `SNAPSHOT` builds from the [internal](https://int.repositories.cloud.sap/ui/repos/tree/General/proxy-build-snapshots-cloudsdk/com/sap/ai/sdk) and [internet-facing](https://common.repositories.cloud.sap/artifactory/build-snapshots-cloudsdk/com/sap/ai/sdk/) Artifactory.
152
+
140
153
## FAQs
141
154
142
155
### _"How to add a custom header to AI Core requests?"_
Copy file name to clipboardExpand all lines: docs/adrs/005-release-strategy.md
+19-20Lines changed: 19 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,11 +27,12 @@ Since most new features will rely on generated code, the options for Java are li
27
27
Testing can be performed against multiple landscapes and can vary based on the type of tests.
28
28
29
29
- Unit tests may use test data from any landscape (including development landscapes) manually tested with e.g. Bruno.
30
-
- E2E tests may use canary or production landscapes.
30
+
- E2E tests may use integration, canary or production landscapes.
31
31
In case of multiple landscapes:
32
32
- GitHub matrix builds can be used to easily testing against multiple landscapes
33
33
- For any differences between landscapes, test toggles need to be considered (e.g. `@EnabledIfSystemProperty`)
34
34
- Such toggles come with a bit of additional maintenance cost, as they need to be removed once the feature is released to all landscapes
35
+
- Alternatively, E2E tests may be executed manually during development against any landscape
35
36
36
37
## Release
37
38
@@ -56,47 +57,45 @@ However, here there would be more freedom in when a feature toggle is enabled fo
56
57
57
58
We decide as follows:
58
59
59
-
> 1. New AI SDK versions are released roughly every 2 weeks, shortly after new AI Core versions have been released to _production EU10_.
60
-
> 2. Any _publicly available release_ of the AI SDKs must only contain _public API_ for AI Core features available in _production EU10_ under the service plan _extended_.
61
-
> 3. E2E tests run against canary EU12 and production EU10 using test toggles.
60
+
> 1. New AI SDK versions are released roughly every 2 weeks, shortly after new AI Core versions have been released to **all** landscapes.
61
+
> 2. Any _publicly available release_ of the AI SDKs must only contain _public API_ for AI Core features available in **any** landscape under the service plan _extended_.
62
+
> 3. E2E tests run automatically against canary only (EU12 for Java and JS, EU10 for Python). Production EU10 can be used for manual test runs.
62
63
63
64
Further explanations and notes:
64
65
65
66
- Any features released exclusively under the `sap-internal` plan are not supported.
66
-
Similarly, any features released only to specific landscapes (other than prod EU10) are not supported.
67
-
- There will be no releases of the SDKs to internal artifactory.
67
+
- There will be no stable releases of the SDKs to internal artifactory.
68
+
For Java, we deliver SNAPSHOT versions to Artifactory, for JS we deliver canary releases to NPM.
68
69
- Please note that the following is allowed:
69
70
- Public API in an unreleased SDK version for unreleased AI Core features.
70
71
Notably, this will **block** the release of the SDK until the AI Core feature is released publicly.
71
72
- Internal code in a released SDK version for unreleased AI Core features.
73
+
- Testing against additional landscapes is possible, but requires maintaining test toggles.
72
74
73
75
### An Example Development Lifecycle Iteration
74
76
75
77
The following depicts a development flow where the AI SDK development steps are performed as soon as possible.
76
78
77
79
1. A new AI Core feature is being developed.
78
-
2. A PR is raised on the AI SDK with a corresponding implementation, but so far not E2E-tested.
79
-
- Potentially aided by unit tests based on test data manually copied from e.g. Bruno.
80
+
- (optional) A preview of the changes is created on-demand on the AI SDK.
80
81
- Generated code is created from a development version of the relevant spec file.
81
-
3. (+2 weeks later) The feature is released to EU12 canary landscape.
82
-
4. The AI SDK PR is enhanced:
83
-
- With an updated spec file.
84
-
- With an E2E test against canary.
85
-
5. The AI SDK PR is merged.
86
-
6. (+1 week later) The feature is released to EU10 production landscape.
87
-
7. The E2E test is updated to now also run against production.
88
-
8. The AI SDK is released publicly.
82
+
- Potentially aided by unit tests based on test data manually copied from e.g. Bruno.
83
+
2. (+2 weeks later) The feature is released to EU12 canary landscape.
84
+
3. An AI SDK PR is automatically raised with an updated spec file.
85
+
- If required, E2E tests are enhanced to cover the additional feature scope.
86
+
4. The AI SDK PR is merged.
87
+
5. (+1 week later) The feature is released to EU10 production landscape.
88
+
6. The AI SDK is released publicly.
89
89
90
90
In case of delays in the release process of AI Core:
91
91
92
-
- If step (3) is delayed, the open PR may be closed and re-opened later
93
-
- If step (5) is delayed, we consider 3 options:
92
+
- If step (6) is delayed, we consider 3 options:
94
93
1. The PR is reverted, together with potentially other related PRs
95
94
2. The AI SDK release is delayed equally
96
95
3. The AI SDK is released anyway with exceptional PO approval
97
96
98
97
## Further Links
99
98
100
99
- The single source of truth for all landscapes is in [mlf-gitops](https://github.tools.sap/MLF-prod/mlf-gitops-prod)
101
-
- In particular, we care about the [version of orchestration in Prod EU10](https://github.tools.sap/MLF-prod/mlf-gitops-prod/blob/aws.eu-central-1.prod-eu/current/services/llm-orchestration/source/Chart.yaml)
- In particular, we care about the [version of orchestration](https://github.tools.sap/MLF-prod/mlf-gitops-prod/blob/aws.eu-central-1.prod-eu/current/services/llm-orchestration/source/Chart.yaml)
0 commit comments