Skip to content

Add optional Cargo vendoring config and offline packaging documentation#54

Merged
koala73 merged 2 commits into
codex/add-tauri-v2-integration-and-configurationfrom
codex/add-offline-mode-and-update-documentation
Feb 13, 2026
Merged

Add optional Cargo vendoring config and offline packaging documentation#54
koala73 merged 2 commits into
codex/add-tauri-v2-integration-and-configurationfrom
codex/add-offline-mode-and-update-documentation

Conversation

@koala73

@koala73 koala73 commented Feb 13, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Make Tauri/Rust dependency resolution reproducible in restricted-network CI or offline environments by providing a documented vendored source option.
  • Surface two supported packaging flows (online and restricted-network) in the release docs so packagers know how to provision offline inputs.
  • Improve validation reporting to distinguish external registry outages from failures caused by missing offline artifacts so QA results are actionable.
  • Allow committing Cargo.lock for src-tauri once generated by removing it from the local .gitignore so dependency graphs can be pinned.

Description

  • Added src-tauri/.cargo/config.toml defining a vendored-sources replacement that points to src-tauri/vendor/ and included inline instructions to cargo vendor for populating it.
  • Updated docs/RELEASE_PACKAGING.md with a new section describing two Rust dependency modes and example commands for (1) the standard online build and (2) a restricted-network build that uses vendored crates or an internal mirror.
  • Updated docs/TAURI_VALIDATION_REPORT.md to classify failures into External environment outage and Expected failure: offline mode not provisioned, with guidance for both.
  • Modified src-tauri/.gitignore to stop ignoring Cargo.lock so a lockfile can be generated and committed when network or vendored artifacts are available.

Testing

  • Ran cd src-tauri && cargo generate-lockfile, which failed due to blocked access to https://index.crates.io with 403 CONNECT tunnel failed (environmental network restriction).
  • Ran cd src-tauri && cargo generate-lockfile --offline, which failed as expected because src-tauri/vendor/ was not provisioned (no matching package named keyring found).
  • No additional automated tests were run on the modified files; documentation and config changes were validated by applying the edits and confirming file contents.

Codex Task

@vercel

vercel Bot commented Feb 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
worldmonitor Ready Ready Preview, Comment Feb 13, 2026 10:01am
worldmonitor-startup Ready Ready Preview, Comment Feb 13, 2026 10:01am
worldmonitor-test Ready Ready Preview, Comment Feb 13, 2026 10:01am

Request Review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 023712ecbb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/RELEASE_PACKAGING.md
```bash
cd src-tauri
cargo generate-lockfile
cargo tauri build --config tauri.conf.json

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use an installed Tauri CLI command in build instructions

The new packaging steps call cargo tauri build, but this repository’s documented prerequisite path only installs @tauri-apps/cli via npm ci (see package.json scripts), which provides tauri build rather than a Cargo subcommand; in this environment cargo tauri build fails with no such command: tauri. Users following this guide on a clean machine will hit an immediate command-not-found error unless you either switch these examples to tauri build/npm scripts or explicitly add a cargo-tauri installation prerequisite.

Useful? React with 👍 / 👎.

Comment thread docs/RELEASE_PACKAGING.md
# then (re)generate lockfile and build from src-tauri using vendored crates only
cd src-tauri
cargo generate-lockfile --offline --config 'source.crates-io.replace-with="vendored-sources"'
cargo tauri build --offline --config 'source.crates-io.replace-with="vendored-sources"' --config tauri.conf.json

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Move Cargo source override flags before external subcommand

In the restricted-network example, --offline and --config 'source.crates-io.replace-with=…' are placed after cargo tauri build; for external Cargo subcommands, those arguments are forwarded to the subcommand binary instead of being applied by Cargo, so the crates.io replacement/offline behavior is not enforced and the first --config is interpreted as Tauri config input. This means the documented offline build path can fail even when vendor/ is present.

Useful? React with 👍 / 👎.

@koala73
koala73 merged commit 601a233 into codex/add-tauri-v2-integration-and-configuration Feb 13, 2026
3 of 4 checks passed
@koala73
koala73 deleted the codex/add-offline-mode-and-update-documentation branch February 15, 2026 10:19
@SebastienMelki SebastienMelki added the area: desktop Tauri desktop app label Feb 17, 2026
facusturla pushed a commit to facusturla/worldmonitor that referenced this pull request Feb 27, 2026
…on (koala73#54)

### Motivation

- Make Tauri/Rust dependency resolution reproducible in
restricted-network CI or offline environments by providing a documented
vendored source option.
- Surface two supported packaging flows (online and restricted-network)
in the release docs so packagers know how to provision offline inputs.
- Improve validation reporting to distinguish external registry outages
from failures caused by missing offline artifacts so QA results are
actionable.
- Allow committing `Cargo.lock` for `src-tauri` once generated by
removing it from the local `.gitignore` so dependency graphs can be
pinned.

### Description

- Added `src-tauri/.cargo/config.toml` defining a `vendored-sources`
replacement that points to `src-tauri/vendor/` and included inline
instructions to `cargo vendor` for populating it.
- Updated `docs/RELEASE_PACKAGING.md` with a new section describing two
Rust dependency modes and example commands for (1) the standard online
build and (2) a restricted-network build that uses vendored crates or an
internal mirror.
- Updated `docs/TAURI_VALIDATION_REPORT.md` to classify failures into
**External environment outage** and **Expected failure: offline mode not
provisioned**, with guidance for both.
- Modified `src-tauri/.gitignore` to stop ignoring `Cargo.lock` so a
lockfile can be generated and committed when network or vendored
artifacts are available.

### Testing

- Ran `cd src-tauri && cargo generate-lockfile`, which failed due to
blocked access to `https://index.crates.io` with `403 CONNECT tunnel
failed` (environmental network restriction).
- Ran `cd src-tauri && cargo generate-lockfile --offline`, which failed
as expected because `src-tauri/vendor/` was not provisioned (`no
matching package named keyring found`).
- No additional automated tests were run on the modified files;
documentation and config changes were validated by applying the edits
and confirming file contents.

------
[Codex
Task](https://chatgpt.com/codex/tasks/task_e_698ef3d2ac2c8333b576f1c85e6004a1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: desktop Tauri desktop app codex

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants