-
-
Notifications
You must be signed in to change notification settings - Fork 0
126 lines (99 loc) · 3.16 KB
/
Copy pathci.yaml
File metadata and controls
126 lines (99 loc) · 3.16 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
name: ci
on:
pull_request:
branches:
- main
push:
branches:
- main
merge_group:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
cancel-in-progress: true
env:
CI: 'true'
permissions:
contents: read
jobs:
lint:
name: 🔠 Lint project
runs-on: ubuntu-24.04-arm
timeout-minutes: 15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup-toolchain
- name: 🔠 Lint project
run: aube run lint:ci
- name: 🧭 Validate repository metadata and agent skills
run: aube run check:repo
typecheck:
name: 🔎 Typecheck project
runs-on: ubuntu-24.04-arm
timeout-minutes: 15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup-toolchain
- name: 🔎 Typecheck project
run: aube run typecheck
test:
name: 🧪 Unit tests
runs-on: ubuntu-24.04-arm
timeout-minutes: 20
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup-toolchain
- name: 🧪 Unit tests
run: aube run test
build:
name: 🏗️ Build project
runs-on: ubuntu-24.04-arm
timeout-minutes: 20
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup-toolchain
- name: 🏗️ Build project
run: aube run build
- name: 📦 Verify package version
run: |
node --input-type=module --eval "Promise.all([import('./packages/shared/dist/index.mjs'), import('./packages/shared/package.json', { with: { type: 'json' } })]).then(([built, pkg]) => { if (built.version !== pkg.default.version) { console.error('Injected version', built.version, 'does not match package.json version', pkg.default.version); process.exit(1) } })"
knip:
name: 🧹 Unused code check
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup-toolchain
- name: 🧹 Check for unused code
run: aube run knip
i18n:
name: 🌐 i18n validation
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup-toolchain
- name: 🌐 Check for missing or dynamic i18n keys
run: aube run i18n:report
- name: 🌐 Check i18n schema is up to date
run: |
aube run i18n:schema
git diff --exit-code packages/i18n/schemas packages/i18n/locales