Crates.io | rraval-workflows |
lib.rs | rraval-workflows |
version | 0.1.1 |
source | src |
created_at | 2022-01-15 17:38:38.20271 |
updated_at | 2022-01-15 18:38:47.513429 |
description | Example crate for @rraval's reusable GitHub workflows |
homepage | |
repository | https://github.com/rraval/workflows |
max_upload_size | |
id | 514436 |
size | 16,284 |
Repository for common workflows so I only have to bother getting it right once.
A comprehensive set of Rust checks intended to catch errors during development:
cargo test
.grcov
and uploads it to Coveralls.cargo check
.clippy
.rustfmt
.Add a workflow file to your repository like .github/workflows/dev.yml
with the following contents:
name: Dev
on: [push, pull_request]
jobs:
all:
uses: rraval/workflows/.github/workflows/rust_dev.yml@v1
See .github/workflows/rust_dev.example.yml for a demo that checks a toy Rust crate from this repository.
git-nomad
Publishes the crate to crates.io with cargo publish
.
Navigate to https://crates.io/settings/tokens and generate a new token specific to your repository.
Follow the GitHub instructions for creating a repository secret and create a secret named CRATES_IO_TOKEN
with the value from https://crates.io/settings/tokens.
Add a workflow file to your repository like .github/workflows/publish.yml
with the following contents:
name: Publish
on:
release:
types: [published]
jobs:
all:
uses: rraval/workflows/.github/workflows/rust_publish.yml@v1
secrets:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
See .github/workflows/rust_publish.example.yml for a demo that publishes a toy Rust crate from this repository.
Builds Rust binaries (Linux and Mac OS X) and uploads them as artifacts to a GitHub release.
Add a workflow file to your repository like .github/workflows/release.yml
with the following contents, replacing <NAME-OF-YOUR-CRATE-BINARY>
with the binary to build as specified in the Cargo.toml
(if you're not doing anything fancy, this is usually the same as the Cargo package name).
name: Release
on:
release:
types: [published]
jobs:
main:
uses: rraval/workflows/.github/workflows/rust_release_binary.yml@v1
with:
CARGO_BINARY_NAME: <NAME-OF-YOUR-CRATE-BINARY>
See .github/workflows/rust_release_binary.example.yml for a demo that builds and uploads 2 binaries for a toy Rust crate from this repository.
cargo build
of release v1.0.0-rc2.