A Github Actions based CI release template for Rust binaries

Overview


Rust CI Release Template

A Github Actions based CI release template.

This repo serves as a live template, and reference for building your own CI powered Rust release process on Github Action. This was built to fill a gap that Rust has, and Go doesn't have because Go has GoReleaser.

Heavily inspired from the helix editor project CI workflow + some small tweaks.

Development On each commit, the following is automated:

  • CI with caching: check, test, lint

Release Upon pushing a new tag, the following is automated:

  • Build for multi-platform binaries: Linux, Windows, macOS
  • Create GitHub releases
  • Update Homebrew formula

Quick Start

Just copy .github/workflows to your own repo, and set a binary name in your own Cargo.toml using a [[bin]] block (see the example Cargo.toml).

Next, check out the point of interest for you to configure / tune below.

Points of interest

  • Cargo.toml - set your binary name explicitly and take note of it
  • build.yml - you can use as-is, no parameters to configure
  • release.yml
    • Project: at the top of the file, set your own parameters under env
    • Project: your binary name should be the same as in your Cargo.toml
    • Targets: configure platforms as you wish
    • Homebrew: remove the Homebrew pragma if not needed
    • Homebrew: macOS with ARM chips: customize your formula

Thanks

To all Contributors - you make this happen, thanks!

Copyright

Copyright (c) 2021 @jondot. See LICENSE for further details.

Owner
Automated Code Security for Modern Teams
null
Telegram Bot Template with Cloudflare Workers

cf-workers-telegram-bot-template Usage This template starts you off with a src/lib.rs file, acting as an entrypoint for requests hitting your Worker.

Lee Taehoon 2 Sep 23, 2021
A template for kick starting a Cloudflare worker project using workers-rs.

Getting Started A template for kick starting a Cloudflare worker project using workers-rs. This template is designed for compiling Rust to WebAssembly

Abid Omar 1 Oct 13, 2021
Axum server starter template

Axum Starter Template A template to get started with Axum Features Tracing and bunyan formatting SQLx support (with testing) Server as library Example

Jordan 1 Nov 18, 2021
dm-jitaux is a Rust-based JIT compiler using modified auxtools, dmasm and Inkwell LLVM wrapper for boosting Byond DM performance without any hassle!

dm-jitaux is a Rust-based JIT compiler using modified auxtools, dmasm and Inkwell LLVM wrapper for boosting Byond DM performance without any hassle (such as rewriting/refactroing your DM code).

SS220 8 Nov 24, 2021
A rust-based extension module for Halo 3: MCC PC

halo3-rs This project is a rust-based extension module for Halo 3 in the Master Chief Collection on PC. The DLL wrapper contains a collection of patch

null 2 Sep 19, 2021
cargo extension for flashing embedded rust programs via dfu based on jacobrosenthals cargo-hf2

cargo-dfu This crate provides a cargo subcommand to flash ELF binaries via dfu Most STM chips will probably work with this, although you might need to

Roman Kretschmer 1 Nov 14, 2021
mdzk is a plain text Zettelkasten system that is based on the mdBook API.

mdzk A lovingly designed system and static publishing tool for your plain text Zettelkasten mdzk is a plain text Zettelkasten system that is based on

mdzk 98 Dec 1, 2021
The Voting example based on MoonZoon and Solana.

Voting example The Rust-only Voting example based on MoonZoon and Solana. MoonZoon is a Rust Fullstack Framework. Solana is a decentralized blockchain

Martin Kav铆k 4 Nov 14, 2021
A webhook-based Discord slash command library

Slashook A webhook-based Discord slash command library. This is a WIP project. Please note breaking changes can occur within minor releases until vers

Tonkku 3 Oct 29, 2021
A cell-based esoteric programming language

Tape A cell-based esoteric programming language Tape is a cell-based, brainfuck-like programming language that has a readable syntax and a non-wasted

Gabriel Pacheco 1 Oct 27, 2021
Nimbus is a framework for building parachain consensus systems on cumulus-based parachains.

Cumulo -- Nimbus 鉀堬笍 Nimbus is a framework for building parachain consensus systems on cumulus-based parachains. Given the regular six-second pulse-lik

null 11 Nov 18, 2021
A collection of compilers based around compiling a high level language to a Brainfuck dialect.

tf A collection of compilers based around compiling a high level language to a Brainfuck dialect. Built at, and for, the VolHacks V hackathon during O

adam mcdaniel 6 Nov 25, 2021
A stupid macro that compiles and executes Rust and spits the output directly into your Rust code

inline-rust This is a stupid macro inspired by inline-python that compiles and executes Rust and spits the output directly into your Rust code. There

William 1 Nov 22, 2021
馃悁 Building a federated alternative to reddit in rust

Lemmy A link aggregator / Reddit clone for the fediverse. Join Lemmy 路 Documentation 路 Report Bug 路 Request Feature 路 Releases 路 Code of Conduct About

LemmyNet 5.6k Nov 29, 2021
Applied offensive security with Rust

Black Hat Rust - Early Access Deep dive into offensive security with the Rust programming language Buy the book now! Summary Whether in movies or main

Sylvain Kerkour 1k Nov 24, 2021
Rholang runtime in rust

Rholang Runtime A rholang runtime written in Rust.

Jerry.Wang 15 Aug 4, 2021
Easy-to-use optional function arguments for Rust

OptArgs uses const generics to ensure compile-time correctness. I've taken the liberty of expanding and humanizing the macros in the reference examples.

Jonathan Kelley 31 Sep 9, 2021
A language server for lua written in rust

lua-analyzer lua-analyzer is a lsp server for lua. This is mostly for me to learn the lsp protocol and language analysis so suggestions are helpful. T

null 55 Oct 12, 2021
Rust library that can be reset if you think it's slow

GoodbyeKT Rust library that can be reset if you think it's slow

null 40 Oct 17, 2021