Skip to content

Commit ae13234

Browse files
committed
Add CI matrix with weird configurations to test feature flags (see #417)
1 parent d6b9abd commit ae13234

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

.github/workflows/rust.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,51 @@ jobs:
8888
cargo check -p azul-layout
8989
cargo check -p azul-dll --no-default-features --features "link-static,logging,ico,tga,hdr,webp,pnm,gif,png,tiff,bmp,a11y"
9090
91+
# Check that the crate compiles with various feature combinations
92+
# This catches issues like missing Copy/Clone derives on stub types
93+
feature_matrix_check:
94+
name: Feature Matrix Check
95+
if: github.event_name != 'workflow_dispatch' || github.event.inputs.run_mode == 'ci' || github.event.inputs.run_mode == 'deploy'
96+
runs-on: ubuntu-22.04
97+
steps:
98+
- name: Checkout repository
99+
uses: actions/checkout@v4
100+
101+
- name: Install Rust
102+
uses: dtolnay/rust-toolchain@stable
103+
with:
104+
toolchain: 1.88.0
105+
106+
- name: Generate DLL API bindings
107+
run: cargo run -r -p azul-doc codegen all
108+
109+
- name: Check azul-dll with a11y enabled (default)
110+
run: cargo check -p azul-dll --no-default-features --features "link-static,logging,a11y"
111+
112+
- name: Check azul-dll WITHOUT a11y (stub implementations)
113+
run: cargo check -p azul-dll --no-default-features --features "link-static,logging"
114+
115+
- name: Check azul-dll with minimal features
116+
run: cargo check -p azul-dll --no-default-features --features "link-static"
117+
118+
- name: Check azul-dll with all image formats
119+
run: cargo check -p azul-dll --no-default-features --features "link-static,all_img_formats"
120+
121+
- name: Check azul-dll with svg and xml
122+
run: cargo check -p azul-dll --no-default-features --features "link-static,svg,xml"
123+
124+
- name: Check azul-dll with link-dynamic (no internal crates)
125+
run: cargo check -p azul-dll --no-default-features --features "link-dynamic"
126+
127+
- name: Check azul-layout with various features
128+
run: |
129+
cargo check -p azul-layout --no-default-features
130+
cargo check -p azul-layout --no-default-features --features "text_layout"
131+
cargo check -p azul-layout --no-default-features --features "font_loading"
132+
cargo check -p azul-layout --no-default-features --features "svg"
133+
cargo check -p azul-layout --no-default-features --features "xml"
134+
cargo check -p azul-layout --no-default-features --features "text_layout,font_loading,svg,xml"
135+
91136
test_heavy:
92137
name: Run Heavy Tests (Miri + Reftests)
93138
if: github.event_name != 'workflow_dispatch' || github.event.inputs.run_mode == 'ci' || github.event.inputs.run_mode == 'deploy'

0 commit comments

Comments
 (0)