diff --git a/.github/workflows/gen_opensuse_tumbleweed.yml b/.github/workflows/gen_opensuse_tumbleweed.yml index e9ca61dde..24139b075 100644 --- a/.github/workflows/gen_opensuse_tumbleweed.yml +++ b/.github/workflows/gen_opensuse_tumbleweed.yml @@ -65,6 +65,9 @@ jobs: ~/.cargo/git target key: "opensuse_tumbleweed-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo" + - name: "Remove problematic deps" + shell: bash + run: "zypper remove -y busybox-which || true" - name: "Install System Deps" shell: bash run: "env PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_opensuse_tumbleweed_continuous.yml b/.github/workflows/gen_opensuse_tumbleweed_continuous.yml index b1bf271f3..8fc523599 100644 --- a/.github/workflows/gen_opensuse_tumbleweed_continuous.yml +++ b/.github/workflows/gen_opensuse_tumbleweed_continuous.yml @@ -69,6 +69,9 @@ jobs: ~/.cargo/git target key: "opensuse_tumbleweed-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo" + - name: "Remove problematic deps" + shell: bash + run: "zypper remove -y busybox-which || true" - name: "Install System Deps" shell: bash run: "env PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_opensuse_tumbleweed_tag.yml b/.github/workflows/gen_opensuse_tumbleweed_tag.yml index 9bc73755d..c18986ad1 100644 --- a/.github/workflows/gen_opensuse_tumbleweed_tag.yml +++ b/.github/workflows/gen_opensuse_tumbleweed_tag.yml @@ -53,6 +53,9 @@ jobs: ~/.cargo/git target key: "opensuse_tumbleweed-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo" + - name: "Remove problematic deps" + shell: bash + run: "zypper remove -y busybox-which || true" - name: "Install System Deps" shell: bash run: "env PATH=$PATH ./get-deps" diff --git a/ci/generate-workflows.py b/ci/generate-workflows.py index 652068db9..1f8f7e8c8 100755 --- a/ci/generate-workflows.py +++ b/ci/generate-workflows.py @@ -317,10 +317,20 @@ ln -s /usr/local/git/bin/git /usr/local/bin/git""", def install_system_deps(self): if "win" in self.name: return [] + steps = [] sudo = "sudo -n " if self.needs_sudo() else "" - return [ + if "tumbleweed" in self.name: + # get-deps wants to install rpmbuild. rpmbuild depends on which, but + # installation is blocked because the image already has busybox-which + # installed. Solution: uninstall busybox-which and allow rpmbuild to + # satisfy its dependency + steps += [ + RunStep(name="Remove problematic deps", run=f"{sudo}zypper remove -y busybox-which || true") + ] + steps += [ RunStep(name="Install System Deps", run=f"{sudo}env PATH=$PATH ./get-deps") ] + return steps def build_all_release(self): if "win" in self.name: