mirror of
https://github.com/google/comprehensive-rust.git
synced 2024-12-16 14:53:28 +02:00
1f37933b8b
* Extract common build steps to composite actions This allows us to repeat ourselves less across the different jobs. I also tested using a “reusable workflow” to factor out the common steps. However, this starts a separate job without a shared filesystem, which in turn requires us to upload/download artifacts when we want to use them in several jobs. The artifacts are downloaded one-by-one and this adds delays and extra steps to all jobs. * Move Rust cache setup to its own build step This made it easy to consistently setup the caching of our nested projects via the “workspacs” config key.
52 lines
965 B
YAML
52 lines
965 B
YAML
name: Publish
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
# Allow one concurrent deployment
|
|
concurrency:
|
|
group: pages
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
publish:
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Rust cache
|
|
uses: ./.github/workflows/setup-rust-cache
|
|
|
|
- name: Install mdbook
|
|
uses: ./.github/workflows/install-mdbook
|
|
|
|
- name: Build book
|
|
run: mdbook build
|
|
|
|
- name: Setup Pages
|
|
uses: actions/configure-pages@v2
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-pages-artifact@v1
|
|
with:
|
|
path: 'book'
|
|
|
|
- name: Deploy to GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v1
|