File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2121 - distro : ubuntu
2222 image : ubuntu-24-04-x64
2323 setup_script : bin/ci/setup-ubuntu.sh
24- # To add Arch (or other distros), add entries here:
25- # - distro: arch
26- # image: arch-linux-x64 # or a custom snapshot ID
27- # setup_script: bin/ci/setup-arch.sh
24+ - distro : arch
25+ image : " 217410218"
26+ setup_script : bin/ci/setup-arch.sh
2827
2928 name : ${{ matrix.distro }}
3029 timeout-minutes : 10
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ bin/ security & operations scripts
1717 ci/ CI integration scripts
1818 droplet.sh ephemeral DigitalOcean droplet lifecycle (create/destroy/ssh)
1919 setup-ubuntu.sh Ubuntu droplet: prereqs + setup + tests
20+ setup-arch.sh Arch Linux droplet: prereqs + setup + tests
2021hooks/
2122 pre-commit blocks agent from modifying security files in git
2223pi/
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ # CI setup script for Arch Linux droplets.
3+ # Runs as root on a fresh droplet. Installs prereqs, uploads source,
4+ # runs setup.sh, and executes the test suite.
5+ #
6+ # Expects: /tmp/hornet-src.tar.gz already uploaded via scp.
7+
8+ set -euo pipefail
9+
10+ echo " === [Arch] Installing prerequisites ==="
11+ pacman -Syu --noconfirm --needed git curl tmux iptables docker sudo 2>&1 | tail -10
12+
13+ echo " === Preparing source ==="
14+ useradd -m -s /bin/bash hornet_admin
15+ mkdir -p /home/hornet_admin/hornet
16+ cd /home/hornet_admin/hornet
17+ tar xzf /tmp/hornet-src.tar.gz
18+ chown -R hornet_admin:hornet_admin /home/hornet_admin/
19+ sudo -u hornet_admin bash -c ' cd ~/hornet && git init -q && git config user.email "ci@test" && git config user.name "CI" && git add -A && git commit -q -m "init"'
20+
21+ echo " === Running setup.sh ==="
22+ cd /
23+ bash /home/hornet_admin/hornet/setup.sh hornet_admin
24+
25+ echo " === Installing test dependencies ==="
26+ export PATH=" /home/hornet_agent/opt/node-v22.14.0-linux-x64/bin:$PATH "
27+ cd /home/hornet_admin/hornet
28+ npm install --ignore-scripts 2>&1 | tail -1
29+ cd slack-bridge && npm install 2>&1 | tail -1
30+ cd ..
31+
32+ echo " === Running tests ==="
33+ bash bin/test.sh
34+
35+ echo " "
36+ echo " ✅ All checks passed on Arch Linux"
You can’t perform that action at this time.
0 commit comments