fix(deps): update rust crate rfd to 0.12.1 #201
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: | |
paths-ignore: | |
- "docs/**" | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "docs/**" | |
- "**.md" | |
jobs: | |
# Check for formatting | |
rustfmt: | |
name: Formatter check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: rustfmt | |
override: true | |
- run: rustup component add rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
# Run compile check on Linux, macOS, and Windows | |
compile: | |
name: Compile | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
steps: | |
# Checkout the branch being tested | |
- uses: actions/checkout@v4 | |
# Install rust stable | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
# Cache the built dependencies | |
- uses: Swatinem/rust-cache@v2.7.0 | |
with: | |
save-if: ${{ github.event_name == 'push' }} | |
# Install cargo-hack | |
- uses: taiki-e/install-action@cargo-hack | |
# Compile all feature combinations on the target platform | |
- name: Compile | |
run: cargo hack --feature-powerset check | |
# Build sources for every OS | |
desktop: | |
if: startsWith(github.ref, 'refs/tags/') | |
name: Desktop Build | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- x86_64-unknown-linux-gnu | |
- x86_64-apple-darwin | |
- x86_64-pc-windows-msvc | |
include: | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-latest | |
name: sprite-x86_64-unknown-linux-gnu | |
- target: x86_64-apple-darwin | |
os: macOS-latest | |
name: sprite-x86_64-apple-darwin | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
name: sprite-x86_64-pc-windows-msvc.exe | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
target: ${{ matrix.target }} | |
- name: Install dependencies | |
if: matrix.os == 'ubuntu-latest' | |
run: sudo apt-get install -y libx11-dev libxi-dev libgl1-mesa-dev gcc-mingw-w64 | |
- name: Build target | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --release --target ${{ matrix.target }} | |
- name: Prepare build artifacts [Windows] | |
if: matrix.os == 'windows-latest' | |
run: | | |
cd target/${{ matrix.target }}/release | |
strip sprite.exe | |
mv sprite.exe ../../../${{ matrix.name }} | |
cd - | |
- name: Prepare build artifacts [-nix] | |
if: matrix.os != 'windows-latest' | |
run: | | |
cd target/${{ matrix.target }}/release | |
strip sprite | |
mv sprite ../../../${{ matrix.name }} | |
cd - | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.name }} | |
path: ${{ matrix.name }} | |
# Create GitHub release with Rust build targets and release notes | |
github_release: | |
if: startsWith(github.ref, 'refs/tags/') | |
name: GitHub Release | |
needs: desktop | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# These can be squashed when https://github.com/actions/download-artifact/issues/6 is closed | |
- name: Download releases from 'dekstop' | |
uses: actions/download-artifact@v3 | |
with: | |
name: sprite-x86_64-unknown-linux-gnu | |
path: . | |
- name: Download releases from 'desktop' | |
uses: actions/download-artifact@v3 | |
with: | |
name: sprite-x86_64-apple-darwin | |
path: . | |
- name: Download releases from 'desktop' | |
uses: actions/download-artifact@v3 | |
with: | |
name: sprite-x86_64-pc-windows-msvc.exe | |
path: . | |
- name: Generate checksums | |
run: for file in sprite-*; do openssl dgst -sha256 -r "$file" | awk '{print $1}' > "${file}.sha256"; done | |
- name: Create GitHub release ${{ matrix.target }} | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
sprite-* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# Build the WASM target & push it to GitHub pages | |
wasm: | |
name: WASM build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# Install rust stable | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
targets: wasm32-unknown-unknown | |
# Cache the built dependencies | |
- uses: Swatinem/rust-cache@v2.7.0 | |
with: | |
save-if: ${{ github.event_name == 'push' }} | |
# Build the WASM | |
- name: Build | |
run: cargo run --package run-wasm -- --bin sprite --no-default-features --release --build-only | |
# Deploy to GitHub pages | |
- name: Deploy to GitHub Pages | |
uses: s0/git-publish-subdir-action@master | |
env: | |
REPO: self | |
BRANCH: gh-pages | |
FOLDER: target/wasm-examples/sprite | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |