# How to update Rust (or anything really) for NL Wallet The below chore documents how you can update Rust in the macos image we use. It is mostly specifically about Rust, but the below guide has also succesfully been used to upgrade Flutter for example (since essentially all changes you would want to do are contained in the `wallet.pkr.hcl` file). ## Update Rust images In the `nl-wallet-app-builder-dockerfiles` repository: - In `rust-user.sh` update Rust to the desired version (see `nl-wallet-app-builder-dockerfiles` MR 60, as an example). - Optional: update Rust-related dependencies in `rust-user.sh`, `cyclonedx.sh` to the desired version (beware for yanked versions). - Run the pipeline manually and test out in your nl-wallet MR. - Get your MR approved and merged, images will be created and uploaded to Harbor registry on merge to main. - Update your MR with the new build image tag. ## Update Rust macOS Runner In the `macos-runner` repository: - In `wallet.pkr.hcl` update Rust to the desired version (see `macos-runner` MR 4 as an example). - Optional: update Rust-related dependencies too. - Don't forget to bump the version of the image (see `macos-runner` MR 5 as an example). - Get your MR approved and merged. - Build the image via the CI pipeline. ## Update Rust workspace version In the `nl-wallet` repository: - Update all `Cargo.toml` files to the desired version (see commit `b72338fa25a4081678d7e5a0cf686ae6fa2f52c1`) - Update the CI image in `.gitlab-ci.yml` - Update the version of the macOS image in `.gitlab-ci.yml` - Make sure the pipelines in your MR run successfully - Get your MR approved and merged And you're done! 🎉