chore: Release version v0.0.25 #1099
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |