Hugh Pearse created CALCITE-6803:
------------------------------------

             Summary: Publish website: error while trying to write to 
/home/jekyll/Gemfile.lock
                 Key: CALCITE-6803
                 URL: https://issues.apache.org/jira/browse/CALCITE-6803
             Project: Calcite
          Issue Type: Task
            Reporter: Hugh Pearse


PR #4162 ([CALCITE-6794] Site Gemfile contains vulnerable ruby libraries)

broke our automated site publishing due to permissions issues: 
[https://github.com/apache/calcite/actions/runs/12972791903/job/36180649311]

 

In the original docker build it runs as root
https://github.com/apache/calcite/blob/main/site/docker-compose.yml#L26C1-L28C26

foo@host$ sudo docker run -t -i --entrypoint /bin/bash jekyll/jekyll:4
bash-5.1# whoami
root
bash-5.1# id
uid=0(root) gid=0(root) 
groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
In the new docker build, it also runs as root, same as before.

foo@host$ sudo docker run -t -i --entrypoint /bin/bash ruby:3.3.7-slim-bullseye
root@154758938c85:/# whoami
root
root@154758938c85:/# id
uid=0(root) gid=0(root) groups=0(root)
I think the jekyll userid and groupid is determined by the host, not the docker 
guest

 

Probably the fix is to default the docker-compose file to use uid 0 and gid 0 
when not specified. This way it will be consistent across both docker images 
for local build and image for git workflow action.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to