Skip to content

[CI] Run tests on AltLinux 10 #219

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

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
c59e6b0
[CI] Run tests on AltLinux 10
dmitry-lipetsk Mar 16, 2025
b20ace6
Initialization of Helpers._get_default_encoding_func is corrected [py…
dmitry-lipetsk Mar 16, 2025
02d6e15
Merge remote-tracking branch 'origin/D20250316_002--python3_9' into D…
dmitry-lipetsk Mar 16, 2025
94228c4
Merge branch 'master' into D20250316_001--altlinux_10
dmitry-lipetsk Mar 16, 2025
69191e5
Merge branch 'master' into D20250316_001--altlinux_10
dmitry-lipetsk Mar 16, 2025
e29f131
Merge branch 'master' into D20250316_001--altlinux_10
dmitry-lipetsk Mar 17, 2025
378f967
Merge branch 'master' into D20250316_001--altlinux_10
dmitry-lipetsk Mar 17, 2025
e5948ec
Merge branch 'master' into D20250316_001--altlinux_10
dmitry-lipetsk Mar 18, 2025
c65f604
Merge branch 'master' into D20250316_001--altlinux_10
dmitry-lipetsk Mar 20, 2025
7afeb1a
run_test.sh is corrected
dmitry-lipetsk Mar 20, 2025
55c70c5
Docker file for AltLinux 10 is updated
dmitry-lipetsk Mar 20, 2025
f525954
Dockerfile for Ubuntu 24.04 is corrected (time)
dmitry-lipetsk Mar 21, 2025
8300e84
[CI][AltLinux 10] Work with virtualenv is restored
dmitry-lipetsk Mar 21, 2025
a5d8d99
run_tests.sh is updated [original order is restored]
dmitry-lipetsk Mar 21, 2025
03e4799
run_tests.sh is updated [python]
dmitry-lipetsk Mar 21, 2025
126608d
[CI] work with 'time' is corrected
dmitry-lipetsk Mar 21, 2025
62d1d20
[CI] An initization of python virtualenv is simplified
dmitry-lipetsk Mar 21, 2025
55b573d
Merge remote-tracking branch 'origin/D20250321_001--ci_files' into D2…
dmitry-lipetsk Mar 21, 2025
dd56a6c
Merge branch 'master' into D20250316_001--altlinux_10
dmitry-lipetsk Mar 21, 2025
8d68c68
[CI] AltLinux runs only "local" tests.
dmitry-lipetsk Mar 24, 2025
0c78836
Formatting
dmitry-lipetsk Mar 24, 2025
fbd29e1
[CI] The test on AltLinux 11 is added [local only]
dmitry-lipetsk Mar 24, 2025
9fbf8a5
[CI] AltLinux dockerfiles are updated (cleanup)
dmitry-lipetsk Mar 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,5 @@ env:
- TEST_PLATFORM=std PYTHON_VERSION=3 PG_VERSION=10
- TEST_PLATFORM=std-all PYTHON_VERSION=3 PG_VERSION=17
- TEST_PLATFORM=ubuntu_24_04 PYTHON_VERSION=3 PG_VERSION=17
- TEST_PLATFORM=altlinux_10 PYTHON_VERSION=3 PG_VERSION=17
- TEST_PLATFORM=altlinux_11 PYTHON_VERSION=3 PG_VERSION=17
118 changes: 118 additions & 0 deletions Dockerfile--altlinux_10.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
ARG PG_VERSION
ARG PYTHON_VERSION

# --------------------------------------------- base1
FROM alt:p10 as base1
ARG PG_VERSION

RUN apt-get update
RUN apt-get install -y sudo curl ca-certificates
RUN apt-get update
RUN apt-get install -y openssh-server openssh-clients
RUN apt-get install -y time

# RUN apt-get install -y mc

RUN apt-get install -y libsqlite3-devel

EXPOSE 22

RUN ssh-keygen -A

# --------------------------------------------- postgres
FROM base1 as base1_with_dev_tools

RUN apt-get update

RUN apt-get install -y git
RUN apt-get install -y gcc
RUN apt-get install -y make

RUN apt-get install -y meson
RUN apt-get install -y flex
RUN apt-get install -y bison

RUN apt-get install -y pkg-config
RUN apt-get install -y libssl-devel
RUN apt-get install -y libicu-devel
RUN apt-get install -y libzstd-devel
RUN apt-get install -y zlib-devel
RUN apt-get install -y liblz4-devel
RUN apt-get install -y libzstd-devel
RUN apt-get install -y libxml2-devel

# --------------------------------------------- postgres
FROM base1_with_dev_tools as base1_with_pg-17

RUN git clone https://github.com/postgres/postgres.git -b REL_17_STABLE /pg/postgres/source

WORKDIR /pg/postgres/source

RUN ./configure --prefix=/pg/postgres/install --with-zlib --with-openssl --without-readline --with-lz4 --with-zstd --with-libxml
RUN make -j 4 install
RUN make -j 4 -C contrib install

# SETUP PG_CONFIG
# When pg_config symlink in /usr/local/bin it returns a real (right) result of --bindir
RUN ln -s /pg/postgres/install/bin/pg_config -t /usr/local/bin

# SETUP PG CLIENT LIBRARY
# libpq.so.5 is enough
RUN ln -s /pg/postgres/install/lib/libpq.so.5.17 /usr/lib64/libpq.so.5

# --------------------------------------------- base2_with_python-3
FROM base1_with_pg-${PG_VERSION} as base2_with_python-3
RUN apt-get install -y python3
RUN apt-get install -y python3-dev
RUN apt-get install -y python3-module-virtualenv
RUN apt-get install -y python3-modules-sqlite3

# AltLinux does not have "generic" virtualenv utility. Let's create it.
RUN if [[ -f "/usr/bin/virtualenv" ]] ; then \
echo AAA; \
elif [[ -f "/usr/bin/virtualenv3" ]] ; then \
ln -s /usr/bin/virtualenv3 /usr/bin/virtualenv; \
else \
echo "/usr/bin/virtualenv is not created!"; \
exit 1; \
fi

ENV PYTHON_VERSION=3

# --------------------------------------------- final
FROM base2_with_python-${PYTHON_VERSION} as final

RUN adduser test -G wheel

# It enables execution of "sudo service ssh start" without password
RUN sh -c "echo \"WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL\"" >> /etc/sudoers

ADD . /pg/testgres
WORKDIR /pg/testgres
RUN chown -R test /pg/testgres

ENV LANG=C.UTF-8

USER test

RUN chmod 700 ~/
RUN mkdir -p ~/.ssh

#
# Altlinux 10 and 11 too slowly create a new SSH connection (x6).
#
# So, we exclude the "remote" tests until this problem has been resolved.
#

ENTRYPOINT sh -c " \
set -eux; \
echo HELLO FROM ENTRYPOINT; \
echo HOME DIR IS [`realpath ~/`]; \
sudo /usr/sbin/sshd; \
ssh-keyscan -H localhost >> ~/.ssh/known_hosts; \
ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts; \
ssh-keygen -t rsa -f ~/.ssh/id_rsa -q -N ''; \
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys; \
chmod 600 ~/.ssh/authorized_keys; \
ls -la ~/.ssh/; \
TEST_FILTER=\"TestgresTests or (TestTestgresCommon and (not remote_ops))\" bash ./run_tests.sh;"
118 changes: 118 additions & 0 deletions Dockerfile--altlinux_11.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
ARG PG_VERSION
ARG PYTHON_VERSION

# --------------------------------------------- base1
FROM alt:p11 as base1
ARG PG_VERSION

RUN apt-get update
RUN apt-get install -y sudo curl ca-certificates
RUN apt-get update
RUN apt-get install -y openssh-server openssh-clients
RUN apt-get install -y time

# RUN apt-get install -y mc

RUN apt-get install -y libsqlite3-devel

EXPOSE 22

RUN ssh-keygen -A

# --------------------------------------------- postgres
FROM base1 as base1_with_dev_tools

RUN apt-get update

RUN apt-get install -y git
RUN apt-get install -y gcc
RUN apt-get install -y make

RUN apt-get install -y meson
RUN apt-get install -y flex
RUN apt-get install -y bison

RUN apt-get install -y pkg-config
RUN apt-get install -y libssl-devel
RUN apt-get install -y libicu-devel
RUN apt-get install -y libzstd-devel
RUN apt-get install -y zlib-devel
RUN apt-get install -y liblz4-devel
RUN apt-get install -y libzstd-devel
RUN apt-get install -y libxml2-devel

# --------------------------------------------- postgres
FROM base1_with_dev_tools as base1_with_pg-17

RUN git clone https://github.com/postgres/postgres.git -b REL_17_STABLE /pg/postgres/source

WORKDIR /pg/postgres/source

RUN ./configure --prefix=/pg/postgres/install --with-zlib --with-openssl --without-readline --with-lz4 --with-zstd --with-libxml
RUN make -j 4 install
RUN make -j 4 -C contrib install

# SETUP PG_CONFIG
# When pg_config symlink in /usr/local/bin it returns a real (right) result of --bindir
RUN ln -s /pg/postgres/install/bin/pg_config -t /usr/local/bin

# SETUP PG CLIENT LIBRARY
# libpq.so.5 is enough
RUN ln -s /pg/postgres/install/lib/libpq.so.5.17 /usr/lib64/libpq.so.5

# --------------------------------------------- base2_with_python-3
FROM base1_with_pg-${PG_VERSION} as base2_with_python-3
RUN apt-get install -y python3
RUN apt-get install -y python3-dev
RUN apt-get install -y python3-module-virtualenv
RUN apt-get install -y python3-modules-sqlite3

# AltLinux does not have "generic" virtualenv utility. Let's create it.
RUN if [[ -f "/usr/bin/virtualenv" ]] ; then \
echo AAA; \
elif [[ -f "/usr/bin/virtualenv3" ]] ; then \
ln -s /usr/bin/virtualenv3 /usr/bin/virtualenv; \
else \
echo "/usr/bin/virtualenv is not created!"; \
exit 1; \
fi

ENV PYTHON_VERSION=3

# --------------------------------------------- final
FROM base2_with_python-${PYTHON_VERSION} as final

RUN adduser test -G wheel

# It enables execution of "sudo service ssh start" without password
RUN sh -c "echo \"WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL\"" >> /etc/sudoers

ADD . /pg/testgres
WORKDIR /pg/testgres
RUN chown -R test /pg/testgres

ENV LANG=C.UTF-8

USER test

RUN chmod 700 ~/
RUN mkdir -p ~/.ssh

#
# Altlinux 10 and 11 too slowly create a new SSH connection (x6).
#
# So, we exclude the "remote" tests until this problem has been resolved.
#

ENTRYPOINT sh -c " \
set -eux; \
echo HELLO FROM ENTRYPOINT; \
echo HOME DIR IS [`realpath ~/`]; \
sudo /usr/sbin/sshd; \
ssh-keyscan -H localhost >> ~/.ssh/known_hosts; \
ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts; \
ssh-keygen -t rsa -f ~/.ssh/id_rsa -q -N ''; \
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys; \
chmod 600 ~/.ssh/authorized_keys; \
ls -la ~/.ssh/; \
TEST_FILTER=\"TestgresTests or (TestTestgresCommon and (not remote_ops))\" bash ./run_tests.sh;"