reddit-magnet/.forgejo/workflows/rust.yml
Marc Plano-Lesay 5bf38fdac3
All checks were successful
Build and test / Clippy (pull_request) Successful in 49s
Build and test / Generate Documentation (pull_request) Successful in 45s
Build and test / Build AMD64 (pull_request) Successful in 50s
Checking yaml / Run yamllint (pull_request) Successful in 5s
Checking Renovate configuration / validate (pull_request) Successful in 1m30s
Build and test / Tests (pull_request) Successful in 2m34s
chore: migrate to Forgejo
2025-11-05 18:14:08 +11:00

127 lines
3.4 KiB
YAML

---
# yamllint disable rule:line-length
name: Build and test
on: # yamllint disable-line rule:truthy
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache Rust toolchain
uses: actions/cache@v4
with:
path: ~/.rustup
key: ${{ runner.os }}-rustup-toolchain-stable-clippy-rustfmt
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
with:
toolchain: stable
components: clippy, rustfmt
- name: Show versions
run: |
rustc --version
cargo --version
- name: Check formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --check
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache Rust toolchain
uses: actions/cache@v4
with:
path: ~/.rustup
key: ${{ runner.os }}-rustup-toolchain-stable-clippy-rustfmt
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
with:
toolchain: stable
components: clippy, rustfmt
- name: Show versions
run: |
rustc --version
cargo --version
- name: Clippy check
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
build-amd64:
name: Build AMD64
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache Rust toolchain
uses: actions/cache@v4
with:
path: ~/.rustup
key: ${{ runner.os }}-rustup-toolchain-stable-clippy-rustfmt
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
with:
toolchain: stable
components: clippy, rustfmt
- name: Show versions
run: |
rustc --version
cargo --version
- name: Build release binary
uses: actions-rs/cargo@v1
with:
command: build
args: --release --all-features
- name: Upload binary artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: reddit-magnet-linux-amd64
path: target/release/reddit-magnet
rustdoc:
name: Generate Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache Rust toolchain
uses: actions/cache@v4
with:
path: ~/.rustup
key: ${{ runner.os }}-rustup-toolchain-stable-clippy-rustfmt
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
with:
toolchain: stable
components: clippy, rustfmt
- name: Show versions
run: |
rustc --version
cargo --version
- name: Generate documentation
uses: actions-rs/cargo@v1
with:
command: doc
args: --all-features --workspace --no-deps
- name: Compress documentation
run: tar -czf rustdoc.tar.gz -C target doc
- name: Upload documentation artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: rustdoc
path: rustdoc.tar.gz
...