mirror of
https://github.com/mfontanini/presenterm.git
synced 2025-05-05 15:32:58 +00:00
87 lines
2.0 KiB
YAML
87 lines
2.0 KiB
YAML
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
name: Merge checks
|
|
|
|
jobs:
|
|
check:
|
|
name: Checks
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install rust toolchain
|
|
uses: dtolnay/rust-toolchain@1.78.0
|
|
with:
|
|
components: clippy
|
|
|
|
- name: Run cargo check
|
|
run: cargo check --features sixel
|
|
|
|
- name: Run cargo test
|
|
run: cargo test
|
|
|
|
- name: Run cargo clippy
|
|
run: cargo clippy -- -D warnings
|
|
|
|
- name: Install nightly toolchain
|
|
uses: dtolnay/rust-toolchain@nightly
|
|
with:
|
|
components: rustfmt
|
|
|
|
- name: Run cargo fmt
|
|
run: cargo +nightly fmt --all -- --check
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v5
|
|
|
|
- name: Install weasyprint
|
|
run: |
|
|
uv venv
|
|
source ./.venv/bin/activate
|
|
uv pip install weasyprint
|
|
|
|
- name: Export demo presentation as PDF and HTML
|
|
run: |
|
|
cat >/tmp/config.yaml <<EOL
|
|
export:
|
|
dimensions:
|
|
rows: 35
|
|
columns: 135
|
|
EOL
|
|
source ./.venv/bin/activate
|
|
cargo run -- --export-pdf -c /tmp/config.yaml examples/demo.md
|
|
cargo run -- --export-html -c /tmp/config.yaml examples/demo.md
|
|
|
|
nix-flake:
|
|
name: Validate nix flake
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install nix
|
|
uses: DeterminateSystems/nix-installer-action@v13
|
|
- name: Build
|
|
run: nix build .#dev.presenterm
|
|
|
|
bat-assets:
|
|
name: Validate bat assets
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Validate assets
|
|
run: ./bat/verify.sh
|
|
|
|
json-schemas:
|
|
name: Validate JSON schemas
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Validate config file schema
|
|
run: ./scripts/validate-config-file-schema.sh
|