mtp/.forgejo/workflows/ci.yml
Alois 88f8f93d89
Some checks failed
CI / rustfmt (push) Successful in 3m5s
CI / wasm build (push) Failing after 3m44s
CI / clippy (push) Failing after 3m44s
CI / test (push) Failing after 3m44s
CI / web client (push) Has been cancelled
CI / duplicate code (push) Has been cancelled
CI / example (push) Has been cancelled
CI / cargo-machete (push) Has been cancelled
CI / cargo-deny (push) Has been cancelled
(fix): some ci stuff
2026-06-28 17:31:04 +02:00

183 lines
5.7 KiB
YAML

name: CI
on:
push:
branches: [master]
pull_request:
env:
CARGO_TERM_COLOR: always
NIX_CONFIG: experimental-features = nix-command flakes
jobs:
fmt:
name: rustfmt
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Check formatting
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command cargo fmt --all --check
clippy:
name: clippy
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Run clippy
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command mtp-clippy
test:
name: test
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Run tests
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command bash -lc 'cargo test --workspace --exclude mtp-wasm --all-features'
wasm:
name: wasm build
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Build wasm crate
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command bash -lc 'cargo build -p mtp-wasm --target wasm32-unknown-unknown'
env:
RUSTFLAGS: --cfg web_sys_unstable_apis
example:
name: example
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Check example usage workspace
working-directory: example
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop .. --command bash -lc 'export MTP_TYPE_MAPS="$PWD/type-maps.yaml"; cargo check --workspace --all-targets --all-features'
deny:
name: cargo-deny
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Run cargo-deny
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command cargo deny check advisories bans sources
machete:
name: cargo-machete
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Run cargo-machete
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command mtp-machete
duplicates:
name: duplicate code
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Install dependencies
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command pnpm install --frozen-lockfile
- name: Run duplicate detector
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command pnpm run dup
web-client:
name: web client
runs-on: docker
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Nix
run: |
apt-get update && apt-get install -y --no-install-recommends ca-certificates curl xz-utils
curl -L https://nixos.org/nix/install | sh -s -- --daemon
- name: Build wasm package
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command wasm-pack build wasm --target web
env:
RUSTFLAGS: --cfg web_sys_unstable_apis
- name: Install dependencies
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command pnpm install --frozen-lockfile
- name: Build TypeScript package
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command pnpm run build
env:
RUSTFLAGS: --cfg web_sys_unstable_apis
- name: Build web client
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix develop --command pnpm --filter mtp-web-client run build