mirror of
https://github.com/ziglang/zig.git
synced 2024-11-10 06:03:21 +00:00
Page:
Setting up a new x86_64 Linux CI server
Pages
Building Zig From Source
Building Zig on Windows
Community Projects
Community
Contributing
Development with nix
FAQ
Glossary
Home
How to build LLVM, libclang, and liblld from source
How to read the standard library source code
Install Zig from a Package Manager
LLVM Upgrade Process
Language Proposals
Self Hosted Compiler Upgrade Guide
Setting up a new x86_64 Linux CI server
Setting up an ARM64 Windows Dev Kit to be a CI Runner
Third Party Tracking Issues (what is important to other people?)
Troubleshooting Build Issues
Updating libc
Using Cast Result Type Inference
Why Zig When There is Already CPP, D, and Rust?
_Build
zig cc compatibility with clang
4
Setting up a new x86_64 Linux CI server
Andrew Kelley edited this page 2023-06-17 19:17:34 -07:00
Table of Contents
Initial Setup
Order the server from Hetzner.
Choose a subdomain and add an A record in AWS Route 53 to point to it.
ssh root@zanic.ziglang.org
installimage
Choose latest stable Debian which is currently "bookworm".
In the settings editor, change the hostname (e.g. zanic.ziglang.org
).
Reboot.
ssh root@zanic.ziglang.org
apt update
apt upgrade
apt install cmake ninja-build tidy git build-essential binaryen
adduser ci
passwd -d ci
su ci
cd
mkdir deps
cd deps
wget https://ziglang.org/deps/qemu-linux-x86_64-6.1.0.1.tar.xz
tar xf qemu-linux-x86_64-6.1.0.1.tar.xz
wget https://github.com/bytecodealliance/wasmtime/releases/download/v2.0.2/wasmtime-v2.0.2-x86_64-linux.tar.xz
tar xf wasmtime-v2.0.2-x86_64-linux.tar.xz
wget https://ziglang.org/deps/zig+llvm+lld+clang-x86_64-linux-musl-0.11.0-dev.1869+df4cfc2ec.tar.xz
tar xf zig+llvm+lld+clang-x86_64-linux-musl-0.11.0-dev.1869+df4cfc2ec.tar.xz
rm *.tar.xz
Then add as many runners as the hardware can handle.
Add a GitHub Actions Runner
ssh root@zanic.ziglang.org
su ci
cd
# follow the snippet of code from the GitHub instructions
- Name of runner: make up something unique
- Add label:
x86_64
Instead of their last ./run.sh
step, do this, as root:
./svc.sh install ci
./svc.sh start ci