Skip to content

chore: Release version v0.0.25 #1099

chore: Release version v0.0.25

chore: Release version v0.0.25 #1099

Workflow file for this run

name: Build
on:
schedule:
- cron: "0 0 1 * *" # First day of every month
push:
paths-ignore:
- changelog
branches-ignore:
- main
workflow_dispatch:
pull_request:
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
RUSTDOCFLAGS: "--deny warnings"
MINIMUM_SUPPORTED_RUST_VERSION: 1.85.0
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
name: Check
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
with:
cache-all-crates: true
- name: Run cargo check
run: cargo check --locked
hack:
name: Cargo hack
needs: check
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
- uses: taiki-e/install-action@cargo-hack
- run: cargo hack check --feature-powerset --no-dev-deps
build:
name: Build w/o features
needs: check
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
matrix:
rust:
- stable
- beta
- nightly
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- uses: Swatinem/rust-cache@v2
- name: Run cargo build
run: cargo build
build-for-targets:
name: Build for targets
needs: check
runs-on: ${{ matrix.platforms.os }}
continue-on-error: true
permissions:
contents: read
strategy:
matrix:
platforms:
- os: macos-15
target: aarch64-apple-darwin
features: "--features gssapi-vendored,libz-static,ssl-vendored"
- os: macos-15-intel
target: x86_64-apple-darwin
features: "--features gssapi-vendored,libz-static,ssl-vendored"
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
features: "--features gssapi-vendored,libz-static,ssl-vendored"
- os: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
features: "--features gssapi-vendored,libz-static,ssl-vendored"
- os: windows-latest
target: x86_64-pc-windows-gnu
features: "--no-default-features"
- os: windows-latest
target: x86_64-pc-windows-msvc
features: "--no-default-features --features ssl-vendored,libz-static"
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: houseabsolute/actions-rust-cross@v1
with:
target: ${{ matrix.platforms.target }}
args: "--locked ${{ matrix.platforms.features }}"
strip: true
lockfile:
name: Lockfile
needs: check
runs-on: ubuntu-latest
permissions:
contents: read
if: ${{ github.actor != 'dependabot[bot]' }}
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
- name: Check lockfile is updated
run: cargo update --locked
clippy:
needs: check
name: Clippy
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Run cargo clippy
run: cargo clippy --all-targets --all-features -- --deny warnings
license:
needs: check
name: License
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
- name: Install git-cliff
run: cargo install --locked cargo-deny
- name: Run cargo deny
run: cargo deny check licenses
format:
needs: check
name: Format
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt
- uses: Swatinem/rust-cache@v2
- name: Run cargo fmt
run: cargo fmt --all -- --check
unused-dependencies:
needs: check
name: Unused dependencies
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: Swatinem/rust-cache@v2
- uses: bnjbvr/cargo-machete@main
tests:
needs: check
name: Tests
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
- run: cargo install cargo-nextest --locked
- run: cargo nextest run --locked
env:
RUST_BACKTRACE: full
CI: "true"
doc:
needs: check
name: Documentation
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
- name: Build documentation
run: cargo doc --no-deps --document-private-items --verbose
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: 24
cache-dependency-path: docs/package-lock.json
cache: npm
- name: Install dependencies
run: npm install --prefix docs
- name: Build with VitePress
run: npm run build --prefix docs
shear:
name: Shear
runs-on: ubuntu-latest
needs: [check]
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- run: cargo install --locked cargo-shear
- name: Run cargo Shear
run: cargo shear
lychee:
name: Lychee
runs-on: ubuntu-latest
needs: [check]
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: lycheeverse/lychee-action@v2
name: Link Checker
# https://github.com/lycheeverse/lychee/issues/1405
with:
args: --accept '100..=103,200..=299,429' --exclude-loopback README.md './crates/app/README.md' './crates/command/README.md' './docs' './crates/lib/README.md' './crates/wasm-types/README.md' './crates/bin/src/**' './crates/app/src/**' './crates/command/src/**' './crates/lib/src/**' './crates/wasm-types/src/**' './docs/**' --exclude-path './docs/url-templates/index.md' --exclude-path './docs/node_modules' --exclude-path './docs/schema-registry/index.md' --exclude 'https://docs.rs'
# https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images
docker:
name: Docker image
runs-on: ubuntu-latest
needs: [check]
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build
uses: docker/build-push-action@v6
with:
context: .
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
typos:
name: Typos
runs-on: ubuntu-latest
needs: [check]
permissions:
contents: read
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Check spelling of the project
uses: crate-ci/typos@master
cargo-deny:
name: Cargo deny
runs-on: ubuntu-latest
permissions:
contents: read
needs: [check]
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: EmbarkStudios/cargo-deny-action@v2
# https://github.com/orhun/PKGBUILDs/tree/master/yozefu
archlinux:
name: Arch Linux
runs-on: ubuntu-latest
permissions:
contents: read
container:
image: archlinux:base-20250928.0.426921
volumes:
- /tmp/yozefu-read-only:/tmp/yozefu-readonly:ro
needs: [check]
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v6
- name: Install dependencies
run: pacman -Sy --noconfirm --needed cargo devtools gcc-libs openssl cmake gcc14 clang base-devel
- name: Use GCC 14
# Because https://github.com/MaterializeInc/rust-krb5-src/issues/28
run: |
ln -s "$(which gcc-14)" "/usr/local/bin/gcc"
ln -s "$(which g++-14)" "/usr/local/bin/g++"
hash -r
- name: Cargo build
run: cargo build --all-features --locked
- name: Cargo test
run: cargo test --all-features --locked
nix:
name: Nix
needs: check
runs-on: ${{ matrix.platforms.os }}
continue-on-error: true
permissions:
contents: read
strategy:
matrix:
platforms:
- os: macos-15
target: aarch64-apple-darwin
- os: macos-15-large
target: x86_64-apple-darwin
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
steps:
- uses: actions/checkout@v6
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
- run: nix build