Currently, the content for Experimental Web Platform Features in The Servo Book is generated using the following commands from the deploy.yml workflow:
curl 'https://raw.githubusercontent.com/servo/servo/refs/heads/main/components/config/prefs.rs' -O
curl 'https://raw.githubusercontent.com/servo/servo/refs/heads/main/ports/servoshell/prefs.rs' -o servoshell_prefs.rs
python generate-features.py prefs.rs servoshell_prefs.rs >src/design-documentation/experimental-features.md
However, this approach leads to potential inconsistencies when users attempt to build the book locally. Because the curl commands fetch files from the current HEAD of the main branch in the servo/servo repository, the generated content may vary depending on when the command is run.
To resolve this, I suggest adding servo/servo as a Git submodule within the servo/book repository. This would ensure that the output remains perfectly consistent for anyone building the book locally.
Thereafter, any updates from the servo/servo repository can be synchronized by updating the submodule state, either manually or via an automated workflow.
Currently, the content for Experimental Web Platform Features in The Servo Book is generated using the following commands from the deploy.yml workflow:
However, this approach leads to potential inconsistencies when users attempt to build the book locally. Because the
curlcommands fetch files from the currentHEADof the main branch in the servo/servo repository, the generated content may vary depending on when the command is run.To resolve this, I suggest adding
servo/servoas a Git submodule within theservo/bookrepository. This would ensure that the output remains perfectly consistent for anyone building the book locally.Thereafter, any updates from the
servo/servorepository can be synchronized by updating the submodule state, either manually or via an automated workflow.