1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-03-19 22:19:29 +02:00

Set Rust caching key per language group (#2250)

Fixes #2247 (a follow-up from #2195).

* Add a workflow dispatch manual trigger to the tests workflow.
* Move the link-checked languages JSON list to the build job's env.
* Set a caching key per language group to avoid extra `mdbook-linkcheck`
installation on non-link-checked translations.
  For the meaning of this key, see:
https://github.com/Swatinem/rust-cache?tab=readme-ov-file#example-usage
* Fix newly broken web link in 8a3ed21  

I tested it on my fork, and it looks good:
https://github.com/jond01/comprehensive-rust/actions/workflows/build.yml
https://github.com/jond01/comprehensive-rust/actions/caches
This commit is contained in:
Jonathan Daniel 2024-07-29 12:28:12 +03:00 committed by GitHub
parent ad9b41cd6c
commit 4c28a9253b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 6 deletions

View File

@ -5,6 +5,7 @@ on:
push:
branches:
- main
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
@ -120,6 +121,9 @@ jobs:
matrix:
language: ${{ fromJSON(needs.find-languages.outputs.languages) }}
fail-fast: false
env:
# Opt-in for checking links in translations - add the language below.
LINK_CHECKED_LANGUAGES: '["en", ]'
steps:
- name: Checkout
uses: actions/checkout@v4
@ -128,6 +132,8 @@ jobs:
- name: Setup Rust cache
uses: ./.github/workflows/setup-rust-cache
with:
key: ${{ contains(fromJSON(env.LINK_CHECKED_LANGUAGES), matrix.language) }}
- name: Install Gettext
run: |
@ -148,8 +154,7 @@ jobs:
msgfmt -o /dev/null --statistics po/messages.pot
- name: Install mdbook-linkcheck
# Opt-in for checking links in translations - add the language below.
if: contains(fromJSON('["en", ]'), matrix.language)
if: contains(fromJSON(env.LINK_CHECKED_LANGUAGES), matrix.language)
run: cargo install mdbook-linkcheck --locked --version 0.7.7
- name: Build ${{ matrix.language }} translation

View File

@ -2,6 +2,12 @@ name: Setup Rust cache
description: Configure the rust-cache workflow.
inputs:
key:
description: Additional caching key
required: false
default:
runs:
using: composite
steps:
@ -9,6 +15,7 @@ runs:
uses: Swatinem/rust-cache@v2
with:
# Only save the cache on the main branch to avoid PRs filling
# up the cache. Further, only save it if we are working on the
# English source (or if no language has been set).
save-if: ${{ github.ref == 'refs/heads/main' && (matrix.language == 'en' || matrix.language == '') }}
# up the cache.
save-if: ${{ github.ref == 'refs/heads/main' }}
# Further, save the cache per key - e.g. language grouping.
key: ${{ inputs.key }}

View File

@ -28,4 +28,4 @@ pub fn main(arg0: u64, arg1: u64, arg2: u64, arg3: u64) {
</details>
[1]: https://android.googlesource.com/platform/packages/modules/Virtualization/+/refs/heads/master/vmbase/
[1]: https://android.googlesource.com/platform/packages/modules/Virtualization/+/refs/heads/main/libs/libvmbase/