-
Notifications
You must be signed in to change notification settings - Fork 52
52 lines (49 loc) · 1.68 KB
/
Copy pathci.yml
File metadata and controls
52 lines (49 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
lint:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: shellcheck install.sh
run: |
sudo apt-get update -qq
sudo apt-get install -y -qq shellcheck
shellcheck -x install.sh
- name: python syntax
run: |
python3 -m py_compile agent/browser_keeper.py agent/telegram_bot.py
- name: ruff
run: |
pip install --quiet ruff
ruff check agent/
install-smoke:
# Runs the installer end-to-end on a fresh ubuntu-24.04 runner with a
# placeholder API key. It can't actually log claude in or talk to BU, but
# it verifies the script gets all the way through: installs node/ttyd,
# drops systemd units, writes /etc/bux/env, prints the success banner.
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: run install.sh
run: |
sudo BROWSER_USE_API_KEY=bu_ci_placeholder bash install.sh
- name: verify services exist
run: |
set -x
systemctl cat bux-browser-keeper.service > /dev/null
systemctl cat bux-ttyd.service > /dev/null
sudo test -f /etc/bux/env
sudo test -f /home/bux/CLAUDE.md
test -x /usr/local/bin/ttyd
# `claude` is installed as an npm global — could land at /usr/bin or
# /usr/local/bin depending on npm prefix. Just check it's on PATH.
command -v claude
sudo -u bux -H claude --version
- name: verify idempotence
run: |
# Second run reads BROWSER_USE_API_KEY from the existing /etc/bux/env.
sudo bash install.sh