[temurin-compliance] Solaris JCK machines require Git Upgrade to Git 2.31.0
Summary
AQA Tests fail to run correctly on Solaris 10 Servers.
Steps to reproduce
Execute an AQA Test run on a solaris machine.
What is the current bug behavior?
An error is returned when the following command is run
git clone --depth 1 --reference-if-able /export/home/jenkins//openjdk_cache -b master https://github.com/eclipse-openj9/openj9.git error: unknown option `reference-if-able'
What is the expected correct behavior?
Git should clone the repository without issue.
Relevant logs and/or screenshots
Errors can be seen here : https://ci.eclipse.org/temurin-compliance/view/JCK8/job/Test_openjdk8_hs_sanity.jck_x86-64_solaris/34/console
10:15:20 TKG_REPO=https://github.com/adoptium/TKG.git
10:15:20 TKG_BRANCH=cb24260d36e0a118e2847f946dc0267548ba6de6
10:15:20 get functional test material...
10:15:20 git clone --depth 1 --reference-if-able /export/home/jenkins//openjdk_cache -b master https://github.com/eclipse-openj9/openj9.git
10:15:20 error: unknown option `reference-if-able'
10:15:20 usage: git clone [options] [--] <repo> [<dir>]
10:15:20
10:15:20 -v, --verbose be more verbose
10:15:20 -q, --quiet be more quiet
Some relevant/useful information, in order to compile Git 2.31.0 for Solaris 10, it needs to be compiled from source.. below are an example from the Adoptium ansible playbook for performing the tasks required. This PR provides details on what has been done in the Adoptium infrastructure playbooks to achieve this. https://github.com/adoptium/infrastructure/pull/2665
https://github.com/adoptium/infrastructure/blob/master/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/tasks/Solaris.yml
- name: Test if nonCSW Git Is Installed At /usr/local/bin
shell: /usr/local/bin/git --version >/dev/null
failed_when: false
register: git_noncsw_installed
changed_when: false
tags:
- build_tools
- name: Test if git is installed at the correct version
shell: /usr/local/bin/git --version | sed -e 's/git version //g' | awk -F'[.]' '{print $1 "." $2}'
when: git_noncsw_installed.rc == 0
register: git_noncsw_version
changed_when: false
tags:
- build_tools
- name: Set python27
set_fact:
ansible_python_interpreter: /opt/csw/bin/python
when: (git_noncsw_installed.rc != 0) or (git_noncsw_installed.rc == 0 and git_noncsw_version.stdout is version_compare('2.31', operator='lt'))
- name: Get Git Source
get_url:
url: https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.31.0.tar.gz
dest: /tmp/git-2.31.0.tar.gz
mode: 0440
checksum: sha256:bc6168777883562569144d536e8a855b12d25d46870d95188a3064260d7784ee
when: (git_noncsw_installed.rc != 0) or (git_noncsw_installed.rc == 0 and git_noncsw_version.stdout is version_compare('2.31', operator='lt'))
- name: Extract git 2.31.0 source
shell: gzip -cd git-2.31.0.tar.gz | tar xpf -
args:
chdir: /tmp
when: (git_noncsw_installed.rc != 0) or (git_noncsw_installed.rc == 0 and git_noncsw_version.stdout is version_compare('2.31', operator='lt'))
tags:
- build_tools
- name: Create Git Temporary Compilation Library directory
file:
path: /tmp/git-2.31.0/libexec/git-core
state: directory
when: (git_noncsw_installed.rc != 0) or (git_noncsw_installed.rc == 0 and git_noncsw_version.stdout is version_compare('2.31', operator='lt'))
tags:
- build_tools
- name: Copy Existing Git Remote HTTPS Library Into Compile Area
copy:
src: "/opt/csw/libexec/git-core/git-remote-https"
dest: "/tmp/git-2.31.0/libexec/git-core/"
remote_src: yes
mode: 0775
when: (git_noncsw_installed.rc != 0) or (git_noncsw_installed.rc == 0 and git_noncsw_version.stdout is version_compare('2.31', operator='lt'))
tags:
- build_tools
- name: Compile Git 2.31.0
shell: |
cd /tmp/git-2.31.0
./configure --with-curl=/opt/csw/lib/libcurl.so --with-openssl=/opt/csw/lib/libssl.so --with-expat
gmake -j4
gmake install
environment:
PATH: /opt/solarisstudio12.3/bin/:/opt/csw/bin/:/usr/ccs/bin:/usr/bin
when: (git_noncsw_installed.rc != 0) or (git_noncsw_installed.rc == 0 and git_noncsw_version.stdout is version_compare('2.31', operator='lt'))
tags:
- build_tools
- name: Copy New Git Remote HTTPS Library Into Runtime Area
copy:
src: "/tmp/git-2.31.0/libexec/git-core/git-remote-https"
dest: "/usr/local/bin/"
remote_src: yes
mode: 0775
when: (git_noncsw_installed.rc != 0) or (git_noncsw_installed.rc == 0 and git_noncsw_version.stdout is version_compare('2.31', operator='lt'))
tags:
- build_tools
Priority
- Urgent
- High
- Medium
- Low
Severity
- Blocker
- Major
- Normal
- Low
Impact
(What is the impact of this issue? Is it blocking a release? Are there any time constraints?, for example: "We have a release tomorrow")