name: Simulator self-update test on: push: branches: [ 'master', 'main', 'release/**' ] pull_request: branches: [ '*' ] jobs: self_update_simulator_test: runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v4 with: submodules: true - name: Workaround for sources.list run: | # Replace sources set -euxo pipefail # Peek (what repos are active now) apt-cache policy grep -RInE '^(deb|Types|URIs)' /etc/apt || true # Enable nullglob so *.list/*.sources that don't exist don't break sed shopt -s nullglob echo "Replace sources.list (legacy)" sudo sed -i \ -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ /etc/apt/sources.list || true echo "Replace sources.list.d/*.list (legacy)" for f in /etc/apt/sources.list.d/*.list; do sudo sed -i \ -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ "$f" done echo "Replace sources.list.d/*.sources (deb822)" for f in /etc/apt/sources.list.d/*.sources; do sudo sed -i \ -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ -e "s|https\?://azure\.archive\.ubuntu\.com|http://mirror.arizona.edu|g" \ "$f" done echo "Fix /etc/apt/apt-mirrors.txt (used by URIs: mirror+file:...)" if grep -qE '^[[:space:]]*https?://azure\.archive\.ubuntu\.com/ubuntu/?' /etc/apt/apt-mirrors.txt; then # Replace azure with our mirror (idempotent) sudo sed -i 's|https\?://azure\.archive\.ubuntu\.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/apt-mirrors.txt fi # Peek (verify changes) grep -RIn "azure.archive.ubuntu.com" /etc/apt || true grep -RInE '^(deb|Types|URIs)' /etc/apt || true echo "--- apt-mirrors.txt ---" cat /etc/apt/apt-mirrors.txt || true - name: Run self-update test (internal flash) run: | cp config/examples/sim-self-update.config .config make test-sim-self-update - name: Run self-update test (external flash) run: | make clean cp config/examples/sim-self-update-ext.config .config make test-sim-self-update-ext