Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test preview #2

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,34 @@ jobs:
working-directory: ./mdbook-spec
run: cargo fmt --check

preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Update rustup
run: rustup self update
- name: Install Rust
run: |
rustup set profile minimal
rustup toolchain install nightly
rustup default nightly
- name: Install mdbook
run: |
mkdir bin
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v${MDBOOK_VERSION}/mdbook-v${MDBOOK_VERSION}-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin
echo "$(pwd)/bin" >> $GITHUB_PATH
- name: Build the book
env:
SPEC_RELATIVE: 0
run: mdbook build
- name: Upload artifact
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: preview-${{ github.event.pull_request.number }}
overwrite: true
path: book/**

# The success job is here to consolidate the total success/failure state of
# all other jobs. This job is then included in the GitHub branch protection
# rule which prevents merges unless all other jobs are passing. This makes
Expand All @@ -110,6 +138,7 @@ jobs:
- code-tests
- style-tests
- mdbook-spec
# preview is explicitly excluded here
runs-on: ubuntu-latest
steps:
- run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Publish Preview
on:
workflow_dispatch:
inputs:
pr_num:
description: "PR number"
type: number
required: true

permissions:
contents: read

jobs:
publish:
name: Publish preview to GitHub Pages
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@master
with:
ref: gh-pages
- name: Update GitHub Pages
env:
GH_TOKEN: ${{ github.token }}
run: |
git config user.name "Preview Deploy"
git config user.email ""
rm -rf pr-${{ inputs.pr_num }}
mkdir pr-${{ inputs.pr_num }}
gh run download --name preview-${{ inputs.pr_num }} --dir pr-${{ inputs.pr_num }}
git add -A
git commit --allow-empty -m 'Preview pr-${{ inputs.pr_num }}'
git push origin +gh-pages
2 changes: 2 additions & 0 deletions src/introduction.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Introduction

test1

This book is the primary reference for the Rust programming language.
It provides three kinds of material:

Expand Down