Skip to content

Commit ca3ab25

Browse files
authored
Add Versioning (#229)
* Add Optimizer Versioning to Logs and GUI * Bump K8s to 1.33.1 * Add gpt-oss as a bootstrapped model
1 parent 653dc11 commit ca3ab25

File tree

33 files changed

+811
-453
lines changed

33 files changed

+811
-453
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: ✨ Feature request
2+
description: Suggest a feature or enhancement for the AI Optimizer and Toolkit
3+
labels: ["type:enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to suggest a feature or enhancement for the AI Optimizer and Toolkit!
9+
We really appreciate the community's efforts to improve the AI Optimizer and Toolkit ❤️
10+
- type: checkboxes
11+
attributes:
12+
label: Checklist
13+
description: Please confirm and check all the following options.
14+
options:
15+
- label: I have searched the [existing issues](https://github.com/oracle-samples/ai-optimizer/issues) for similar feature requests.
16+
required: true
17+
- label: I added a descriptive title and summary to this issue.
18+
required: true
19+
- type: textarea
20+
attributes:
21+
label: Summary
22+
description: Type here a clear and concise description of the feature or enhancement request. Aim for 2-3 sentences.
23+
validations:
24+
required: true
25+
- type: textarea
26+
attributes:
27+
label: Why?
28+
description: Please outline the problem, motivation, or use case related to this feature request.
29+
placeholder: |
30+
It would be really cool to ...
31+
validations:
32+
required: false
33+
- type: textarea
34+
attributes:
35+
label: How?
36+
description: |
37+
Please describe the solution or implementation you'd like to see.
38+
Don't worry if you don't have a clear solution in mind; any input helps!
39+
placeholder: |
40+
...
41+
validations:
42+
required: false
43+
- type: textarea
44+
attributes:
45+
label: Additional Context
46+
description: |
47+
Links? References? Anything that will give us more context about the feature request here!
48+
49+
_Tip: You can attach images by clicking this area to highlight it and then dragging files in._
50+
validations:
51+
required: false
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: 🐛 Bug report
2+
description: Submit a bug report to help us improve the AI Optimizer and Toolkit
3+
labels: ["type:bug", "status:needs-triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to report this problem!
9+
We really appreciate the community's efforts to improve the AI Optimizer and Toolkit.
10+
11+
If you are not sure whether you have found a bug, please consider asking in our [Slack Channel](https://oracledevs.slack.com/archives/C089NPXG8AU) first.
12+
- type: checkboxes
13+
attributes:
14+
label: Checklist
15+
description: Please confirm and check all the following options.
16+
options:
17+
- label: I have searched the [existing issues](https://github.com/oracle-samples/ai-optimizer/issues) for similar issues.
18+
required: true
19+
- label: I added a very descriptive title to this issue.
20+
required: true
21+
- label: I have provided sufficient information below to help reproduce this issue.
22+
required: true
23+
- type: textarea
24+
attributes:
25+
label: Summary
26+
description: Type here a clear and concise description of the problem. Aim for 2-3 sentences.
27+
validations:
28+
required: true
29+
- type: textarea
30+
attributes:
31+
label: Steps To Reproduce
32+
description: Please provide the steps we should take to reproduce the bug.
33+
placeholder: |
34+
1. Go to '...'
35+
2. Click on '....'
36+
3. Scroll down to '....'
37+
4. See error
38+
validations:
39+
required: false
40+
- type: textarea
41+
attributes:
42+
label: Expected Behavior
43+
description: Explain what you expect to happen when you go through the steps above, assuming there were no bugs.
44+
validations:
45+
required: false
46+
- type: textarea
47+
attributes:
48+
label: Current Behavior
49+
placeholder: |
50+
Error message or applicable log output:
51+
```
52+
...
53+
```
54+
description: |
55+
Explain the buggy behavior you experience when you go through the steps above.
56+
If you have error messages or stack traces please provide them here as well.
57+
If applicable, add screenshots to help explain your problem.
58+
59+
_Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in._
60+
validations:
61+
required: false
62+
- type: checkboxes
63+
attributes:
64+
label: Is this a regression?
65+
description: Did this use to work the way you expected in the past?
66+
options:
67+
- label: Yes, this used to work in a previous version.
68+
required: false
69+
- type: textarea
70+
attributes:
71+
label: Debug info
72+
description: |
73+
Please share some system information related to the environment your app is running in.
74+
75+
Example:
76+
- **Version**: 1.13.0 _(found in `common/_version.py`)_
77+
- **Python version**: 3.11 _(get it with `$ python --version`)_
78+
- **Operating System**: MacOs 12.6
79+
- **Browser**: Chrome
80+
value: |
81+
- Version:
82+
- Python version:
83+
- Operating System:
84+
- Browser:
85+
validations:
86+
required: false
87+
- type: textarea
88+
attributes:
89+
label: Additional Information
90+
description: |
91+
Links? References? Anything that will give us more context about the issue you are encountering!
92+
93+
_Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in._
94+
validations:
95+
required: false
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: 📚 Documentation request
2+
description: Suggest additional documentation for the AI Optimizer and Toolkit
3+
labels: ["type:documentation"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to suggest more documentation for the AI Optimizer and Toolkit!
9+
We really appreciate the community's efforts to improve the AI Optimizer and Toolkit ❤️
10+
- type: textarea
11+
attributes:
12+
label: Improve existing documentation
13+
description: Link to documentation page in question (if any)
14+
placeholder: |
15+
https://oracle-samples.github.io/ai-optimizer/...
16+
validations:
17+
required: false
18+
- type: textarea
19+
attributes:
20+
label: Anything specific?
21+
description: Name of the feature where documentation need improvement
22+
placeholder: |
23+
This is not really clear...
24+
validations:
25+
required: false
26+
- type: textarea
27+
attributes:
28+
label: Say What!?!
29+
description: |
30+
Please describe what you think the documentation should say.
31+
Don't worry if you don't have a clear idea in mind; any input helps!
32+
placeholder: |
33+
...
34+
validations:
35+
required: false
36+
- type: textarea
37+
attributes:
38+
label: Additional Context
39+
description: |
40+
Links? References? Anything that will give us more context about the documentation request here!
41+
42+
_Tip: You can attach images by clicking this area to highlight it and then dragging files in._
43+
validations:
44+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 📖 Documentation
4+
url: https://oracle-samples.github.io/ai-optimizer/
5+
about: Learn more about how to use the AI Optimizer and Toolkit
6+
- name: ❓ Anything else?
7+
url: https://oracledevs.slack.com/archives/C089NPXG8AU
8+
about: Ask questions or provide feedback on the AI Optimizer and Toolkit community Slack channel

.github/workflows/releases.yml

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ on:
44
types: [published]
55

66
env:
7-
IAC: ${GITHUB_REPOSITORY#${GITHUB_REPOSITORY_OWNER}/}-stack.zip
7+
IAC: ${GITHUB_REPOSITORY#${GITHUB_REPOSITORY_OWNER}/}-iac
8+
SRC: ${GITHUB_REPOSITORY#${GITHUB_REPOSITORY_OWNER}/}-src
89

910
jobs:
1011
build-release:
@@ -17,23 +18,55 @@ jobs:
1718
steps:
1819
- name: Output Environment
1920
run: |
20-
echo "IaC: ${{ env.IAC }}"
21-
22-
- name: Validate Tag Name
21+
echo "IAC: ${{ env.IAC }}"
22+
echo "SRC: ${{ env.SRC }}"
23+
24+
- name: Checkout Code
25+
uses: actions/checkout@v4
26+
with:
27+
fetch-depth: 0
28+
29+
- name: Validate and Extract Version from Tag
30+
id: version
2331
run: |
24-
if [[ ! $GITHUB_REF_NAME =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
25-
echo "Invalid tag name format. Must be in the format vMAJOR.MINOR.PATCH"
32+
TAG_NAME=${GITHUB_REF_NAME}
33+
if [[ ! $TAG_NAME =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
34+
echo "Invalid tag name format: $TAG_NAME"
35+
echo "Must be in the format vMAJOR.MINOR.PATCH (e.g. v1.2.3)"
2636
exit 1
2737
fi
38+
VERSION=${TAG_NAME#v}
39+
echo "Tag validated: $TAG_NAME"
40+
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
2841
29-
- name: Checkout Code
30-
uses: actions/checkout@v4
42+
- name: Inject Static Version into _version.py and version.tf
43+
run: |
44+
echo "__version__ = \"$VERSION\"" > src/common/_version.py
45+
sed -i "s/app_version = \".*\"/app_version = \"$VERSION\"/" opentofu/version.tf
46+
echo "Injected version:"
47+
cat src/common/_version.py
48+
cat opentofu/version.tf
49+
env:
50+
VERSION: ${{ steps.version.outputs.VERSION }}
51+
52+
- name: Build and Push Source
53+
run: |
54+
cd src
55+
zip -r $RUNNER_TEMP/${{ env.SRC }}.zip .
56+
tar -czf "$RUNNER_TEMP/${{ env.SRC }}.tar.gz" .
57+
gh release upload ${{github.event.release.tag_name}} "$RUNNER_TEMP/${{ env.SRC }}.zip" --clobber
58+
gh release upload ${{github.event.release.tag_name}} "$RUNNER_TEMP/${{ env.SRC }}.tar.gz" --clobber
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
RUNNER_TEMP: ${{ runner.temp }}
62+
shell: bash
3163

3264
- name: Build and Push Infrastructure as Code
3365
run: |
3466
cd opentofu
35-
zip -r ${{ env.IAC }} . -x "terraform*" ".terraform*" "*/terraform*" "*/.terraform*" "generated/*"
36-
gh release upload ${{github.event.release.tag_name}} ${{ env.IAC }} --clobber
67+
zip -r $RUNNER_TEMP/${{ env.IAC }}.zip . -x "terraform*" ".terraform*" "*/terraform*" "*/.terraform*" "cfgmgt/stage/*.*"
68+
gh release upload ${{github.event.release.tag_name}} "$RUNNER_TEMP/${{ env.IAC }}.zip" --clobber
3769
env:
3870
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39-
shell: bash
71+
RUNNER_TEMP: ${{ runner.temp }}
72+
shell: bash

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,4 +113,4 @@ See [LICENSE](./LICENSE.txt) for more details.
113113

114114

115115
[magic_button]: https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg
116-
[magic_arch_stack]: https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-samples/ai-optimizer/releases/latest/download/ai-optimizer-stack.zip
116+
[magic_arch_stack]: https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-samples/ai-optimizer/releases/latest/download/ai-optimizer-iac.zip

docs/content/_index.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ menus = 'main'
44
archetype = "home"
55
description = './ai-optimizer/docs'
66
keywords = 'oracle optimizer toolkit microservices development genai rag'
7-
+++
7+
+++
88

99
<!--
1010
Copyright (c) 2024, 2025, Oracle and/or its affiliates.
@@ -51,12 +51,22 @@ The [Walkthrough](walkthrough) is a great way to familiarize yourself with the *
5151

5252
### Bare-Metal Installation
5353

54-
To run the application on bare-metal; download the source code from the {{< latest_release >}} and from the `src/` directory:
54+
To run the application on bare-metal, download the latest release:
55+
{{< latest_release >}}
56+
57+
1. Uncompress the release in a new directory. For example:
58+
59+
```bash
60+
mkdir ai-optimizer
61+
tar zxf ai-optimizer-src.tar.gz -C ai-optimizer
62+
63+
cd ai-optimizer
64+
```
5565

5666
1. Create and activate a Python Virtual Environment:
5767

5868
```bash
59-
cd src/
69+
cd ai-optimizer
6070
python3.11 -m venv .venv
6171
source .venv/bin/activate
6272
pip3.11 install --upgrade pip wheel
@@ -84,14 +94,21 @@ To run the application on bare-metal; download the source code from the {{< late
8494
References to `podman` commands, if applicable to your environment, can be substituted with `docker`.
8595
{{% /notice %}}
8696

87-
To run the application in a container; download the source code from the {{< latest_release >}} and from the top-level directory:
97+
To run the application in a container, download the latest release:
98+
{{< latest_release >}}
99+
100+
1. Uncompress the release in a new directory. For example:
88101

89-
1. Build the image.
102+
```bash
103+
mkdir ai-optimizer
104+
tar zxf ai-optimizer-src.tar.gz -C ai-optimizer
105+
106+
cd ai-optimizer
107+
```
90108

91-
From inside the `src/` directory, build the *ai-optimizer-aio* image:
109+
1. Build the *ai-optimizer-aio* image.
92110

93111
```bash
94-
cd src/
95112
podman build -t ai-optimizer-aio .
96113
```
97114

docs/content/advanced/helm.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ A full example of running the {{< short_app_ref >}} in a local Kubernetes cluste
2626

2727
You will need to build the {{< short_app_ref >}} container images and stage them in a container registry, such as the [OCI Container Registry](https://docs.oracle.com/en-us/iaas/Content/Registry/Concepts/registryoverview.htm) (**OCIR**).
2828

29+
1. Download the latest release:
30+
{{< latest_release >}}
31+
32+
1. Uncompress the release in a new directory. For example:
33+
34+
```bash
35+
mkdir ai-optimizer
36+
tar zxf ai-optimizer-src.tar.gz -C ai-optimizer
37+
38+
cd ai-optimizer
39+
```
40+
2941
1. Build the {{< short_app_ref >}} images:
3042

3143
From the code source `src/` directory:

docs/content/advanced/iac.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ weight = 1
77
Copyright (c) 2024, 2025, Oracle and/or its affiliates.
88
Licensed under the Universal Permissive License v1.0 as shown at http://oss.oracle.com/licenses/upl.
99
10-
spell-checker: ignore opentofu Ollama
10+
spell-checker: ignore opentofu ollama imagelink kubeconfig
1111
-->
1212

1313
The {{< full_app_ref >}} can easily be deployed in Oracle Cloud Infrastructure (**OCI**) using Infrastructure as Code (**IaC**) provided in the source [opentofu](https://github.com/oracle-samples/ai-optimizer/tree/main/opentofu) directory.
@@ -16,7 +16,7 @@ Choose between deploying a light-weight [Virtual Machine](#virtual-machine) or r
1616

1717
While the **IaC** can be run from a command-line with prior experience, the steps outlined here use [Oracle Cloud Resource Manager](https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Concepts/resourcemanager.htm) to simplify the process. To get started:
1818

19-
{{< imagelink url="https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-samples/ai-optimizer/releases/latest/download/ai-optimizer-stack.zip" src="https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg" alt="Deploy to Oracle Cloud" >}}
19+
{{< imagelink url="https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-samples/ai-optimizer/releases/latest/download/ai-optimizer-iac.zip" src="https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg" alt="Deploy to Oracle Cloud" >}}
2020

2121
## Virtual Machine
2222

0 commit comments

Comments
 (0)