-
Notifications
You must be signed in to change notification settings - Fork 78
Add jdk25 support and install oracle tools #1546
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -158,9 +158,11 @@ Parameters: | |||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK11 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK17 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK21 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK25 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK11_ARM | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK17_ARM | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK21_ARM | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ADOPT_OPEN_JDK25_ARM | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - TEMURIN_OPEN_JDK8 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| MavenVersion: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Type: String | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -377,6 +379,13 @@ Resources: | |||||||||||||||||||||||||||||||||||||||||||||||||
| apt install -y mysql-client | ||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "Installing MariaDB database client" | ||||||||||||||||||||||||||||||||||||||||||||||||||
| apt install -y mariadb-client | ||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "Installing Oracle sqlplus64 tool" | ||||||||||||||||||||||||||||||||||||||||||||||||||
| curl -fSL https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.30-basic-19.30.0.0.0-1.el8.x86_64.rpm -o /tmp/oracle-instantclient-basic.rpm | ||||||||||||||||||||||||||||||||||||||||||||||||||
| curl -fSL https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.30-sqlplus-19.30.0.0.0-1.el8.x86_64.rpm -o /tmp/oracle-instantclient-sqlplus.rpm | ||||||||||||||||||||||||||||||||||||||||||||||||||
| apt-get install -y alien libaio1t64 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| alien --install --scripts /tmp/oracle-instantclient-basic.rpm | ||||||||||||||||||||||||||||||||||||||||||||||||||
| alien --install --scripts /tmp/oracle-instantclient-sqlplus.rpm | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+382
to
+388
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: No, Oracle does not publish aarch64 RPMs for oracle-instantclient 19.30 under yum.oracle.com OL8. The official repository at https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/aarch64/index.html lists versions up to 19.28 (e.g., oracle-instantclient19.28-basic-19.28.0.0.0-1.el8.aarch64.rpm as of August 2025), but no 19.30 RPMs. While Oracle offers Version 19.30 ZIP downloads for Linux ARM (aarch64) on their download page, RPMs for that specific version are not available in the yum.oracle.com OL8 repository. The path "/repo/OracleLinux/OL8/oracle/instantclient/aarch64/getPackage" is not correct; the standard repository index is at "/repo/OracleLinux/OL8/oracle/instantclient/aarch64/index.html", and individual RPMs are directly accessible (e.g., oracle-instantclient19.28-basic-19.28.0.0.0-1.el8.aarch64.rpm), but no "getPackage" endpoint is documented or listed. Citations:
Ubuntu-ARM will fail: x86_64 RPMs are hard-coded in a branch that also handles Ubuntu-ARM. This block runs under
Also, 🛠️ Suggested fix sketch: branch on arch (using 19.28 for aarch64), add retries, and centralize the version echo "Installing Oracle sqlplus64 tool"
+ OIC_VERSION_X86="19.30.0.0.0-1.el8"
+ OIC_VERSION_ARM="19.28.0.0.0-1.el8"
+ if [[ ${OperatingSystem} == "Ubuntu-ARM" ]]; then
+ OIC_VERSION="${OIC_VERSION_ARM}"; OIC_ARCH="aarch64"; LIB_DIR="/usr/lib/aarch64-linux-gnu"
+ else
+ OIC_VERSION="${OIC_VERSION_X86}"; OIC_ARCH="x86_64"; LIB_DIR="/usr/lib/x86_64-linux-gnu"
+ fi
+ BASE_URL="https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/${OIC_ARCH}/getPackage"
+ curl -fSL --retry 5 --retry-delay 5 \
+ "${BASE_URL}/oracle-instantclient19.$(echo ${OIC_VERSION} | cut -d. -f1,2)-basic-${OIC_VERSION}.${OIC_ARCH}.rpm" -o /tmp/oracle-instantclient-basic.rpm
+ curl -fSL --retry 5 --retry-delay 5 \
+ "${BASE_URL}/oracle-instantclient19.$(echo ${OIC_VERSION} | cut -d. -f1,2)-sqlplus-${OIC_VERSION}.${OIC_ARCH}.rpm" -o /tmp/oracle-instantclient-sqlplus.rpm
+ apt-get install -y alien libaio1t64
+ ln -sf "${LIB_DIR}/libaio.so.1t64" "${LIB_DIR}/libaio.so.1"
+ alien --install --scripts /tmp/oracle-instantclient-basic.rpm
+ alien --install --scripts /tmp/oracle-instantclient-sqlplus.rpmAlternatively, for Ubuntu-ARM, consider using ZIP-based installation (oracle-instantclient-19.30-for-linux-aarch64.zip) rather than RPM conversion, as Oracle explicitly provides aarch64 ZIP builds for 19.30. Note: 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "Installing MSSQL database client" | ||||||||||||||||||||||||||||||||||||||||||||||||||
| curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc | ||||||||||||||||||||||||||||||||||||||||||||||||||
| curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -395,6 +404,7 @@ Resources: | |||||||||||||||||||||||||||||||||||||||||||||||||
| wget https://packages.microsoft.com/config/rhel/9/mssql-server-2022.repo -O /etc/yum.repos.d/mssql-server-2022.repo | ||||||||||||||||||||||||||||||||||||||||||||||||||
| wget https://packages.microsoft.com/config/rhel/9/prod.repo -O /etc/yum.repos.d/msprod.repo | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ACCEPT_EULA=Y yum install -y mssql-tools unixODBC-devel | ||||||||||||||||||||||||||||||||||||||||||||||||||
| yum -y install sqlplus64 | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Sanity-check: confirm "sqlplus64" isn't referenced anywhere else in the repo as a yum/zypper package target (indicating precedent).
rg -n --no-heading 'sqlplus64'Repository: wso2/testgrid Length of output: 584 🏁 Script executed: cat -n jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml | sed -n '375,475p'Repository: wso2/testgrid Length of output: 7559 🌐 Web query:
💡 Result: There is no "sqlplus64" package available via yum in the standard Rocky Linux or EPEL repositories. sqlplus (the 64-bit binary is sqlplus, located in /usr/lib/oracle/VERSION/client64/bin/sqlplus after installation) is provided by Oracle Instant Client. Oracle Instant Client RPMs are officially supported only on Oracle Linux, but since Rocky Linux is RHEL-compatible, the RPMs typically work. The recommended method is to download RPMs from Oracle and install locally with dnf (Rocky 8/9 uses dnf, alias for yum). Steps for Rocky Linux 9 (adjust for version 8): 1. Install prerequisites: sudo dnf install libaio 2. Download latest Oracle Instant Client RPMs from https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html (e.g., oracle-instantclient23-basic, oracle-instantclient23-sqlplus for version 23) 3. Install: sudo dnf install oracle-instantclient23-basic-23.x.x.x.x86_64.rpm oracle-instantclient23-sqlplus-23.x.x.x.x86_64.rpm 4. Add to PATH: export PATH=/usr/lib/oracle/23/client64/bin:$PATH (add to ~/.bashrc) To use Oracle's yum repo (unofficial on Rocky): 1. Download and install oracle-release-el9 or oracle-instantclient-release-el9 RPM from yum.oracle.com/repo/OracleLinux/OL9/ 2. sudo dnf install oracle-instantclient-basic oracle-instantclient-sqlplus No native sqlplus64 package exists in Rocky/RHEL base or EPEL; Oracle provides it exclusively. ZIP installation is also possible without RPMs. Citations:
🌐 Web query:
💡 Result: There is no official "sqlplus64" package available in standard SUSE Linux (SLES or openSUSE) repositories via zypper. sqlplus64 refers to the 64-bit Oracle SQLPlus binary from Oracle Instant Client. SUSE Linux does not provide Oracle Instant Client in its official repositories. Oracle provides RPMs primarily for Oracle Linux (using yum/dnf), but ZIP files are available for any RPM-based distro like SUSE. Recommended installation methods: 1. Download Oracle Instant Client ZIP from official Oracle site (https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html): - instantclient-basic-linux.x64-[version].zip - instantclient-sqlplus-linux.x64-[version].zip Unzip to /opt/oracle, e.g.: sudo mkdir -p /opt/oracle cd /opt/oracle sudo unzip /path/to/instantclient-basic-linux.x64-.zip sudo unzip /path/to/instantclient-sqlplus-linux.x64-*.zip Set environment variables in ~/.bashrc: export LD_LIBRARY_PATH=/opt/oracle/instantclient_[version]:$LD_LIBRARY_PATH export PATH=/opt/oracle/instantclient_[version]:$PATH source ~/.bashrc Verify: sqlplus -v Install libaio1 prerequisite: sudo zypper install libaio1 2. Use community openSUSE Build Service repos (e.g., home:ecsos or home:davidnichols): sudo zypper addrepo https://download.opensuse.org/repositories/home:/ecsos:/monitoring/15.6/ home:ecsos sudo zypper refresh sudo zypper install oracle-instantclient12.1 oracle-instantclient12.1-sqlplus (Adjust repo/version for your SUSE/openSUSE release; these are unofficial and may be outdated.) Oracle officially supports SUSE Linux Enterprise Server 15 for full Oracle Database installs (requires specific packages like libaio1), but Instant Client is easiest via ZIP. No native sqlplus/sqlplus64 package exists; Oracle tools are proprietary. Citations:
Fix
The Ubuntu block (lines 382–388) demonstrates the correct approach: download 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||
| yum -y install mysql | ||||||||||||||||||||||||||||||||||||||||||||||||||
| echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile | ||||||||||||||||||||||||||||||||||||||||||||||||||
| echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -430,6 +440,7 @@ Resources: | |||||||||||||||||||||||||||||||||||||||||||||||||
| wget https://packages.microsoft.com/config/rhel/9/prod.repo -O /etc/yum.repos.d/msprod.repo | ||||||||||||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ACCEPT_EULA=Y yum install -y mssql-tools unixODBC-devel | ||||||||||||||||||||||||||||||||||||||||||||||||||
| yum -y install sqlplus64 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| yum -y install mysql | ||||||||||||||||||||||||||||||||||||||||||||||||||
| echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile | ||||||||||||||||||||||||||||||||||||||||||||||||||
| echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -450,6 +461,7 @@ Resources: | |||||||||||||||||||||||||||||||||||||||||||||||||
| if [[ ${OperatingSystem} == "SUSE" ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||||||
| zypper install -y zip unzip | ||||||||||||||||||||||||||||||||||||||||||||||||||
| zypper install -y python-pip | ||||||||||||||||||||||||||||||||||||||||||||||||||
| zypper install -y sqlplus64 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||||||||||||
| if [[ ${OperatingSystem} == "RHEL9" ]] || [[ ${OperatingSystem} == "Rocky" ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||||||
| pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: wso2/testgrid
Length of output: 1185
Update related CFN templates to include JDK25 in their AllowedValues.
The JDK25 additions to this file are correct, but at least four related templates still lack JDK25 as an option:
jobs/intg-test-resources/update2-releases/wso2-u2-intg-test-cfn.yaml(has JDK17, JDK21 only)jobs/intg-test-resources/update2-releases/wso2-u2-is-intg-test-cfn.yaml(has JDK17, JDK21 only)jobs/intg-test-resources/master-branch-releases/wso2-master-intg-test-cfn.yaml(has JDK17 only)jobs/e2e-test-resources/wso2-is-e2e-test-cfn.yaml(has JDK17, JDK21 only)Add JDK25 and JDK25_ARM to all templates that define JDK options to maintain consistency across the test pipelines.
🤖 Prompt for AI Agents