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:
parent
ad9b41cd6c
commit
4c28a9253b
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
@ -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
|
||||
|
13
.github/workflows/setup-rust-cache/action.yml
vendored
13
.github/workflows/setup-rust-cache/action.yml
vendored
@ -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 }}
|
||||
|
@ -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/
|
||||
|
Loading…
x
Reference in New Issue
Block a user