forked from AstrBotDevs/AstrBot
-
Notifications
You must be signed in to change notification settings - Fork 1
68 lines (55 loc) · 2.08 KB
/
Copy pathlinux-development.yml
File metadata and controls
68 lines (55 loc) · 2.08 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
name: Linux Development Workflow
on:
pull_request:
push:
branches: [master]
workflow_dispatch:
permissions:
contents: read
jobs:
linux-development:
name: Bootstrap, check, and test on Linux
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
with:
python-version: '3.14.6'
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: '26.5.0'
package-manager-cache: false
- name: Set up pnpm
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
with:
version: 11.21.0
- name: Install system development tools
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y shellcheck
tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT
curl --fail --location --proto '=https' --tlsv1.2 --http1.1 \
--retry 5 --retry-all-errors --retry-delay 2 --connect-timeout 30 \
"https://github.com/mvdan/sh/releases/download/v3.13.1/shfmt_v3.13.1_linux_amd64" \
-o "$tmpdir/shfmt"
curl --fail --location --proto '=https' --tlsv1.2 --http1.1 \
--retry 5 --retry-all-errors --retry-delay 2 --connect-timeout 30 \
"https://github.com/hadolint/hadolint/releases/download/v2.14.0/hadolint-Linux-x86_64" \
-o "$tmpdir/hadolint"
sudo install -m 0755 "$tmpdir/shfmt" /usr/local/bin/shfmt
sudo install -m 0755 "$tmpdir/hadolint" /usr/local/bin/hadolint
shfmt --version
hadolint --version
- name: Install uv
run: python -m pip install uv
- name: Bootstrap exactly as documented
run: make bootstrap
- name: Run strict Linux checks
run: make check
- name: Verify reproducible NapCat event models
run: make napcat-check
- name: Run test suite
run: make test