wip: add semver workflows

This commit is contained in:
Jonathan Kelley 2024-02-21 15:40:50 -08:00
parent 0ae0929691
commit fff70973aa
No known key found for this signature in database
GPG key ID: 1FBB50F7EB0A08BE
2 changed files with 57 additions and 0 deletions

View file

@ -4,3 +4,51 @@
# - nightly docs
# - the website
# - crates themselves
name: Publish to crates.io
on:
workflow_dispatch:
inputs:
semver:
type: choice
description: "Semver version to publish"
required: true
options:
- patch
- minor
- major
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
- name: Login to crates.io
uses: actions-rs/cargo@v1
with:
toolchain: nightly
command: login
args: ${{ secrets.CRATES_TOKEN }}
- name: Publish to crates.io
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
# Release as-is
# This assumes the version tracking PR has been merged
# cargo workspaces changed
# # version will automatically commit back to the repo
# # cargo workspaces version -y ${{ github.event.inputs.semver }}
# # publish will automatically commit back to the repo **AND** publish to crates.io
# # cargo workspaces publish -y ${{ github.event.inputs.semver }}

9
.github/workflows/semver.yml vendored Normal file
View file

@ -0,0 +1,9 @@
# Whenever commits are merged to main, update or create a PR that bumps the version
# Tracks if changes are semver compatible
# Most likely the changes aren't semver compatible
#
# We want to have a standing "major" update PR and a standing "minor" update PR where fixes are backported
#
# Whenever a PR is made, we want to comment on it:
# - semver compatibility
# - if it's a fix, it should be backported to the minor update PR