Skip to content

A Rust template repository containing all the things

Notifications You must be signed in to change notification settings

matthiasbeyer/enterprise-rust-template

Repository files navigation

enterprise-rust-template

Bors enabled

This is an opinionated template repository for rust projects. It is "enterprise" because it contains all the things you could ever want from such a repository.

Nix

This repository is nix ready. That means that a flake is added for your conveniance as well as actions workflows for working with nix and cachix caching.

For caching with cachix, you need to add a github secret from cachix. Read more here

MSRV

MSRV for this repository is currently: 1.60.0

That matters explicitly because we run some tools only for this version, e.g.: clippy.

Features

This section contains documentation for the "features" this repository provides.

Bots

Bors

Bors is a GitHub bot that prevents merge skew / semantic merge conflicts, so when a developer checks out the main branch, they can expect all the tests to pass out-of-the-box.

Dependabot

Dependabot is enabled so that dependencies are always up-to-date.

Stalebot

Issues and PRs are automatically marked as stale by stalebot. PRs are closed after some time, but issues are not.

CI builds

Builds are done for the following distributions right now:

  • alpine
  • archlinux
  • centos
  • debian
  • nixos
  • RHEL
  • static using musl
  • ubuntu
  • yocto
CI checks

The following checks are currently done by CI:

  • tests
  • clippy
  • coverage
  • cargo-deny
  • cargo-outdated
CI cross compilation

The following targets are currently enabled for cross compilation:

  • ARM
  • RISC-V
Other CI features

The following features are implemented in CI that do not fit in above sections:

  • caching
  • commits are linted using gitlint
  • blocking of "!fixup"/"!squash" commits
  • first-time contributor message
  • automatic labeling
  • automatic assigning issues/PRs
  • automatic reviews
    • missspell checks
    • language checks
GitHub Pages

GitHub Pages are used for

  • Code documentation
  • website (using zola)
Release automation

Nothing is implemented for release automation yet.

License

(c) 2022 Matthias Beyer

Licensed as MIT or Apache 2.0 or MPL or WTFPL at your opinion.

About

A Rust template repository containing all the things

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published