GitHub action for Ubuntu GETting 404 fetching dependencies

UPDATE: I have a workaround! See end of topic.

Is anyone else seeing this? I tried searching the web but my search fu isn’t strong apparently.

          - { os: ubuntu-latest, crystal: "1.20" }
          - { os: ubuntu-24.04-arm, crystal: latest }
          - { os: macos-latest, crystal: "1.21" }

As of last night I started noticing that macOS runner is working but Linux ones are failing. The “annotation” on the actions says:


Error: Command failed: sudo -n apt-get install -qy --no-install-recommends --no-upgrade -- libevent-dev libgmp-dev libpcre3-dev libssl-dev libxml2-dev libyaml-dev libpcre2-dev
E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/pool/main/libe/libevent/libevent-2.1-7t64_2.1.12-stable-9ubuntu2.1_arm64.deb  404  Not Found [IP: 91.189.91.102 80]
E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/pool/main/libe/libevent/libevent-extra-2.1-7t64_2.1.12-stable-9ubuntu2.1_arm64.deb  404  Not Found [IP: 91.189.91.102 80]
E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/pool/main/libe/libevent/libevent-openssl-2.1-7t64_2.1.12-stable-9ubuntu2.1_arm64.deb  404  Not Found [IP: 91.189.91.102 80]
E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/pool/main/libe/libevent/libevent-dev_2.1.12-stable-9ubuntu2.1_arm64.deb  404  Not Found [IP: 91.189.91.102 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

This CI workflow has worked as-is for weeks. If I should post this somewhere else, or if there is an active issue somewhere, please let me know. :folded_hands:

Workaround :sweat_smile:

    steps:
      - name: Force apt update (Linux only)
        if: ${{ runner.os == 'Linux' }}
        run: sudo -n apt-get update

      - name: Checkout code
        uses: actions/checkout@v6

      - name: Install Crystal
        uses: crystal-lang/install-crystal@v1
        with:
          crystal: ${{matrix.crystal}}

I added a Linux-specific forced apt-get update before installing the Crystal install action and the workflows are succeeding again.

yup, we’re seeing the same in the ameba repo.

If nothing changes, this workaround should be added to the install-crystal action, I guess.

I raised an issue in GitHub. #82

There was a security update: 2.1.12-stable-9ubuntu2.2 : libevent package : Ubuntu

Fixed by #84.

A new version still needs tagged for things to be fully resolved.

Exactly. Because we are still needing to add the workaround of apt update, otherwise it doesn’t work.

This is resolved now as of Release v1.9.3 · crystal-lang/install-crystal · GitHub.

We also enabled immutable releases for this repo, of which this is the first.