Skip to content

Lua unit jobs fail when the www.lua.org download takes over 30 s #92

Open

Description

@tony

Summary

The ci unit jobs for Lua 5.1 to 5.4 download the Lua source tarball from www.lua.org on every run, in one attempt with a 30-second timeout and no cache. When the site is slow the job fails in setup, before any test runs. libtmux-lua#89 failed this way twice in a row on 2026-11-05: Unit Lua 5.2 on the first attempt and Unit Lua 5.4 on the rerun.

Reproduction

Steps as reported; not re-run (it depends on www.lua.org answering slowly):

  1. Any ci run whose download from www.lua.org takes longer than 30 seconds, for example run 42005144606, Unit Lua 5.4.

Expected

A slow or failed download is retried, or served from a cache, before the job fails.

Actual

  File "/home/runner/work/libtmux-lua/libtmux-lua/scripts/bootstrap_runtimes.py", line 67, in main
    with urllib.request.urlopen(f"https://www.lua.org/ftp/{archive.name}", timeout=30) as response:
TimeoutError: timed out
urllib.error.URLError: <urlopen error timed out>
##[error]Process completed with exit code 1.

Evidence

scripts/bootstrap_runtimes.py fetches the tarball once when .cache/toolchains/lua-<version> holds no build:

        if not archive.exists():
            with urllib.request.urlopen(f"https://www.lua.org/ftp/{archive.name}", timeout=30) as response:
                archive.write_bytes(response.read())

.github/workflows/ci.yml runs it in every unit job and restores no .cache/toolchains from a cache, so every job starts with no build and downloads again.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions