You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Pegasus uses Github Actions for CI and runs compilation and testing tasks on our self-hosted runner. Since the compilation of Pegasus heavily consumes CPU resources, we deployed a high-performance server with static IP exclusively for the CI. This server is currently the property of Xiaomi, Inc.

Workflow

As a new pull-request created, it will not immediately start compiling on the runner. Instead, it requires one Pegasus committer to add a "ready-for-testing" label. After that, the compilation and testing will begin.

Docker

To reduce the repeating preparation of CI, we encapsulate the building/testing environment into a docker image here: https://hub.docker.com/r/apachepegasus/ci-env.

This image is hosted on both DockerHub (the default docker registry) and Aliyun, which has a significantly faster download speed for Chinese users.

To configure the self-hosted runner with Aliyun acceleration:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://x6sv8ed6.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker



  • No labels