mirror of
https://github.com/tealdeer-rs/tealdeer.git
synced 2026-08-09 09:49:10 +02:00
Closes #311 Similar to how `bat` does it, we now have a global struct which holds all the queried system directories. We prefer the XDG directories, but use the "native" directories as a fallback. This should ensure that when MacOs users upgrade from an older version, their existing config and cache are still used. After deleting the old directories, the new ones should be used by tealdeer automatically.
93 lines
2.8 KiB
YAML
93 lines
2.8 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- "v*.x"
|
|
pull_request:
|
|
schedule:
|
|
- cron: '30 3 * * 2'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test:
|
|
name: run tests
|
|
strategy:
|
|
matrix:
|
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
toolchain: [stable, 1.87.0] # MSRV
|
|
include:
|
|
- platform: windows-latest
|
|
exe_suffix: .exe
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ matrix.toolchain }}
|
|
- run: mkdir artifacts
|
|
- name: Build with default features
|
|
run: |
|
|
cargo build
|
|
cp target/debug/tldr${{ matrix.exe_suffix}} artifacts/tldr-default${{ matrix.exe_suffix}}
|
|
- name: Build with logging and Rustls with webpki roots
|
|
run: |
|
|
cargo build --features logging,rustls-with-webpki-roots --no-default-features
|
|
cp target/debug/tldr${{ matrix.exe_suffix}} artifacts/tldr-logging-rustls-webpki${{ matrix.exe_suffix}}
|
|
- name: Build with native TLS backend
|
|
run: |
|
|
# expects runners have the proper Native SSL library
|
|
cargo build --features native-tls --no-default-features
|
|
cp target/debug/tldr${{ matrix.exe_suffix}} artifacts/tldr-native-tls${{ matrix.exe_suffix}}
|
|
- uses: actions/upload-artifact@v7
|
|
with:
|
|
name: tldr-debug-build-${{ matrix.platform }}-rust-${{ matrix.toolchain }}
|
|
path: artifacts/
|
|
- name: Run tests
|
|
run: cargo test -- --test-threads 1
|
|
|
|
clippy:
|
|
name: run clippy lints
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
components: clippy
|
|
- name: run clippy lints
|
|
run: cargo clippy --all-targets --features logging
|
|
|
|
fmt:
|
|
name: run rustfmt
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
components: rustfmt
|
|
- name: run rustfmt
|
|
run: cargo fmt --all -- --check
|
|
|
|
docs:
|
|
name: build docs
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Setup mdBook
|
|
uses: peaceiris/actions-mdbook@v2
|
|
with:
|
|
mdbook-version: '0.4.4'
|
|
- name: Setup toolchain
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
- name: Build
|
|
run: cargo build
|
|
- name: Ensure that docs can be built
|
|
run: cd docs && mdbook build
|
|
- name: Generate usage string
|
|
run: cargo run -- --help > docs/src/usage-actual.txt
|
|
- name: Ensure that usage string is up to date
|
|
run: diff docs/src/usage{,-actual}.txt
|