mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-07 16:17:37 -06:00
integration-tests: Fix MySQLDockerfile for go 1.17.1.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,8 +3,6 @@
|
||||
.run
|
||||
venv
|
||||
|
||||
go.sum
|
||||
go.mod
|
||||
.DS_Store
|
||||
.sqlhistory
|
||||
benchmark/perf_tools/dolt-builds/dolt
|
||||
|
||||
@@ -1,72 +1,78 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt update -y
|
||||
RUN apt install -y software-properties-common
|
||||
|
||||
# install python, libmysqlclient-dev, java, bats, git ruby, perl, cpan
|
||||
RUN add-apt-repository ppa:deadsnakes/ppa -y
|
||||
RUN apt update -y
|
||||
RUN apt install -y \
|
||||
python3.8 \
|
||||
python3-pip \
|
||||
curl \
|
||||
wget \
|
||||
pkg-config \
|
||||
mysql-client \
|
||||
libmysqlclient-dev \
|
||||
openjdk-8-jdk \
|
||||
ant \
|
||||
ca-certificates-java \
|
||||
bats \
|
||||
perl \
|
||||
cpanminus \
|
||||
cmake \
|
||||
g++ \
|
||||
libmysqlcppconn-dev \
|
||||
git \
|
||||
ruby\
|
||||
gem \
|
||||
libc6 \
|
||||
libgcc1 \
|
||||
libgssapi-krb5-2 \
|
||||
libicu60 \
|
||||
libssl1.1 \
|
||||
libstdc++6 \
|
||||
zlib1g \
|
||||
r-base
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt update -y && \
|
||||
apt install -y \
|
||||
curl \
|
||||
gnupg \
|
||||
software-properties-common && \
|
||||
curl -OL https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb && \
|
||||
dpkg -i erlang-solutions_2.0_all.deb && \
|
||||
curl -sL https://deb.nodesource.com/setup_14.x | bash - && \
|
||||
add-apt-repository ppa:deadsnakes/ppa -y && \
|
||||
apt update -y && \
|
||||
apt install -y \
|
||||
python3.8 \
|
||||
python3-pip \
|
||||
curl \
|
||||
wget \
|
||||
pkg-config \
|
||||
mysql-client \
|
||||
libmysqlclient-dev \
|
||||
openjdk-8-jdk \
|
||||
ant \
|
||||
ca-certificates-java \
|
||||
bats \
|
||||
perl \
|
||||
cpanminus \
|
||||
cmake \
|
||||
g++ \
|
||||
libmysqlcppconn-dev \
|
||||
git \
|
||||
ruby\
|
||||
gem \
|
||||
libc6 \
|
||||
libgcc1 \
|
||||
libgssapi-krb5-2 \
|
||||
libicu60 \
|
||||
libssl1.1 \
|
||||
libstdc++6 \
|
||||
zlib1g \
|
||||
r-base \
|
||||
postgresql \
|
||||
postgresql-contrib \
|
||||
libpq-dev \
|
||||
nodejs \
|
||||
esl-erlang \
|
||||
elixir \
|
||||
postgresql-server-dev-all && \
|
||||
update-ca-certificates -f
|
||||
|
||||
# install go
|
||||
WORKDIR /root
|
||||
ENV GO_VERSION=1.15.1
|
||||
RUN curl -O "https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz"
|
||||
RUN sha256sum "go${GO_VERSION}.linux-amd64.tar.gz"
|
||||
RUN tar -xvf "go${GO_VERSION}.linux-amd64.tar.gz" -C /usr/local
|
||||
RUN chown -R root:root /usr/local/go
|
||||
RUN mkdir -p $HOME/go/{bin,src}
|
||||
ENV GO_VERSION=1.17.1
|
||||
ENV GOPATH=$HOME/go
|
||||
ENV PATH=$PATH:$GOPATH/bin
|
||||
ENV PATH=$PATH:$GOPATH/bin:/usr/local/go/bin
|
||||
RUN go version
|
||||
RUN curl -O "https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz" && \
|
||||
sha256sum "go${GO_VERSION}.linux-amd64.tar.gz" && \
|
||||
tar -xvf "go${GO_VERSION}.linux-amd64.tar.gz" -C /usr/local && \
|
||||
chown -R root:root /usr/local/go && \
|
||||
mkdir -p $HOME/go/{bin,src} && \
|
||||
go version
|
||||
|
||||
# go get the MySQL dependency
|
||||
RUN go get -u github.com/go-sql-driver/mysql
|
||||
|
||||
# install dotnet
|
||||
RUN curl -LO https://download.visualstudio.microsoft.com/download/pr/13b9d84c-a35b-4ffe-8f62-447a01403d64/1f9ae31daa0f7d98513e7551246899f2/dotnet-sdk-5.0.400-linux-x64.tar.gz
|
||||
RUN tar -C /usr/local/bin -xzf dotnet-sdk-5.0.400-linux-x64.tar.gz
|
||||
RUN dotnet --version
|
||||
|
||||
# install node
|
||||
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
|
||||
RUN apt install -y nodejs
|
||||
RUN curl -LO https://download.visualstudio.microsoft.com/download/pr/13b9d84c-a35b-4ffe-8f62-447a01403d64/1f9ae31daa0f7d98513e7551246899f2/dotnet-sdk-5.0.400-linux-x64.tar.gz && \
|
||||
tar -C /usr/local/bin -xzf dotnet-sdk-5.0.400-linux-x64.tar.gz && \
|
||||
dotnet --version
|
||||
|
||||
# install mysql connector and pymsql
|
||||
RUN pip3 install mysql-connector-python PyMySQL sqlalchemy
|
||||
|
||||
# Fix certificate issues
|
||||
RUN update-ca-certificates -f
|
||||
|
||||
# Setup JAVA_HOME -- useful for docker commandline
|
||||
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
|
||||
|
||||
@@ -88,33 +94,22 @@ RUN cpanm DBD::mysql
|
||||
COPY mysql-client-tests/ruby/Gemfile /mysql-client-tests/ruby/
|
||||
COPY mysql-client-tests/ruby/Gemfile.lock /mysql-client-tests/ruby/
|
||||
WORKDIR /mysql-client-tests/ruby
|
||||
RUN gem install bundler -v 2.1.4
|
||||
RUN bundle install
|
||||
|
||||
# install elixir
|
||||
RUN apt-get install wget
|
||||
RUN wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb && dpkg -i erlang-solutions_2.0_all.deb
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
RUN apt-get install -y esl-erlang
|
||||
RUN apt-get install -y elixir
|
||||
RUN gem install bundler -v 2.1.4 && bundle install
|
||||
|
||||
# install R
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
RUN apt-get install -y r-base
|
||||
RUN Rscript -e 'install.packages("RMariaDB")'
|
||||
RUN Rscript -e 'install.packages("RMySQL")'
|
||||
RUN Rscript -e 'install.packages("DBI")'
|
||||
RUN Rscript -e 'install.packages("RMariaDB")' && \
|
||||
Rscript -e 'install.packages("RMySQL")' && \
|
||||
Rscript -e 'install.packages("DBI")'
|
||||
|
||||
# install postgres and psql
|
||||
RUN apt-get install -y postgresql postgresql-contrib libpq-dev postgresql-server-dev-all
|
||||
RUN service postgresql start
|
||||
|
||||
# install mysql_fdw
|
||||
WORKDIR /mysql-client-tests/mysql_fdw
|
||||
RUN git clone https://github.com/EnterpriseDB/mysql_fdw
|
||||
WORKDIR /mysql-client-tests/mysql_fdw/mysql_fdw
|
||||
RUN make USE_PGXS=1
|
||||
RUN make USE_PGXS=1 install
|
||||
RUN make USE_PGXS=1 && \
|
||||
make USE_PGXS=1 install
|
||||
|
||||
# install dolt from source
|
||||
WORKDIR /root/building
|
||||
|
||||
5
integration-tests/mysql-client-tests/go/go.mod
Normal file
5
integration-tests/mysql-client-tests/go/go.mod
Normal file
@@ -0,0 +1,5 @@
|
||||
module github.com/dolthub/dolt/integration-tests/mysql-client-tests/go
|
||||
|
||||
go 1.17
|
||||
|
||||
require github.com/go-sql-driver/mysql v1.6.0
|
||||
2
integration-tests/mysql-client-tests/go/go.sum
Normal file
2
integration-tests/mysql-client-tests/go/go.sum
Normal file
@@ -0,0 +1,2 @@
|
||||
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
||||
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
@@ -36,7 +36,8 @@ teardown() {
|
||||
}
|
||||
|
||||
@test "go go-sql-drive/mysql test" {
|
||||
go run $BATS_TEST_DIRNAME/go/go-sql-driver-mysql-test.go $USER $PORT $REPO_NAME
|
||||
(cd $BATS_TEST_DIRNAME/go; go build .)
|
||||
$BATS_TEST_DIRNAME/go/go $USER $PORT $REPO_NAME
|
||||
}
|
||||
|
||||
@test "python mysql.connector client" {
|
||||
|
||||
Reference in New Issue
Block a user