mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
gha: use ssh -tt to have a tty
Github Actions execution environments lack tty, which is needed for integration tests. We have used script utility before to provide a fake tty, but it appears to be buggy on CentOS 7. Since we use ssh anyway to access Vagant VM, add -tt to forcefully allocate a tty. Apparently, neither "TERM=xterm" nor "stty size" is needed for any tests to work, so remove those, too. Finally, unit tests do not need a terminal, so remove the "script" from those. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This commit is contained in:
+16
-12
@@ -1,3 +1,9 @@
|
||||
# NOTE Github Actions execution environments lack a terminal, needed for
|
||||
# some integration tests. Two ways to get a terminal are used below:
|
||||
#
|
||||
# 1. script utility -- for "local" integration tests;
|
||||
# 2. ssh -tt -- for Vagrant VMs (script is buggy on CentOS 7).
|
||||
|
||||
name: ci
|
||||
on:
|
||||
push:
|
||||
@@ -61,7 +67,7 @@ jobs:
|
||||
|
||||
- name: unit test
|
||||
if: matrix.rootless != 'rootless'
|
||||
run: sudo -E PATH="$PATH" script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm make localunittest'
|
||||
run: sudo -E PATH="$PATH" -- make localunittest
|
||||
|
||||
- name: add rootless user
|
||||
if: matrix.rootless == 'rootless'
|
||||
@@ -74,12 +80,12 @@ jobs:
|
||||
sudo chown -R rootless.rootless /home/rootless
|
||||
|
||||
- name: integration test (fs driver)
|
||||
run: sudo -E PATH="$PATH" script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm make local${{ matrix.rootless }}integration'
|
||||
run: sudo -E PATH="$PATH" script -e -c 'make local${{ matrix.rootless }}integration'
|
||||
|
||||
- name: integration test (systemd driver)
|
||||
# can't use systemd driver with cgroupv1
|
||||
if: matrix.rootless != 'rootless'
|
||||
run: sudo -E PATH="$PATH" script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm make RUNC_USE_SYSTEMD=yes local${{ matrix.rootless }}integration'
|
||||
run: sudo -E PATH="$PATH" script -e -c 'make RUNC_USE_SYSTEMD=yes local${{ matrix.rootless }}integration'
|
||||
|
||||
|
||||
# cgroup v2 unified hierarchy + very recent kernel (openat2)
|
||||
@@ -103,19 +109,17 @@ jobs:
|
||||
- name: unit tests
|
||||
run: ssh default 'cd /vagrant && sudo make localunittest'
|
||||
|
||||
# The integration tests require tty which GH actions lack;
|
||||
# wrap those in "script" to emulate tty.
|
||||
- name: cgroupv2 with systemd
|
||||
run: ssh default "script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm sudo make -C /vagrant localintegration RUNC_USE_SYSTEMD=yes'"
|
||||
run: ssh -tt default "sudo make -C /vagrant localintegration RUNC_USE_SYSTEMD=yes"
|
||||
|
||||
- name: cgroupv2 with fs2
|
||||
run: ssh default "script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm sudo make -C /vagrant localintegration'"
|
||||
run: ssh -tt default "sudo make -C /vagrant localintegration"
|
||||
|
||||
- name: cgroupv2 with systemd (rootless)
|
||||
run: ssh default "script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm sudo make -C /vagrant localrootlessintegration RUNC_USE_SYSTEMD=yes'"
|
||||
run: ssh -tt default "sudo make -C /vagrant localrootlessintegration RUNC_USE_SYSTEMD=yes"
|
||||
|
||||
- name: cgroupv2 with fs2 (rootless)
|
||||
run: ssh default "script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm sudo make -C /vagrant localrootlessintegration'"
|
||||
run: ssh -tt default "sudo make -C /vagrant localrootlessintegration"
|
||||
|
||||
|
||||
# kernel 3.10 (frankenized), systemd 219
|
||||
@@ -140,12 +144,12 @@ jobs:
|
||||
run: ssh default 'sudo -i make -C /vagrant localunittest'
|
||||
|
||||
- name: integration tests (fs cgroup driver)
|
||||
run: ssh default "script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm sudo -i make -C /vagrant localintegration'"
|
||||
run: ssh -tt default "sudo -i make -C /vagrant localintegration"
|
||||
|
||||
- name: integration tests (systemd cgroup driver)
|
||||
run: ssh default "script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm sudo -i make -C /vagrant localintegration RUNC_USE_SYSTEMD=1'"
|
||||
run: ssh -tt default "sudo -i make -C /vagrant localintegration RUNC_USE_SYSTEMD=1"
|
||||
|
||||
- name: rootless integration
|
||||
# FIXME: rootless is skipped because of EPERM on writing cgroup.procs
|
||||
if: false
|
||||
run: ssh default "script -e -c /bin/bash -c 'stty rows 40 cols 80; TERM=xterm sudo -i make -C /vagrant localrootlessintegration'"
|
||||
run: ssh default "sudo -i make -C /vagrant localrootlessintegration"
|
||||
|
||||
Reference in New Issue
Block a user