turtlegame/.forgejo/workflows/rust.yml

69 lines
1.9 KiB
YAML
Raw Normal View History

name: Rust
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: https://github.com/dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
g++ pkg-config libx11-dev libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
- uses: actions/checkout@v4
- uses: https://github.com/dtolnay/rust-toolchain@1.79.0
id: rust-toolchain
with:
components: clippy
- uses: actions/cache@v4
with:
path: |
~/.cargo/git
~/.cargo/registry
target
key: "${{runner.os}} Rust+Clippy ${{steps.rust-toolchain.outputs.cachekey}}"
- run: cargo clippy --locked --all-targets -- -D warnings
env:
RUSTFLAGS: "-D warnings"
build:
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
g++ pkg-config libx11-dev libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
- uses: actions/checkout@v4
- uses: https://github.com/dtolnay/rust-toolchain@stable
id: rust-toolchain
- uses: actions/cache@v4
with:
path: |
~/.cargo/git
~/.cargo/registry
target
key: "${{runner.os}} Rust ${{steps.rust-toolchain.outputs.cachekey}}"
- run: mkdir .ci-destdir
- run: cargo install --path . --locked --root .ci-destdir
- run: find .ci-destdir
- uses: forgejo/upload-artifact@v3
with:
name: Powercreep
path:
.ci-destdir/*