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
name: Build
on:
pull_request:
push:
branches:
- main
jobs:
check:
name: Check
runs-on: ubuntu-latest
if: github.repository == 'AzurIce/ranim'
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-01-01
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
with:
shared-key: "check"
- name: Run cargo check
run: cargo check
- name: Run cargo check
run: cargo check --target wasm32-unknown-unknown
# test:
# name: Test Suite
# runs-on: ${{ matrix.os }}
# if: github.repository == 'AzurIce/ranim'
# env:
# RUST_BACKTRACE: 1
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest]
# steps:
# - name: Checkout sources
# uses: actions/checkout@v4
# - name: Install rust toolchain
# uses: dtolnay/rust-toolchain@stable
# - uses: cargo-bins/cargo-binstall@main
# - run: cargo binstall typst-cli -y --force
# - uses: FedericoCarboni/setup-ffmpeg@v3
# - uses: Swatinem/rust-cache@v2
# with:
# shared-key: "build"
# - name: Run cargo test
# run: cargo test --workspace
# # - name: Run cargo integration-test
# # run: cargo integration-test
lints:
name: Lints
runs-on: ubuntu-latest
if: github.repository == 'AzurIce/ranim'
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
shared-key: "build"
- name: Run cargo fmt
run: cargo fmt --all --check
- name: Run cargo clippy
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Run cargo doc
run: cargo doc --no-deps --workspace --document-private-items
env:
RUSTDOCFLAGS: -D warnings
# docs:
# name: Docs
# runs-on: ubuntu-latest
# if: github.repository == 'AzurIce/ranim'
# steps:
# - name: Checkout sources
# uses: actions/checkout@v4
# - name: Install rust toolchain
# uses: dtolnay/rust-toolchain@stable
# - uses: Swatinem/rust-cache@v2
# with:
# shared-key: "build"
# - name: Validate queries
# run: cargo xtask query-check
# - name: Validate themes
# run: cargo xtask theme-check
# - name: Generate docs
# run: cargo xtask docgen
# - name: Check uncommitted documentation changes
# run: |
# git diff
# git diff-files --quiet \
# || (echo "Run 'cargo xtask docgen', commit the changes and push again" \
# && exit 1)