Skip to content

feat: all backends support making them as read-only#2705

Merged
sylvestre merged 1 commit into
mozilla:mainfrom
AJIOB:rw_mode_support_backends
Jun 18, 2026
Merged

feat: all backends support making them as read-only#2705
sylvestre merged 1 commit into
mozilla:mainfrom
AJIOB:rw_mode_support_backends

Conversation

@AJIOB

@AJIOB AJIOB commented May 11, 2026

Copy link
Copy Markdown
Contributor

For the local developers we want to provide the access to the remote cache server in read-only mode.

So, this PR allows read-only access to read-write storages via per-storage specific flag

@AJIOB AJIOB force-pushed the rw_mode_support_backends branch from 28a49ca to 1e6bacb Compare May 11, 2026 13:46
@codecov-commenter

codecov-commenter commented May 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.54217% with 24 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.56%. Comparing base (d8a93ad) to head (e8c7396).

Files with missing lines Patch % Lines
src/config.rs 88.69% 13 Missing ⚠️
src/cache/cache.rs 78.43% 11 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2705      +/-   ##
==========================================
+ Coverage   74.51%   74.56%   +0.04%     
==========================================
  Files          70       70              
  Lines       39654    39795     +141     
==========================================
+ Hits        29549    29673     +124     
- Misses      10105    10122      +17     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@AJIOB AJIOB force-pushed the rw_mode_support_backends branch 2 times, most recently from 56b0296 to aab1fa8 Compare May 17, 2026 14:30
@AJIOB AJIOB force-pushed the rw_mode_support_backends branch 3 times, most recently from 17b64d7 to b849dc1 Compare June 4, 2026 13:35
@AJIOB

AJIOB commented Jun 4, 2026

Copy link
Copy Markdown
Contributor Author

Hi @sylvestre . Is it ok to you?

Comment thread src/config.rs Outdated
Comment thread docs/Azure.md Outdated
@sylvestre

Copy link
Copy Markdown
Collaborator

please add more tests:

  • No test for the check() short-circuit returning ReadOnly when rw_mode is set
  • No test for cache_mode_from_env_var parsing

@AJIOB

AJIOB commented Jun 4, 2026

Copy link
Copy Markdown
Contributor Author

Thanks, will fix the PR.

Looks like the read-only short-circuit was tested via test_operator_storage_redis_with_read_only (was added in this PR)

@AJIOB AJIOB force-pushed the rw_mode_support_backends branch 4 times, most recently from 884ca5d to 5e18212 Compare June 5, 2026 19:52
@AJIOB

AJIOB commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

I've added 2 tests in that PR:

  • test_operator_storage_redis_with_read_only to check read-only short-curcuit via remote storage access.. The local storage logic wasn't changed, so not tested
  • test_cache_mode_from_env_var to check the logic of new function cache_mode_from_env_var

@AJIOB

AJIOB commented Jun 6, 2026

Copy link
Copy Markdown
Contributor Author

@sylvestre , I've fixed all you suggested, thanks. Is it OK now?

@AJIOB AJIOB requested a review from sylvestre June 9, 2026 14:34
@AJIOB

AJIOB commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

Hi @sylvestre,

Graceful ping about the PR

@sylvestre sylvestre force-pushed the rw_mode_support_backends branch from 5e18212 to 8259009 Compare June 17, 2026 15:24
@AJIOB AJIOB force-pushed the rw_mode_support_backends branch from 8259009 to e8c7396 Compare June 17, 2026 16:30
@sylvestre sylvestre merged commit bdbab18 into mozilla:main Jun 18, 2026
50 checks passed
@AJIOB AJIOB deleted the rw_mode_support_backends branch June 18, 2026 18:20
eleboucher pushed a commit to eleboucher/towonel that referenced this pull request Jun 19, 2026
….0) (#36)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mozilla/sccache](https://github.com/mozilla/sccache) | minor | `0.15.0` → `0.16.0` |

---

### Release Notes

<details>
<summary>mozilla/sccache (mozilla/sccache)</summary>

### [`v0.16.0`](https://github.com/mozilla/sccache/releases/tag/v0.16.0)

[Compare Source](mozilla/sccache@v0.15.0...v0.16.0)

##### sccache 0.16.0

##### Summary

sccache 0.16.0 is a smaller, stabilizing release on top of 0.15.0's multi-tier caching work, with a few new capabilities:

- **Read-only backends**: Any storage backend can now be marked read-only, not just a select few ([#&#8203;2705](mozilla/sccache#2705)).
- **Remote execution on aarch64**: Distributed/remote execution now works on Linux aarch64, including fixes for `ldd` output parsing and toolchain packaging on non-x86\_64 Linux ([#&#8203;2668](mozilla/sccache#2668)).
- **CUDA**: `nvcc`'s `--dependency-output` argument is now handled ([#&#8203;2708](mozilla/sccache#2708)).
- **Resilience**: Fall back to a direct cache write when tempfile creation on the same filesystem fails ([#&#8203;2369](mozilla/sccache#2369)), and give a meaningful error when a multi-level chain references a backend that wasn't compiled in ([#&#8203;2695](mozilla/sccache#2695)).
- **Client efficiency**: The client and dist-client now use a single-threaded tokio runtime, avoiding a thread explosion when many short-lived clients run on many-core hosts ([#&#8203;2704](mozilla/sccache#2704)).
- **Correctness**: Strip `SCCACHE_BASEDIRS` from escaped-backslash paths on Windows ([#&#8203;2736](mozilla/sccache#2736)), ignore empty-set environment values in config ([#&#8203;2639](mozilla/sccache#2639)), and avoid the sccache wrapper when resolving the real compiler ([#&#8203;2720](mozilla/sccache#2720)).
- **Security/logging**: JWT keys and cert digests are now base64-encoded in logs ([#&#8203;2712](mozilla/sccache#2712)), plus general logging improvements ([#&#8203;2734](mozilla/sccache#2734)).

Welcome to 4 new contributors!

##### Features

- feat: all backends support making them as read-only by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2705](mozilla/sccache#2705)
- Enable RE on Linux-aarch64 by [@&#8203;malfet](https://github.com/malfet) in [#&#8203;2668](mozilla/sccache#2668)
- feat(nvcc): support argument: `--dependency-output` by [@&#8203;ZRHann](https://github.com/ZRHann) in [#&#8203;2708](mozilla/sccache#2708)
- feat: avoid sccache wrapper when resolving compiler by [@&#8203;iTrooz](https://github.com/iTrooz) in [#&#8203;2720](mozilla/sccache#2720)
- Fall back to direct cache write if tempfile creation on the same fs fails by [@&#8203;myzhang1029](https://github.com/myzhang1029) in [#&#8203;2369](mozilla/sccache#2369)
- Don't wait depfiles for gcc/clang preprocessed inputs by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2665](mozilla/sccache#2665)

##### Fixes

- fix: strip SCCACHE\_BASEDIRS from escaped-backslash paths on Windows by [@&#8203;rconde01](https://github.com/rconde01) in [#&#8203;2736](mozilla/sccache#2736)
- fix: ignore empty-set environment values for config by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2639](mozilla/sccache#2639)
- fix: handle disabled cache backend features in multilevel chain by [@&#8203;cryptomilk](https://github.com/cryptomilk) in [#&#8203;2695](mozilla/sccache#2695)
- fix: use single-threaded tokio runtime in sccache (dist-)client by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2704](mozilla/sccache#2704)
- fix: add newline when printing dist-status to stdout by [@&#8203;iTrooz](https://github.com/iTrooz) in [#&#8203;2710](mozilla/sccache#2710)

##### Logging

- chore: encode jwt key and cert digest with base64 in logs by [@&#8203;iTrooz](https://github.com/iTrooz) in [#&#8203;2712](mozilla/sccache#2712)
- Slightly improve logging by [@&#8203;glandium](https://github.com/glandium) in [#&#8203;2734](mozilla/sccache#2734)

##### Cleanup

- chore: make clippy happy by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2727](mozilla/sccache#2727)
- Extract new\_client\_runtime() helper to DRY up client runtime creation by [@&#8203;sylvestre](https://github.com/sylvestre) in [#&#8203;2744](mozilla/sccache#2744)

##### New Contributors

- [@&#8203;ZRHann](https://github.com/ZRHann) made their first contribution in [#&#8203;2708](mozilla/sccache#2708)
- [@&#8203;myzhang1029](https://github.com/myzhang1029) made their first contribution in [#&#8203;2369](mozilla/sccache#2369)
- [@&#8203;malfet](https://github.com/malfet) made their first contribution in [#&#8203;2668](mozilla/sccache#2668)
- [@&#8203;rconde01](https://github.com/rconde01) made their first contribution in [#&#8203;2736](mozilla/sccache#2736)

**Full Changelog**: <mozilla/sccache@v0.15.0...v0.16.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9naXRodWItcmVsZWFzZSIsInR5cGUvbWlub3IiXX0=-->

Reviewed-on: https://codeberg.org/towonel/towonel/pulls/36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants