Fix license key in Cargo.toml #155
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: | |
pull_request: | |
push: | |
branches: [main] | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
checks: write | |
jobs: | |
ci: | |
name: CI | |
needs: [test, clippy, docs] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Done | |
run: exit 0 | |
test: | |
name: Tests | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
rust: [1.71.0, nightly] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
- name: Ready cache | |
if: matrix.os == 'ubuntu-latest' | |
run: sudo chown -R $(whoami):$(id -ng) ~/.cargo/ | |
- name: Install dependencies | |
run: sudo apt-get update; sudo apt-get install --no-install-recommends libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libudev-dev | |
- name: Cache cargo | |
uses: actions/cache@v3 | |
id: cache | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Test | |
run: cargo test --verbose --all-features -- --nocapture | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: 1.71.0 | |
components: rustfmt | |
- name: Run fmt --all -- --check | |
run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: 1.71.0 | |
components: clippy | |
- name: Install dependencies | |
run: sudo apt-get update; sudo apt-get install --no-install-recommends libudev-dev | |
- name: Cache cargo | |
uses: actions/cache@v3 | |
id: cache | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run clippy --all-targets -- | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-targets -- | |
docs: | |
name: Docs | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: 1.71.0 | |
- name: Install dependencies | |
run: sudo apt-get update; sudo apt-get install --no-install-recommends libudev-dev | |
- name: Cache cargo | |
uses: actions/cache@v3 | |
id: cache | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run doc tests | |
run: cargo test --doc --all-features | |
- name: Check docs | |
run: cargo doc --no-deps --all-features | |
docs-and-demos-ghpages: | |
name: Update Docs and Demos in GitHub Pages | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: jetli/[email protected] | |
with: | |
version: 'latest' | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
targets: wasm32-unknown-unknown | |
toolchain: 1.71.0 | |
- name: Build docs | |
env: | |
GITHUB_REPO: ${{ github.repository }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: |- | |
cargo doc --verbose --all-features && | |
echo "<meta http-equiv=refresh content=0;url=bevy_yoleck/index.html>" > target/doc/index.html && | |
required_features=$( | |
cargo metadata --no-deps --format-version 1 \ | |
| jq --arg target "example3d" '.packages[].targets[] | select(.kind == ["example"]) | .["required-features"][]' -r \ | |
| tr '\n' ' ' | |
) | |
cargo build --examples --release --features "$required_features" --target wasm32-unknown-unknown --features bevy/webgl2 && | |
for demowasm in $(cd target/wasm32-unknown-unknown/release/examples; ls *.wasm | grep -v -); do | |
wasm-bindgen target/wasm32-unknown-unknown/release/examples/$demowasm --out-dir target/doc/demos/ --target web | |
cat > target/doc/demos/${demowasm%.*}.html <<EOF | |
<html lang="en-us"> | |
<head> | |
<script type="module"> | |
import init from './${demowasm%.*}.js'; | |
var res = await init(); | |
res.start(); | |
</script> | |
</head> | |
<body> | |
<script> | |
document.body.addEventListener("contextmenu", (e) => { | |
e.preventDefault(); | |
e.stopPropagation(); | |
}); | |
</script> | |
</body> | |
</html> | |
EOF | |
done && | |
cp -R assets/ target/doc/demos/ | |
- name: Add read permissions | |
run: |- | |
chmod --recursive +r target/doc | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: target/doc | |
deploy-ghpages: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: docs-and-demos-ghpages | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 |