style: format the markdown and lint against it in ci #576
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
env: | |
# Update the language picker in index.hbs to link new languages. | |
LANGUAGES: ja | |
jobs: | |
test: | |
name: Run tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# We need the full history below. | |
fetch-depth: 0 | |
- name: Update rustup | |
run: rustup self update | |
- name: Install Rust | |
run: | | |
rustup set profile minimal | |
rustup toolchain install nightly -c rust-docs | |
rustup default nightly | |
- name: Install mdbook | |
run: | | |
mkdir bin | |
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.15/mdbook-v0.4.15-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin | |
echo "$(pwd)/bin" >> ${GITHUB_PATH} | |
- name: Install mdbook-i18n-helpers | |
run: | | |
cargo install mdbook-i18n-helpers --locked --version 0.3.1 | |
- name: Report versions | |
run: | | |
rustup --version | |
rustc -Vv | |
mdbook --version | |
- name: Run tests | |
run: mdbook test | |
- name: Build HTML | |
run: mdbook build | |
- name: Check for broken links | |
run: | | |
curl -sSLo linkcheck.sh \ | |
https://raw.githubusercontent.com/rust-lang/rust/master/src/tools/linkchecker/linkcheck.sh | |
sh linkcheck.sh --all rust-by-example | |
- name: Build all translations | |
run: | | |
for po_lang in ${{ env.LANGUAGES }}; do | |
POT_CREATION_DATE=$(grep --max-count 1 '^"POT-Creation-Date:' po/$po_lang.po | sed -E 's/".*: (.*)\\n"/\1/') | |
if [[ $POT_CREATION_DATE == "" ]]; then | |
POT_CREATION_DATE=now | |
fi | |
echo "::group::Building $po_lang translation as of $POT_CREATION_DATE" | |
rm -r src/ | |
git restore --source "$(git rev-list -n 1 --before "$POT_CREATION_DATE" @)" src/ | |
# Set language and adjust site URL. Clear the redirects | |
# since they are in sync with the source files, not the | |
# translation. | |
MDBOOK_BOOK__LANGUAGE=$po_lang \ | |
MDBOOK_OUTPUT__HTML__SITE_URL=/rust-by-example/$po_lang/ \ | |
MDBOOK_OUTPUT__HTML__REDIRECT='{}' \ | |
mdbook build -d book/$po_lang | |
echo "::endgroup::" | |
done | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rust-by-example | |
path: book |