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

[ubuntu-24.04-arm] Feature request & Bug: Add podman and buildah, they will break when manually install them #30

Open
xlionjuan opened this issue Jan 17, 2025 · 1 comment

Comments

@xlionjuan
Copy link

xlionjuan commented Jan 17, 2025

Only feature request now

Bug fixed by: https://github.com/orgs/community/discussions/148648#discussioncomment-11858717

Related: redhat-actions/podman-login#45

(Repost the content)

Version

redhat-actions/podman-login@v1
Podman: 4.9.3+ds1-1ubuntu0.2
Runner: ubuntu-24.04-arm

Describe the bug

redhat-actions/podman-login@v1 can't login podman when using GitHub arm64 runner.

Steps to reproduce, workflow links, screenshots

Because arm64 runner didn't preinstall Podman, so I'm running this first

sudo apt-get update
sudo apt-get install podman buildah -y

Error log:

Run redhat-actions/podman-login@v1
Unexpected error attempting to determine if executable file exists '/home/runneradmin/.local/bin/podman': Error: EACCES: permission denied, stat '/home/runneradmin/.local/bin/podman'
Unexpected error attempting to determine if executable file exists '/home/runneradmin/.cargo/bin/podman': Error: EACCES: permission denied, stat '/home/runneradmin/.cargo/bin/podman'
Unexpected error attempting to determine if executable file exists '/home/runneradmin/.config/composer/vendor/bin/podman': Error: EACCES: permission denied, stat '/home/runneradmin/.config/composer/vendor/bin/podman'
Unexpected error attempting to determine if executable file exists '/home/runneradmin/.dotnet/tools/podman': Error: EACCES: permission denied, stat '/home/runneradmin/.dotnet/tools/podman'
/usr/bin/podman version
  /usr/bin/podman version
  time="2025-01-17T05:15:10Z" level=error msg="stat /home/runneradmin/.config/containers/storage.conf: permission denied"
Error: Error: podman exited with code 1
time="2025-01-17T05:15:10Z" level=error msg="stat /home/runneradmin/.config/containers/storage.conf: permission denied"

(Repost the comment)

I've got it working, but in very weird way......

tl;dr, rootless Podman will continuously accessing the folders that rootful Podman using.

So I put this to my workflows before any Podman related tasks, and it is very ugly, but works.

- name: Fix permission on arm64 runner
  if: contains( matrix.job.name , 'arm64')
  run: |
    whoami
    sudo loginctl enable-linger runner
    sudo loginctl enable-linger runneradmin
    sudo mkdir -p /home/runneradmin/.config/containers/
    sudo cp arm64-workaround/storage.conf /home/runneradmin/.config/containers/storage.conf
    sudo chown -R runner:runner /home/runneradmin/

For storage.conf, first, grab example file from Podman official repo.
https://github.com/containers/podman/blob/f6af35c695f2a41360629da041cd26a6dca401e9/vendor/github.com/containers/storage/storage.conf

And do the following changes:

  • L20: runroot = "$HOME/.local/share/containers/storage"
  • L32: graphroot = "$HOME/.local/share/containers/storage"

Which means changing rootful Podman using different directories.

At the end, looks like this is something should be fixed by GitHub or Ubuntu.

@adelton
Copy link

adelton commented Feb 18, 2025

I'd like to see podman (and skopeo) added as well.

The https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/ announcement suggests that just setting the correct runs-on should be enough to run the same workflow on the new architecture. If however the arm64 runner images contain different software set (and https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-24-image.md#not-installed-software explicitly lists quite a big set of packages missing), that means that migration to arm64 is much more involved -- separate checks and installation steps need to be added to actions and workflows to achieve feature parity with x86_64.

Please reconsider the divergence and make the package set on the arm64 images as close to the x86_64 as possible, starting with podman.

adelton added a commit to adelton/freeipa-container that referenced this issue Feb 18, 2025
adelton added a commit to adelton/freeipa-container that referenced this issue Feb 18, 2025
adelton added a commit to adelton/freeipa-container that referenced this issue Feb 18, 2025
adelton added a commit to adelton/freeipa-container that referenced this issue Feb 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants