Skip to content

update fmt

update fmt #53

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Format
run: cargo fmt --all --check
- name: Clippy
run: cargo clippy --all-targets -- -D warnings
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Build (main workspace)
run: cargo build --release
- name: Test
run: cargo test --release
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install mdbook
run: curl -sSfL https://github.com/rust-lang/mdBook/releases/download/v0.4.45/mdbook-v0.4.45-x86_64-unknown-linux-gnu.tar.gz | tar -xz -C /tmp && sudo mv /tmp/mdbook /usr/local/bin/ && mdbook --version
- name: Build docs
run: mdbook build docs/
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/book/
deploy-pages:
name: Deploy to GitHub Pages
needs: docs
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
build-web:
name: Web frontend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: toboggan-web/package-lock.json
- name: Install wasm-pack
run: curl -sSfL https://github.com/rustwasm/wasm-pack/releases/download/v0.13.1/wasm-pack-v0.13.1-x86_64-unknown-linux-musl.tar.gz | tar -xz -C /tmp && sudo mv /tmp/wasm-pack-v0.13.1-x86_64-unknown-linux-musl/wasm-pack /usr/local/bin/
- name: Build WASM
run: wasm-pack build --target web --no-pack --no-opt --release --out-dir pkg toboggan-web/toboggan-wasm
- name: Install deps
run: npm ci
working-directory: toboggan-web
- name: Build
run: npm run build
working-directory: toboggan-web
- name: Upload dist
uses: actions/upload-artifact@v4
with:
name: web-dist
path: toboggan-web/dist
build-server:
name: Server (with web assets)
needs: build-web
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Download web dist
uses: actions/download-artifact@v4
with:
name: web-dist
path: toboggan-web/dist
- name: Build server
run: cargo build --release -p toboggan-server
build-cli:
name: CLI + TUI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Build
run: cargo build --release -p toboggan-cli -p toboggan-tui
build-desktop:
name: Desktop
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install -y libxkbcommon-dev libwayland-dev libegl1-mesa-dev libgles2-mesa-dev
- name: Build
run: cargo build --release --manifest-path toboggan-desktop/Cargo.toml