cosmic-weather-applet/.forgejo/workflows/ci.yml
Emil Lerch 2153f7b52b
All checks were successful
CI / Clippy (push) Successful in 46s
CI / Build (debug) (push) Successful in 47s
CI / Build (release) (push) Successful in 1m35s
CI / Notify (push) Successful in 3s
notifications
2026-03-02 15:13:16 -08:00

106 lines
2.7 KiB
YAML

name: CI
on:
push:
branches: [master]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
lint:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libxkbcommon-dev libwayland-dev
- uses: https://github.com/dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-lint-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-lint-
${{ runner.os }}-cargo-
- name: Run clippy
run: cargo clippy --all-features -- -D warnings -W clippy::pedantic
build-debug:
name: Build (debug)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libxkbcommon-dev libwayland-dev
- uses: https://github.com/dtolnay/rust-toolchain@stable
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-debug-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-debug-
${{ runner.os }}-cargo-
- name: Build (debug)
run: cargo build
build-release:
name: Build (release)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libxkbcommon-dev libwayland-dev
- uses: https://github.com/dtolnay/rust-toolchain@stable
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-release-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-release-
${{ runner.os }}-cargo-
- name: Build (release)
run: cargo build --release
notify:
name: Notify
needs: [lint, build-debug, build-release]
runs-on: ubuntu-latest
if: always()
steps:
- uses: https://git.lerch.org/lobo/action-notify-ntfy@v2
with:
host: ${{ secrets.NTFY_HOST }}
topic: ${{ secrets.NTFY_TOPIC }}
user: ${{ secrets.NTFY_USER }}
password: ${{ secrets.NTFY_PASSWORD }}