Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 17:54
· 31 commits to main since this release

Native GitHub Actions runner for SGI IRIX 6.5.22 and later, MIPS n32.

Requires IRIX 6.5.22+ on an R4000 or later CPU. The binary needs only
libc.so.1, libpthread.so and libm.so, all IRIX base. cert.pem
ships alongside it and is found automatically; no SGUG-RSE needed to
run. git, zip and unzip are needed only for uses: steps.

Stock IRIX tar cannot decompress, so extract with:

gzip -dc irix-actions-runner-*.tar.gz | tar xvf -

Built and tested on IRIX 6.5.30m. Earlier 6.5.x releases and other SGI
models are expected to work and are untested. See BUILD-INFO in the
tarball for exactly what was built and on what.

If the first connection fails, run ./runner selftest: an undisciplined
clock and an expired CA bundle are the two usual causes.

Added

  • An evaluator for the ${{ }} expression language, in src/expr/. It works
    in a run: body, in a with: value and in if:, over every context the job
    message carries, including env and secrets. The grammar is
    src/expr/grammar.y; the generated parser is committed, so no build needs
    bison.
  • test/fixtures/expressions, GitHub's own cross-language conformance corpus
    for the language, vendored and driven by test/test_expr.c.

Fixed

  • ${{ }} in a with: value read as absent, so an artifact whose name was
    built from run metadata silently uploaded as artifact.
  • if: was three strstr calls. if: !cancelled() evaluated inverted, and
    anything with a comparison in it was treated as success().
  • A run: body containing ${{ }} was rejected outright; it now runs.
  • canceled() with one l was accepted and behaved as cancelled(). The
    reference registers only the two-l spelling, so a misspelling now fails the
    step instead of quietly always reporting "not cancelled".

Known limitations

  • hashFiles() and the steps context are not implemented. Both fail the step
    by name rather than reading as empty.
  • Case-insensitive comparison folds ASCII only.
  • An env: block is readable through the env context but is still not
    exported into the step's shell environment.