Skip to content

Mutation-testing setup fails on unrelated Microsoft apt mirror 403 during apt-get update #289

Description

@leynos

Summary

The mutation-testing workflow's Run setup commands step fails when sudo apt-get update errors out on the hosted runner's preconfigured Microsoft package repositories (packages.microsoft.com), even though none of those repositories' packages are actually needed by the workflow.

Run details

  • Run 29497190523, scheduled, 2026-07-16, FAILURE, ~38.4 minutes overall (the failing step itself completed in well under a minute).
  • Failing step: Run setup commands (sudo apt-get update), exit code 100.

Root cause

Err:6 https://packages.microsoft.com/repos/azure-cli noble InRelease
  403  Forbidden [IP: 13.107.213.70 443]
Err:8 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease
  403  Forbidden [IP: 13.107.213.70 443]
...
E: Failed to fetch https://packages.microsoft.com/repos/azure-cli/dists/noble/InRelease  403  Forbidden [IP: 13.107.213.70 443]
E: The repository 'https://packages.microsoft.com/repos/azure-cli noble InRelease' is no longer signed.
E: Failed to fetch https://packages.microsoft.com/ubuntu/24.04/prod/dists/noble/InRelease  403  Forbidden [IP: 13.107.213.70 443]
E: The repository 'https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease' is no longer signed.
##[error]Process completed with exit code 100.

The hosted GitHub Actions runner image preinstalls azure-cli and Microsoft-product apt sources. When Microsoft's package mirror returns 403 (an intermittent upstream condition outside axinite's control), apt-get update fails outright and takes the whole apt-get install -y clang mold step down with it, even though clang and mold come from the standard Ubuntu archive, not from Microsoft's repositories.

Proposed next step

Make the setup step resilient to this class of unrelated, third-party mirror failure: remove the Microsoft apt source list files (/etc/apt/sources.list.d/azure-cli.list, /etc/apt/sources.list.d/microsoft-prod.list, or equivalent) before running apt-get update, or restrict apt-get update to only the archives actually needed. This is a common hosted-runner flakiness workaround and should stop this class of setup failure recurring.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghighUnblocks delivery within the current sprint or release window. Reaction time is days, not hours.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions