v0.1.0
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.
First release. An SGI running IRIX 6.5 registers as a self-hosted runner and
executes real workflow jobs: checkout, build, artifacts, and results reported
back to GitHub.
Added
- Runner registration and configuration for a repository or an organisation,
persisted to.runner,.credentialsand.rsakey - Listener: OAuth client assertions, agent session, long poll, message
decryption, and the v2 broker migration github.com now requires - Job execution:
run:steps under bash or sh, per-step status and timing,
full job and step logs, secret masking, and job cancellation - Live step state during a job, through the results service step update API
- Native
actions/checkoutagainst thegitbinary - Native
actions/upload-artifactandactions/download-artifact - Step confinement: CPU, address space, file size and descriptor limits, an
IRIX process cap against fork bombs, orphan reaping, and an optional chroot
with a uid drop when the runner is started as root - Self-contained n32 binary needing only
libc.so.1,libpthread.soand
libm.so, with OpenSSL linked statically runner selftestfor diagnosing TLS, certificate and clock problems- Release pipeline that builds on SGI hardware and publishes a tarball
- Trust roots shipped alongside the binary, found automatically, so the runner
works on a machine with no SGUG-RSE installed - Build system for GCC 9.2 with a MIPSPro
c99compile gate, and unit tests
that run on both Linux and IRIX
Fixed
- Steps now run under
-e, and bash steps under-o pipefail, matching
GitHub's documented defaults. Previously only the last command in a
multi-linerun:body determined the step's result, so any check followed by
another command was not a gate at all. - A
run:body containing${{ }}is now rejected with an explanation.
Previously it produced an empty script that was reported as succeeded. - Secret redaction no longer writes past its buffer when a mask is shorter than
three characters.
Known limitations
- No expression evaluator, so
${{ }}is unavailable. Use the$GITHUB_*
shell variables. Workflow, job and stepenv:blocks are ignored. - No JavaScript actions, no container jobs, no service containers. Anything
outside the three native handlers fails with a clear error. - Logs appear when a step finishes rather than streaming as it runs.
chrootconfinement applies only when the runner is started as root, and is
untested.