Skip to content
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

test: skip the symlink part of test_touch_file() in GH Actions #436

Merged

Commits on Mar 13, 2024

  1. ci: reduce ASLR entropy

    The latest GH Action runners started using 32-bit entropy for ASLR,
    which makes it incompatible with llvm-14. This was fixed in later llvm
    releases, but these aren't available on Ubuntu Jammy (22.04). Let's
    reduce the ASLR entropy to 28-bit, which should make llvm happy again,
    until the issue is resolved.
    
    See: actions/runner-images#9491
    mrc0mmand committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    f021ca0 View commit details
    Browse the repository at this point in the history
  2. test: skip the symlink part of test_touch_file() in GH Actions

    Our (RHEL 8) touch_file() is not clever enough and does chmod() on a
    symlink, which fails with EOPNOTSUPP on newer kernels. This is not an
    issue on the RHEL 8 kernel, where doing chmod() on a symlink works
    (albeit only on tmpfs) but in GH Actions we run in a container, and with
    the underlying kernel doing chmod() on a symlink fails even on tmpfs:
    
    RHEL 8:
    ~# mount -t tmpfs tmpfs /tmp
    ~# (cd /tmp; ln -s symlink dangling; ln -s /etc/os-release symlink)
    ~# (cd /var/tmp; ln -s symlink dangling; ln -s /etc/os-release symlink)
    ~# gcc -o main main.c -D_GNU_SOURCE
    ~# ./main /tmp/dangling
    chmod(/proc/self/fd/3)=0 (0)
    ~# ./main /tmp/symlink
    chmod(/proc/self/fd/3)=0 (0)
    ~# ./main /var/tmp/dangling
    chmod(/proc/self/fd/3)=-1 (95)
    ~# ./main /var/tmp/symlink
    chmod(/proc/self/fd/3)=-1 (95)
    
    Newer kernel:
    ~# uname -r
    6.7.4-200.fc39.x86_64
    ~# ./main /tmp/dangling
    chmod(/proc/self/fd/3)=-1 (95)
    ~# ./main /tmp/symlink
    chmod(/proc/self/fd/3)=-1 (95)
    ~# ./main /var/tmp/dangling
    chmod(/proc/self/fd/3)=-1 (95)
    ~# ./main /var/tmp/symlink
    chmod(/proc/self/fd/3)=-1 (95)
    
    Backporting the necessary patches would be way too risky so late in the
    RHEL 8 cycle, so let's just skip the offending test when running in GH
    Actions. To do that we have to jump through a couple of hoops, since
    RHEL 8 systemd can't detect docker. Oh well.
    
    See: redhat-plumbers#434
    
    RHEL-only
    mrc0mmand committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    d5867f6 View commit details
    Browse the repository at this point in the history