netlify / build-image

This is the build image used for running automated builds
MIT License
496 stars 197 forks source link

Local build test fails with podman #834

Open kristofer-lp8f opened 1 year ago

kristofer-lp8f commented 1 year ago

Describe the bug Building with podman on my machine (linux) is failing.

To Reproduce

Steps to reproduce the behavior:

  1. ln -s /usr/bin/podman ~/.local/bin/docker
  2. ./test-tools/start-build.sh path/to/my/repo
  3. Can't run build :point_down:
    ls -lah /opt/build-bin/
    ls: cannot access '/opt/build-bin/build': Permission denied
    ls: cannot access '/opt/build-bin/run-build-functions.sh': Permission denied
    total 0
    drwxr-xr-x. 1 root root 10 Sep  7 12:12 .
    drwxr-xr-x. 1 root root  8 Sep 19 15:10 ..
    -?????????? ? ?    ?     ?            ? build
    -?????????? ? ?    ?     ?            ? run-build-functions.sh

Configuration

Expected behavior Build to run

cwilkers commented 1 year ago

I have a similar problem. I worked around the selinux issue here by just temporarily setting it to permissive, but that's not enough. The netlify/build:focal image sets several files in buildbot's home directory to owned by root:root.

As Podman runs unprivileged by default, it trips on these files, especially the package-lock.json and /opt/buildhome/repo directories.

$ ls -lah /opt/buildhome/
total 232K
drwxr-xr-x. 29 buildbot buildbot 4.0K Jan 12 18:49 .
drwxr-xr-x.  7 root     root     4.0K Jan 12 18:48 ..
-rw-r--r--.  1 buildbot buildbot  221 Jan 11 16:17 .bash_profile
-rw-r--r--.  1 buildbot buildbot  139 Jan 11 16:17 .bashrc
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:14 .binrc
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:14 .boot
drwxr-xr-x.  5 buildbot buildbot 4.0K Jan 11 16:14 .cache
drwxr-xr-x. 23 buildbot buildbot 4.0K Jan 12 18:48 cache
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:17 .cargo
drwxr-xr-x. 10 buildbot buildbot 4.0K Jan 11 16:14 .cask
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:14 .deno
drwxr-xr-x. 10 buildbot buildbot 4.0K Jan 11 16:14 .dotnet
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:13 .gem
-rw-r--r--.  1 root     root      469 Jan 12 18:33 get-build-info.mjs
drwxr-xr-x.  5 buildbot buildbot 4.0K Jan 11 16:14 .gimme
drwx------.  3 buildbot buildbot 4.0K Jan 11 16:14 .gnupg
drwxr-xr-x.  2 buildbot buildbot 4.0K Jan 11 16:17 .homebrew-cache
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:14 .lein
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:14 .local
drwxr-xr-x.  3 buildbot buildbot 4.0K Jan 11 16:14 .m2
-rw-r--r--.  1 buildbot buildbot  118 Jan 11 16:13 .mkshrc
drwxr-xr-x. 84 buildbot buildbot 4.0K Jan 12 18:49 node_modules
drwxr-xr-x.  4 buildbot buildbot 4.0K Jan 12 18:48 .npm
drwxr-xr-x.  8 buildbot buildbot 4.0K Jan 12 18:49 .nvm
-rw-r--r--.  1 root     root      857 Jan 12 18:33 package.json
-rw-r--r--.  1 root     root      65K Jan 12 18:33 package-lock.json
drwxr-xr-x.  2 buildbot buildbot 4.0K Jan 12 18:49 .php
-rw-r--r--.  1 buildbot buildbot  338 Jan 11 16:17 .profile
drwxr-xr-x.  4 buildbot buildbot 4.0K Jan 11 16:14 python2.7
lrwxrwxrwx.  1 buildbot buildbot   24 Jan 11 16:14 python2.7.18 -> /opt/buildhome/python2.7
drwxr-xr-x.  4 buildbot buildbot 4.0K Jan 11 16:14 python3.8
lrwxrwxrwx.  1 buildbot buildbot   24 Jan 11 16:14 python3.8.10 -> /opt/buildhome/python3.8
drwxrwxr-x. 23 root     root     4.0K Jan 12 17:46 repo
drwxr-xr-x.  2 buildbot buildbot 4.0K Jan 11 16:17 .rustup
drwxr-xr-x. 25 buildbot buildbot 4.0K Jan 11 16:13 .rvm
-rw-r--r--.  1 buildbot buildbot   25 Jan 11 16:13 .rvmrc
drwxr-xr-x. 10 buildbot buildbot 4.0K Jan 11 16:14 .swiftenv
drwxr-xr-x.  4 buildbot buildbot 4.0K Jan 11 16:14 .templateengine
-rw-r--r--.  1 buildbot buildbot  162 Jan 11 16:14 .wget-hsts
drwxr-xr-x.  4 buildbot buildbot 4.0K Jan 11 16:14 .yarn
-rw-r--r--.  1 buildbot buildbot  118 Jan 11 16:13 .zlogin
-rw-r--r--.  1 buildbot buildbot  118 Jan 11 16:13 .zshrc