From 00b6a1ec88189ed02caa0cf4889e0155d7b2060c Mon Sep 17 00:00:00 2001 From: "d.kovalenko" Date: Fri, 17 Jul 2026 18:21:38 +0300 Subject: [PATCH] CI: astralinux_1_7 optimization (second attempt) Tunnels + new things: - ServerAliveInterval 5 - ServerAliveCountMax 3 - IPQoS throughput --- .github/workflows/ci.yml | 263 ++++++++++++++++---------------- Dockerfile--astralinux_1_7.tmpl | 19 ++- 2 files changed, 148 insertions(+), 134 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18a0a4af..73a175f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,165 +15,172 @@ on: - "**/*.md" jobs: - lint: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] - - steps: - - name: Checkout - uses: actions/checkout@v7 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 - with: - python-version: ${{ matrix.python-version }} - cache: 'pip' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install flake8 flake8-pyproject ruff - - name: Lint with flake8 - run: | - flake8 . - - name: Lint with ruff - run: | - ruff check . - - build-check: - runs-on: ubuntu-latest - needs: lint - steps: - - name: Checkout - uses: actions/checkout@v7 - - - name: Set up Python 3.12 - uses: actions/setup-python@v6 - with: - python-version: "3.12" - cache: 'pip' - - - name: Install build tools - run: | - python -m pip install --upgrade pip - python -m pip install build twine - - - name: Build package - run: | - python -m build - - - name: Check package metadata - run: | - twine check dist/* - test: runs-on: ubuntu-latest - needs: build-check strategy: fail-fast: false matrix: include: - - platform: "alpine" - python: "3.7" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--00" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--01" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--02" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--03" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--04" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--05" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--06" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--07" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--08" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--09" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--10" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_07_xx-pg17_xx" - - platform: "alpine" - python: "3.8.0" + case_suffix: "py3_xx_xx-pg17_xx--11" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--12" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--13" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--14" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--15" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--16" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--17" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--18" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--19" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--20" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--21" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_08_00-pg17_xx" - - platform: "alpine" - python: "3.8" + case_suffix: "py3_xx_xx-pg17_xx--22" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_08_xx-pg17_xx" - - platform: "alpine" - python: "3.9" + case_suffix: "py3_xx_xx-pg17_xx--23" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_09_xx-pg17_xx" - - platform: "alpine" - python: "3.10" + case_suffix: "py3_xx_xx-pg17_xx--24" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_10_xx-pg17_xx" - - platform: "alpine" - python: "3.11" + case_suffix: "py3_xx_xx-pg17_xx--25" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--26" + - platform: "astralinux_1_7" + python: "3" + postgres: "17" + case_suffix: "py3_xx_xx-pg17_xx--27" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_11_xx-pg17_xx" - - platform: "alpine" - python: "3.12" + case_suffix: "py3_xx_xx-pg17_xx--28" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_12_xx-pg17_xx" - - platform: "alpine" - python: "3.13" + case_suffix: "py3_xx_xx-pg17_xx--29" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_13_xx-pg17_xx" - - platform: "alpine" - python: "3.14" + case_suffix: "py3_xx_xx-pg17_xx--30" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_14_xx-pg17_xx" - - platform: "alpine" - python: "3.12" - postgres: "10" - case_suffix: "py3_12_xx-pg10_xx" - - platform: "alpine" - python: "3.12" - postgres: "11" - case_suffix: "py3_12_xx-pg11_xx" - - platform: "alpine" - python: "3.12" - postgres: "12" - case_suffix: "py3_12_xx-pg12_xx" - - platform: "alpine" - python: "3.12" - postgres: "13" - case_suffix: "py3_12_xx-pg13_xx" - - platform: "alpine" - python: "3.12" - postgres: "14" - case_suffix: "py3_12_xx-pg14_xx" - - platform: "alpine" - python: "3.12" - postgres: "15" - case_suffix: "py3_12_xx-pg15_xx" - - platform: "alpine" - python: "3.12" - postgres: "16" - case_suffix: "py3_12_xx-pg16_xx" - - platform: "alpine" - python: "3.12" - postgres: "18" - case_suffix: "py3_12_xx-pg18_xx" - - platform: "ubuntu_24_04" + case_suffix: "py3_xx_xx-pg17_xx--31" + - platform: "astralinux_1_7" python: "3" postgres: "17" - case_suffix: "py3_xx_xx-pg17_xx" - - platform: "ubuntu_26_04" - python: "3.12" + case_suffix: "py3_xx_xx-pg17_xx--32" + - platform: "astralinux_1_7" + python: "3" postgres: "17" - case_suffix: "py3_12_xx-pg17_xx" - - platform: "altlinux_10" + case_suffix: "py3_xx_xx-pg17_xx--33" + - platform: "astralinux_1_7" python: "3" postgres: "17" - case_suffix: "py3_xx_xx-pg17_xx" - - platform: "altlinux_11" + case_suffix: "py3_xx_xx-pg17_xx--34" + - platform: "astralinux_1_7" python: "3" postgres: "17" - case_suffix: "py3_xx_xx-pg17_xx" + case_suffix: "py3_xx_xx-pg17_xx--35" - platform: "astralinux_1_7" python: "3" postgres: "17" - case_suffix: "py3_xx_xx-pg17_xx" - - platform: "rockylinux_8" + case_suffix: "py3_xx_xx-pg17_xx--36" + - platform: "astralinux_1_7" python: "3" postgres: "17" - case_suffix: "py3_xx_xx-pg17_xx" - - platform: "rockylinux_9" + case_suffix: "py3_xx_xx-pg17_xx--37" + - platform: "astralinux_1_7" python: "3" postgres: "17" - case_suffix: "py3_xx_xx-pg17_xx" - - platform: "rockylinux_10" + case_suffix: "py3_xx_xx-pg17_xx--38" + - platform: "astralinux_1_7" python: "3" postgres: "17" - case_suffix: "py3_xx_xx-pg17_xx" + case_suffix: "py3_xx_xx-pg17_xx--39" name: "test: ${{ matrix.platform }} | ${{ matrix.case_suffix }}" diff --git a/Dockerfile--astralinux_1_7.tmpl b/Dockerfile--astralinux_1_7.tmpl index 7d731e8b..6742db6c 100644 --- a/Dockerfile--astralinux_1_7.tmpl +++ b/Dockerfile--astralinux_1_7.tmpl @@ -99,7 +99,19 @@ ENV LANG=C.UTF-8 RUN chmod 700 /home/test/ && \ mkdir -p /home/test/.ssh && \ - chown -R test:test /home/test/.ssh + echo 'Host *' > /home/test/.ssh/config && \ + echo ' ControlMaster auto' >> /home/test/.ssh/config && \ + echo ' ControlPath /home/test/.ssh/master-%r@%h:%p' >> /home/test/.ssh/config && \ + echo ' ControlPersist 30m' >> /home/test/.ssh/config && \ + echo ' ServerAliveInterval 5' >> /home/test/.ssh/config && \ + echo ' ServerAliveCountMax 3' >> /home/test/.ssh/config && \ + echo ' IPQoS throughput' >> /home/test/.ssh/config && \ + echo ' StrictHostKeyChecking no' >> /home/test/.ssh/config && \ + echo ' UserKnownHostsFile /dev/null' >> /home/test/.ssh/config && \ + echo ' GSSAPIAuthentication no' >> /home/test/.ssh/config && \ + chown -R test:test /home/test/.ssh && \ + chmod 700 /home/test/.ssh && \ + chmod 600 /home/test/.ssh/config # # \"$@\" @@ -125,11 +137,6 @@ if [ ! -f /home/test/.ssh/id_rsa ]; then \ chmod 600 /home/test/.ssh/authorized_keys; \ fi; \ ls -la /home/test/.ssh/; \ -su test -c \"ssh-keyscan -H localhost >> /home/test/.ssh/known_hosts\"; \ -su test -c \"ssh-keyscan -H 127.0.0.1 >> /home/test/.ssh/known_hosts\"; \ -if [ -n \"${TEST_CFG__REMOTE_HOST:-}\" ]; then \ - su test -c \"ssh-keyscan -H ${TEST_CFG__REMOTE_HOST} >> /home/test/.ssh/known_hosts\"; \ -fi; \ if [ -n \"${TEST_CFG__REMOTE_SSH_KEY:-}\" ]; then \ cp \"${TEST_CFG__REMOTE_SSH_KEY}\" \"${TEST_CFG__REMOTE_SSH_KEY}_ci\"; \ export TEST_CFG__REMOTE_SSH_KEY=\"${TEST_CFG__REMOTE_SSH_KEY}_ci\"; \