 89b3422f62
			
		
	
	
		89b3422f62
		
	
	
	
	
		
			
			# Objective - actions from actions-rs are outdated and use deprecated function - They haven't been updated for the last two years (https://github.com/actions-rs/toolchain) ## Solution - use the newer and up-to-date https://github.com/dtolnay/rust-toolchain
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Deploy Docs
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - 'main'
 | |
| 
 | |
| env:
 | |
|   CARGO_TERM_COLOR: always
 | |
|   RUSTDOCFLAGS: --html-in-header header.html
 | |
| 
 | |
| jobs:
 | |
|   build-and-deploy:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@v3
 | |
| 
 | |
|       - name: Install Rust
 | |
|         uses: dtolnay/rust-toolchain@stable
 | |
| 
 | |
|       - name: Install alsa and udev
 | |
|         run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
 | |
| 
 | |
|       #  This does the following:
 | |
|       #   - Replaces the docs icon with one that clearly denotes it's not the released package on crates.io
 | |
|       #   - Adds a meta tag that forces Google not to index any page on the site.
 | |
|       - name: Pre-docs-build
 | |
|         run: |
 | |
|           sed -i.bak "s/icon.png/icon-docs-dev.png/" src/lib.rs
 | |
|           echo "<meta name=\"robots\" content=\"noindex\">" > header.html          
 | |
| 
 | |
|       - name: Build docs
 | |
|         run: cargo doc --all-features --no-deps -p bevy
 | |
| 
 | |
|       #  This adds the following:
 | |
|       #   - A top level redirect to the bevy crate documentation
 | |
|       #   - A CNAME file for redirecting the docs domain to the API reference
 | |
|       #   - A robots.txt file to forbid any crawling of the site (to defer to the docs.rs site on search engines).
 | |
|       #   - A .nojekyll file to disable Jekyll GitHub Pages builds.
 | |
|       - name: Finalize documentation
 | |
|         run: |
 | |
|           echo "<meta http-equiv=\"refresh\" content=\"0; url=bevy/index.html\">" > target/doc/index.html
 | |
|           echo "dev-docs.bevyengine.org" > target/doc/CNAME
 | |
|           echo "User-Agent: *\nDisallow: /" > target/doc/robots.txt
 | |
|           touch target/doc/.nojekyll          
 | |
| 
 | |
|       - name: Deploy
 | |
|         uses: JamesIves/github-pages-deploy-action@v4
 | |
|         with:
 | |
|           branch: gh-pages
 | |
|           folder: target/doc
 | |
|           single-commit: true
 | |
|           force: true
 |