Skip to content

About

Unofficial GitLab Runner builds for AIX 7.2/7.3 (ppc64), built from each upstream release. Not affiliated with GitLab Inc.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

keelinfra

AIX Runner for GitLab

Build Release AIX License: MIT

Run GitLab Runner on AIX 7.2 and 7.3 (ppc64), built from the unmodified upstream release.

aix-runner is an independent project. It is not part of, or endorsed or supported by, GitLab. Please report problems here, not to GitLab's issue tracker.

Why. GitLab doesn't ship the runner for AIX, and AIX support is not on its roadmap. The runner itself builds for AIX; four of its dependencies don't. aix-runner patches those dependencies and publishes the binary, so an AIX host can run GitLab CI jobs with the shell executor like any other runner.

How it works

  1. build.sh takes the upstream gitlab-runner tag; the runner's own code is not changed.
  2. patch_deps.py patches four dependencies that don't compile for AIX.
  3. Go cross-compiles it with GOOS=aix GOARCH=ppc64 CGO_ENABLED=0. A daily CI build of the latest upstream tag catches upstream changes early.

Details: docs/how-it-works.md.

Status

Experimental and free to use. CI on Linux builds the latest upstream release every day; runs on AIX are tested by hand, not in CI.

Platform Status
AIX 7.3, shell executor Tested with 19.5.1 against gitlab.com: register, jobs, artifacts, local cache, git clone, cancel; not in CI
AIX 7.2 Not tested yet; same binary, should work
AIX 7.1 and older Not supported: Go requires AIX 7.2
Docker and Kubernetes executors Not applicable on AIX

Running Jenkins agents on AIX 7.1, Solaris or HP-UX instead? See Agent8.

Install

On the AIX host (POWER8 or newer), with git and bash from the AIX Toolbox. Download gitlab-runner-aix-ppc64 and sha256sums.txt from the latest release; AIX has no curl or wget by default, so download them elsewhere and scp them over, or use curl from the Toolbox. Create the runner and its token in GitLab first (Settings > CI/CD > Runners).

sha256sum -c sha256sums.txt          # or: openssl dgst -sha256 gitlab-runner-aix-ppc64
mv gitlab-runner-aix-ppc64 gitlab-runner && chmod +x gitlab-runner
mkdir -p "$HOME/gitlab-runner"

./gitlab-runner register --non-interactive \
  --config "$HOME/gitlab-runner/config.toml" \
  --url https://gitlab.example.com --token "$RUNNER_TOKEN" \
  --executor shell --env "PATH=/opt/freeware/bin:/usr/bin:/bin"
./gitlab-runner run --config "$HOME/gitlab-runner/config.toml" \
  --working-directory "$HOME/gitlab-runner"

Keep the --env PATH=... line: the Toolbox installs git and bash under /opt/freeware/bin, and jobs fail to clone without it. Use an absolute --config path, because the runner reloads the file from that path.

More in docs/install.md: running in the background, checking where a binary came from, and building it yourself.

Known gaps

  • Cancelling a job takes about 20 seconds: the runner learns about the cancel at its next status update for the job. The job's processes are then killed.
  • Not tested yet: AIX 7.2, gitlab-runner install as a system service, distributed (S3/GCS) cache, long-running stability.
  • The binary is about 150 MB, because the Docker and Kubernetes executors are compiled in even though they have nothing to talk to on AIX.

When you report a problem, include oslevel -s, ./gitlab-runner --version and the relevant lines of the runner log.

License

MIT, like GitLab Runner itself.

This product is based on GitLab software. GitLab is a trademark of GitLab Inc. This project is not affiliated with or endorsed by GitLab Inc.

About

Unofficial GitLab Runner builds for AIX 7.2/7.3 (ppc64), built from each upstream release. Not affiliated with GitLab Inc.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages