@@ -192,3 +192,51 @@ jobs:
192192 run : rustfmt --version
193193 - name : cargo fmt
194194 run : cargo fmt --all --check
195+
196+ edition-2024-upgradable :
197+ name : Edition 2024 upgradable
198+ runs-on : ubuntu-latest
199+ steps :
200+ - name : checkout source
201+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
202+ with :
203+ submodules : true
204+ - name : set up cargo cache
205+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
206+ continue-on-error : false
207+ with :
208+ path : |
209+ ~/.cargo/bin/
210+ ~/.cargo/registry/index/
211+ ~/.cargo/registry/cache/
212+ ~/.cargo/git/db/
213+ target/
214+ key : ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
215+ restore-keys : ${{ runner.os }}-cargo-
216+ - name : set up nginx deps cache
217+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
218+ continue-on-error : false
219+ with :
220+ path : |
221+ .cache/.gnupg
222+ .cache/nginx
223+ .cache/*.tar.gz
224+ .cache/*.tar.asc
225+ .cache/*.tar.sig
226+ key : ${{ runner.os }}-deps-${{ hashFiles('**/nginx-sys/build.rs') }}
227+ restore-keys : ${{ runner.os }}-deps-
228+
229+ - name : upgrade workspace to edition 2024
230+ run : |
231+ sed -i 's/edition = "2021"/edition = "2024"/' Cargo.toml
232+ sed -i 's/rust-version = "1.82.0"/rust-version = "1.85.0"/' Cargo.toml
233+ sed -i 's/Edition2021/Edition2024/' nginx-sys/build/main.rs
234+
235+ - name : build workspace (all targets, all features)
236+ run : cargo build --workspace --all-targets --all-features
237+
238+ - name : build examples
239+ run : cargo build --release --package examples --examples --all-features
240+
241+ - name : rustdoc
242+ run : cargo doc --all-features --no-deps
0 commit comments