-
Notifications
You must be signed in to change notification settings - Fork 0
135 lines (127 loc) · 3.74 KB
/
Copy pathci.yml
File metadata and controls
135 lines (127 loc) · 3.74 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: CI # Continuous Integration
on:
push:
branches:
- main
pull_request:
env:
CARGO_INCREMENTAL: "0"
jobs:
fmt:
name: Formatting
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@v7
- uses: jdx/mise-action@v4.2.3
- name: Check formatting
run: just fmt-check
lint:
name: Clippy
runs-on: ubuntu-latest
timeout-minutes: 15
env:
RUSTFLAGS: "-Clink-arg=-fuse-ld=mold"
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev mold
- uses: jdx/mise-action@v4.2.3
- uses: Swatinem/rust-cache@v2
with:
# Six jobs each saving a cache per push put the repo permanently over
# GitHub's 10 GiB limit, so every run raced eviction. PRs restore only.
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Build aether-lspd
run: cargo build -p aether-lspd
- name: Clippy check
run: just lint
test:
name: Test
runs-on: ubuntu-latest
timeout-minutes: 30
env:
RUSTFLAGS: "-Clink-arg=-fuse-ld=mold"
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev mold
- uses: jdx/mise-action@v4.2.3
- uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Build aether-lspd
run: cargo build -p aether-lspd
- name: Run tests
run: just test
sdk:
name: TypeScript SDK
runs-on: ubuntu-latest
timeout-minutes: 20
env:
RUSTFLAGS: "-Clink-arg=-fuse-ld=mold"
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev mold
- uses: jdx/mise-action@v4.2.3
- uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Check formatting
run: pnpm fmt-check
- name: Typecheck
run: pnpm sdk:typecheck
- name: Build SDK
run: pnpm sdk:build
- name: Build aether CLI
run: cargo build -p aether-agent-cli
- name: Test
run: pnpm sdk:test
- name: Typecheck evals
run: pnpm evals:typecheck
- name: Build evals
run: pnpm evals:build
- name: Test evals
run: pnpm evals:test
docs:
name: Docs
runs-on: ubuntu-latest
timeout-minutes: 15
env:
RUSTFLAGS: "-Clink-arg=-fuse-ld=mold"
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev mold
- uses: jdx/mise-action@v4.2.3
- uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Build aether-lspd
run: cargo build -p aether-lspd
- name: Check documentation
run: just doc-check
website:
name: Website
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@v7
- uses: jdx/mise-action@v4.2.3
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Check formatting
run: pnpm fmt-check
- name: Typecheck website
run: pnpm website:check
- name: Build website
run: pnpm website:build