Xz: DISK1.img: Cannot set the file group: Operation not permitted

Problem to solve

Hello,
I am trying to extract an archive in the gitlab ci because I need it for unittests. The problem is that I get an error message as in the title (steigen3000 (#6306441617) · Jobs · Murmele / Paraguide · GitLab). The gitlab runner runs on my own server and the ci runs inside docker.

How can I extract the file?

Steps to reproduce

Configuration

stages:
- build
- test

variables:
  # Define variables needed for the pipeline
  DOCKER_IMAGE_FLUTTER_RUST: "murmele/flutter-rust-sdk-image:1.1.0"

steigen3000:
  stage: build
  tags:
    - steigen3000
  image: ${DOCKER_IMAGE_FLUTTER_RUST}
  script:
    - mkdir -p dep
    - cd dep
    - git clone https://github.com/Murmele/embedded-sdmmc-rs.git embedded-sdmmc-rs
    - cd embedded-sdmmc-rs && git checkout async && cd ..
    - git clone https://github.com/embassy-rs/embassy.git embassy
    - cd ..
    - xz -d Steigen3000/src/tasks/sd/tests/DISK1.img.xz # decompress disk image
    - cd Steigen3000
    - cargo build

Versions

Please select whether options apply, and add the version information.

  • Self-hosted Runners
concurrent = 2
check_interval = 0
shutdown_timeout = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "<name>"
  url = "https://gitlab.com"
  id = <id>
  token = "<token>"
  token_obtained_at = <date>
  token_expires_at = <date>
  executor = "docker"
  [runners.cache]
    MaxUploadedArchiveSize = 0
  [runners.docker]
    tls_verify = false
    image = "murmele/flutter-rust-sdk-image:1.0.1"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
    network_mtu = 0
    pull_policy = "if-not-present"

I tried to set privileged to true but this did not help

The solution was to compress the disk image with tar as .tar.xz and the unpacking in the ci with tar -xf Disk.tar.xz.