Skip to content

Commit

Permalink
Add MAJ VERSION CHECK TEST
Browse files Browse the repository at this point in the history
  • Loading branch information
panchal-yash committed Nov 15, 2023
1 parent bcb8035 commit be486ae
Showing 1 changed file with 14 additions and 72 deletions.
86 changes: 14 additions & 72 deletions ps/jenkins/percona-server-for-mysql-8.0.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -119,14 +119,16 @@ def installDependencies(def nodeName) {
}

def runPlaybook(def nodeName) {

def PS_MAJOR_RELEASE = sh(returnStdout: true, script: ''' echo ${BRANCH} | sed "s/release-//g" | sed "s/\\.//g" | awk '{print substr($0, 0, 2)}' ''').trim()
echo "MAJOR VERSION IS ${PS_MAJOR_RELEASE}"
def ps80_install_pkg_minitests_playbook = 'ps_80.yml'
def install_repo = 'testing'
def action_to_test = 'install'
def check_warnings = 'yes'
def install_mysql_shell = 'no'

try {
/*
def playbook = "${ps80_install_pkg_minitests_playbook}"
def playbook_path = "package-testing/playbooks/${playbook}"
Expand All @@ -146,6 +148,7 @@ def runPlaybook(def nodeName) {
--limit 127.0.0.1 \
${playbook_path}
"""
*/
} catch (Exception e) {
slackNotify("${SLACKNOTIFY}", "#FF0000", "[${JOB_NAME}]: Mini Package Testing for ${nodeName} at ${BRANCH} FAILED !!!")
mini_test_error="True"
Expand Down Expand Up @@ -208,7 +211,7 @@ parameters {
description: 'Repo component to push packages to',
name: 'COMPONENT')
choice(
choices: '#releases\n#releases-ci',
choices: '#dev-server-qa\n#releases\n#releases-ci',
description: 'Channel for notifications',
name: 'SLACKNOTIFY')
}
Expand All @@ -219,7 +222,7 @@ parameters {
timestamps ()
}
stages {

/*
stage('Create PS source tarball') {
agent {
label 'min-bionic-x64'
Expand Down Expand Up @@ -679,84 +682,22 @@ parameters {
}
}
}
stage('Build docker containers') {
agent {
label 'min-bionic-x64'
*/
stage('Testing') {
steps{
echo "Hello"
}
steps {
echo "====> Build docker container"
cleanUpWS()
installCli("deb")
sh '''
sleep 900
'''
unstash 'properties'
sh '''
PS_RELEASE=$(echo ${BRANCH} | sed 's/release-//g')
PS_MAJOR_RELEASE=$(echo ${BRANCH} | sed "s/release-//g" | sed "s/\\.//g" | awk '{print substr($0, 0, 2)}');
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
sudo apt-get install -y docker.io
sudo systemctl status docker
sudo apt-get install -y qemu binfmt-support qemu-user-static
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
git clone https://github.com/percona/percona-docker
cd percona-docker/percona-server-8.0
sed -i "s/ENV PS_VERSION.*/ENV PS_VERSION ${PS_RELEASE}.${RPM_RELEASE}/g" Dockerfile
sed -i "s/ENV PS_REPO .*/ENV PS_REPO testing/g" Dockerfile
sed -i "s/percona-release enable ps-80/percona-release enable ps-${PS_MAJOR_RELEASE}/g" Dockerfile
sed -i "s/ENV PS_VERSION.*/ENV PS_VERSION ${PS_RELEASE}.${RPM_RELEASE}/g" Dockerfile.aarch64
sed -i "s/ENV PS_REPO .*/ENV PS_REPO testing/g" Dockerfile.aarch64
sed -i "s/percona-release enable ps-80/percona-release enable ps-${PS_MAJOR_RELEASE}/g" Dockerfile.aarch64
sudo docker build -t perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE} .
sudo docker build -t perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-aarch64 -f Dockerfile.aarch64 .
sudo docker images
'''
withCredentials([
usernamePassword(credentialsId: 'hub.docker.com',
passwordVariable: 'PASS',
usernameVariable: 'USER'
)]) {
sh '''
echo "${PASS}" | sudo docker login -u "${USER}" --password-stdin
PS_RELEASE=$(echo ${BRANCH} | sed 's/release-//g')
sudo docker tag perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE} perconalab/percona-server:${PS_RELEASE}
sudo docker push perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}
sudo docker push perconalab/percona-server:${PS_RELEASE}
sudo docker tag perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-aarch64 perconalab/percona-server:${PS_RELEASE}-aarch64
sudo docker push perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-aarch64
sudo docker push perconalab/percona-server:${PS_RELEASE}-aarch64
'''
}
sh '''
PS_RELEASE=$(echo ${BRANCH} | sed 's/release-//g')
sudo docker manifest create perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-multi \
perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE} \
perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-aarch64
sudo docker manifest annotate perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-multi perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-aarch64 --os linux --arch arm64 --variant v8
sudo docker manifest annotate perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-multi perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE} --os linux --arch amd64
sudo docker manifest inspect perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-multi
'''
withCredentials([
usernamePassword(credentialsId: 'hub.docker.com',
passwordVariable: 'PASS',
usernameVariable: 'USER'
)]) {
sh '''
PS_RELEASE=$(echo ${BRANCH} | sed 's/release-//g')
echo "${PASS}" | sudo docker login -u "${USER}" --password-stdin
PS_RELEASE=$(echo ${BRANCH} | sed 's/release-//g')
sudo docker manifest push perconalab/percona-server:${PS_RELEASE}.${RPM_RELEASE}-multi
'''
}
}
}
}
post {
success {
/*
slackNotify("${SLACKNOTIFY}", "#00FF00", "[${JOB_NAME}]: build has been finished successfully for ${BRANCH} - [${BUILD_URL}]")
slackNotify("${SLACKNOTIFY}", "#00FF00", "[${JOB_NAME}]: Triggering Builds for Package Testing for ${BRANCH} - [${BUILD_URL}]")
unstash 'properties'
*/
script {
/*
currentBuild.description = "Built on ${BRANCH}; path to packages: ${COMPONENT}/${AWS_STASH_PATH}"
REVISION = sh(returnStdout: true, script: "grep REVISION test/percona-server-8.0.properties | awk -F '=' '{ print\$2 }'").trim()
PS_RELEASE = sh(returnStdout: true, script: "echo ${BRANCH} | sed 's/release-//g'").trim()
Expand All @@ -780,6 +721,7 @@ parameters {
"""
}
*/
echo "Start Minitests for PS"

package_tests_ps80(minitestNodes)
Expand Down

0 comments on commit be486ae

Please sign in to comment.