diff --git a/.gitignore b/.gitignore index e809ecf..801fed2 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ pom.xml.versionsBackup test-output/ /atlassian-ide-plugin.xml .idea +.vscode .*.swp .*.swo dist/ diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..0c12e73 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,49 @@ +pipeline { + + agent { + kubernetes { + yamlFile 'jenkins/agent.yaml' + defaultContainer 'maven' + } + } + + options { + disableConcurrentBuilds() + buildDiscarder(logRotator(numToKeepStr: '100')) + timeout(time: 30, unit: 'MINUTES') + } + + stages { + stage("Setup") { + steps { + sh ''' + apt update + apt install -y binutils cpio libaio1 libaio-dev libnuma-dev rpm2cpio tree xz-utils + printenv | sort + ''' + } + } + + stage ("Maven") { + steps { + sh ''' + mvn verify + ''' + } + } + } + + post { + always { + archiveArtifacts artifacts: "**/surefire-reports/", + allowEmptyArchive: true + junit '**/junitreports/*.xml' + } + fixed { + slackSend(color: "good", message: "fixed ${RUN_DISPLAY_URL}") + } + failure { + slackSend(color: "danger", message: "failure ${RUN_DISPLAY_URL}") + } + } +} diff --git a/jenkins/agent.yaml b/jenkins/agent.yaml new file mode 100644 index 0000000..09bc3c2 --- /dev/null +++ b/jenkins/agent.yaml @@ -0,0 +1,26 @@ +apiVersion: v1 +kind: Pod +metadata: + namespace: oss-agent + labels: + containers: maven +spec: + nodeSelector: + eks.amazonaws.com/nodegroup: eks-oss-presto-dynamic-managed-ng + serviceAccountName: oss-agent + containers: + - name: maven + image: maven:3.8.6-openjdk-8-slim + tty: true + resources: + requests: + memory: "3Gi" + cpu: "500m" + limits: + memory: "3Gi" + cpu: "500m" + env: + - name: MAVEN_OPTS + value: "-Xmx3g -Xms3g" + command: + - cat diff --git a/testing-mysql-server-5/repack-mysql-5.sh b/testing-mysql-server-5/repack-mysql-5.sh index 091e48d..1f3fcf7 100755 --- a/testing-mysql-server-5/repack-mysql-5.sh +++ b/testing-mysql-server-5/repack-mysql-5.sh @@ -4,7 +4,7 @@ set -eu VERSION=5.7.22 BASEURL="https://dev.mysql.com/get/Downloads/MySQL-5.7" -PPC64LE_BASEURL="http://yum.mariadb.org/10.2/centos/7/ppc64le/rpms/" +PPC64LE_BASEURL="http://archive.mariadb.org/mariadb-10.2.36/yum/centos/7/ppc64le/rpms" LINUX_BASE=mysql-$VERSION-linux-glibc2.12-x86_64 LINUX_PPC64LE_RPM=MariaDB-server-10.2.36-1.el7.centos.ppc64le.rpm diff --git a/testing-mysql-server-5/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql5.java b/testing-mysql-server-5/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql5.java index 1003179..28fa6f1 100644 --- a/testing-mysql-server-5/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql5.java +++ b/testing-mysql-server-5/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql5.java @@ -73,6 +73,7 @@ public List getStartArguments() else { return iList .add( + "--user=root", "--skip-ssl", "--disable-partition-engine-check", "--explicit_defaults_for_timestamp", diff --git a/testing-mysql-server-8/repack-mysql-8.sh b/testing-mysql-server-8/repack-mysql-8.sh index 6c36d20..69c9ae8 100755 --- a/testing-mysql-server-8/repack-mysql-8.sh +++ b/testing-mysql-server-8/repack-mysql-8.sh @@ -2,11 +2,12 @@ set -eu -VERSION=8.0.15 +VERSION=8.0.26 BASEURL="https://dev.mysql.com/get/Downloads/MySQL-8.0" LINUX_BASE=mysql-$VERSION-linux-glibc2.12-x86_64 -OSX_BASE=mysql-$VERSION-macos10.14-x86_64 +OSX_BASE=mysql-$VERSION-macos11-x86_64 +OSX_AARCH64_BASE=mysql-$VERSION-macos11-arm64 TAR=tar command -v gtar >/dev/null && TAR=gtar @@ -43,12 +44,17 @@ LINUX_DIST=dist/$LINUX_NAME OSX_NAME=$OSX_BASE.tar.gz OSX_DIST=dist/$OSX_NAME +OSX_AARCH64_NAME=$OSX_AARCH64_BASE.tar.gz +OSX_AARCH64_DIST=dist/$OSX_AARCH64_NAME + test -e $LINUX_DIST || curl -L -o $LINUX_DIST "$BASEURL/$LINUX_NAME" --fail test -e $OSX_DIST || curl -L -o $OSX_DIST "$BASEURL/$OSX_NAME" --fail +test -e $OSX_AARCH64_DIST || curl -L -o $OSX_AARCH64_DIST "$BASEURL/$OSX_AARCH64_DIST" --fail PACKDIR=$(mktemp -d "${TMPDIR:-/tmp}/mysql.XXXXXXXXXX") $TAR -xf $LINUX_DIST -C $PACKDIR pushd $PACKDIR/$LINUX_BASE +tree . $STRIP bin/mysqld $TAR -czf $OLDPWD/$RESOURCES/mysql-Linux-amd64.tar.gz \ LICENSE \ @@ -58,10 +64,9 @@ $TAR -czf $OLDPWD/$RESOURCES/mysql-Linux-amd64.tar.gz \ share/*.txt \ share/charsets \ share/english \ - lib/libcrypto.* \ - lib/libssl.* \ - bin/libcrypto.* \ - bin/libssl.* \ + lib/private/libcrypto.* \ + lib/private/libprotobuf-lite.* \ + lib/private/libssl.* \ bin/mysqld popd rm -rf $PACKDIR @@ -69,6 +74,7 @@ rm -rf $PACKDIR PACKDIR=$(mktemp -d "${TMPDIR:-/tmp}/mysql.XXXXXXXXXX") $TAR -xf $OSX_DIST -C $PACKDIR pushd $PACKDIR/$OSX_BASE +tree . $TAR -czf $OLDPWD/$RESOURCES/mysql-Mac_OS_X-x86_64.tar.gz \ LICENSE \ README \ @@ -78,7 +84,28 @@ $TAR -czf $OLDPWD/$RESOURCES/mysql-Mac_OS_X-x86_64.tar.gz \ share/charsets \ share/english \ lib/libcrypto.* \ + lib/libprotobuf-lite.* \ + lib/libssl.* \ + bin/mysqld +popd +rm -rf $PACKDIR + +PACKDIR=$(mktemp -d "${TMPDIR:-/tmp}/mysql.XXXXXXXXXX") +$TAR -xf $OSX_AARCH64_DIST -C $PACKDIR +pushd $PACKDIR/$OSX_AARCH64_BASE +tree . +$TAR -czf $OLDPWD/$RESOURCES/mysql-Mac_OS_X-aarch64.tar.gz \ + LICENSE \ + README \ + docs/INFO* \ + share/*.sql \ + share/*.txt \ + share/charsets \ + share/english \ + lib/libcrypto.* \ + lib/libprotobuf-lite.* \ lib/libssl.* \ + bin/libprotobuf-lite.* \ bin/mysqld popd rm -rf $PACKDIR diff --git a/testing-mysql-server-8/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql8.java b/testing-mysql-server-8/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql8.java index be840cb..9224965 100644 --- a/testing-mysql-server-8/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql8.java +++ b/testing-mysql-server-8/src/main/java/com/facebook/presto/testing/mysql/EmbeddedMySql8.java @@ -41,7 +41,7 @@ public List getInitializationArguments() public List getStartArguments() { return ImmutableList.of( - "--no-defaults", + "--user=root", "--skip-ssl", "--skip-mysqlx", "--default-time-zone=+00:00", diff --git a/testing-mysql-server-8/src/test/java/com/facebook/presto/testing/mysql/TestTestingMySqlServer.java b/testing-mysql-server-8/src/test/java/com/facebook/presto/testing/mysql/TestTestingMySqlServer.java index 8210eb9..d64ce7d 100644 --- a/testing-mysql-server-8/src/test/java/com/facebook/presto/testing/mysql/TestTestingMySqlServer.java +++ b/testing-mysql-server-8/src/test/java/com/facebook/presto/testing/mysql/TestTestingMySqlServer.java @@ -21,7 +21,7 @@ public class TestTestingMySqlServer @Override public String getMySqlVersion() { - return "8.0.15"; + return "8.0.26"; } @Override