Skip to content

Commit

Permalink
ci: release automation with release-please
Browse files Browse the repository at this point in the history
  • Loading branch information
mrcjkb committed Nov 2, 2023
1 parent 74b863e commit 28ba6b7
Show file tree
Hide file tree
Showing 12 changed files with 129 additions and 32 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Release Please Automatic Semver

on:
push:
branches:
- main

permissions:
contents: write
pull-requests: write

jobs:
release:
name: release
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
with:
release-type: rust
command: manifest
package-name: tuxedo-rs
changelog-types: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"deps","section":"Dependencies","hidden":false}]'
9 changes: 9 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"tuxedo_ioctl": "0.2.3",
"tuxedo_sysfs": "0.2.3",
"tailord": "0.2.3",
"tailor_api": "0.2.3",
"tailor_client": "0.2.3",
"tailor_cli": "0.2.3",
"tailor_gui": "0.2.3"
}
23 changes: 23 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Contributing guide

Contributions are more than welcome!

## Commit messages / PR titles

This project uses [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
for PR titles, which become the commit messages after a squash merge.

The most important prefixes you should have in mind are:

- `feat:` which represents a new feature, and correlates to a [SemVer](https://semver.org/)
minor.
- `fix:` which represents bug fixes, and correlates to a SemVer patch.
- `deps:` which represents dependency updates, and correlates to a SemVer patch.
- `feat!:`, or `fix!:`, `refactor!:`, etc., which represent a breaking change
(indicated by the !).
- `docs:` which represents documentation, and does not correlate to a version bump.
- `chore:` which represents miscellaneous changes,
and does not correlate to a version bump.

See also the [`release-please`](./.github/workflows/release-please.yml)
for the mapping of commit prefixes to changelog entry.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,12 @@ members = [
exclude = [
"tailor_gui",
]

[workspace.package]
name = "tuxedo-rs"
version = "0.2.3"
rust-version = "1.72.0"
authors = ["Aaron Erhardt <[email protected]>"]
edition = "2021"
license = "GPL-2.0+"
repository = "https://github.com/AaronErhardt/tuxedo-rs"
26 changes: 26 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"plugins": ["cargo-workspace"],
"packages": {
"tuxedo_ioctl": {
"release-type": "rust"
},
"tuxedo_sysfs": {
"release-type": "rust"
},
"tailord": {
"release-type": "rust"
},
"tailor_api": {
"release-type": "rust"
},
"tailor_client": {
"release-type": "rust"
},
"tailor_cli": {
"release-type": "rust"
},
"tailor_gui": {
"release-type": "rust"
}
}
}
11 changes: 6 additions & 5 deletions tailor_api/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[package]
name = "tailor_api"
authors = ["Aaron Erhardt <[email protected]>"]
version = "0.2.3"
edition = "2021"
license = "GPL-2.0+"
description = "API types for communication with tailord (part of tuxedo-rs)"
repository = "https://github.com/AaronErhardt/tuxedo-rs"
version = "0.2.3"
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
atoi = "2"
Expand Down
10 changes: 6 additions & 4 deletions tailor_cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
[package]
name = "tailor"
version = "0.2.3"
description = "Tailor CLI (part of tuxedo-rs)"
authors = [
"Aaron Erhardt <[email protected]>",
"Marc Jakobi <[email protected]>"
]
edition = "2021"
publish = false
description = "Tailor CLI (part of tuxedo-rs)"
repository = "https://github.com/AaronErhardt/tuxedo-rs"
version = "0.2.3"
rust-version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
tailor_api = {version = "0.2.1", path = "../tailor_api" }
Expand Down
11 changes: 6 additions & 5 deletions tailor_client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[package]
name = "tailor_client"
authors = ["Aaron Erhardt <[email protected]>"]
version = "0.2.1"
edition = "2021"
license = "GPL-2.0+"
description = "Client library for tailord (part of tuxedo-rs)"
repository = "https://github.com/AaronErhardt/tuxedo-rs"
version = "0.2.3"
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
thiserror = "1"
Expand Down
11 changes: 6 additions & 5 deletions tailord/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[package]
name = "tailord"
authors = ["Aaron Erhardt <[email protected]>"]
version = "0.2.3"
edition = "2021"
license = "GPL-2.0+"
description = "Daemon handling fan, keyboard and general HW support for Tuxedo laptops (part of tuxedo-rs)"
repository = "https://github.com/AaronErhardt/tuxedo-rs"
version = "0.2.3"
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
futures = "0.3"
Expand Down
11 changes: 6 additions & 5 deletions tuxedo_ioctl/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[package]
name = "tuxedo_ioctl"
authors = ["Aaron Erhardt <[email protected]>"]
version = "0.2.3"
edition = "2021"
license = "GPL-2.0+"
description = "Tuxedo ioctl interface (part of tuxedo-rs)"
repository = "https://github.com/AaronErhardt/tuxedo-rs"
version = "0.2.3"
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
nix = { version = "0.26", features = ["ioctl"] }
Expand Down
13 changes: 7 additions & 6 deletions tuxedo_sysfs/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[package]
name = "tuxedo_sysfs"
authors = ["Aaron Erhardt <[email protected]>"]
version = "0.2.0"
edition = "2021"
license = "GPL-2.0+"
description = "Tuxedo sysfs interface (part of tuxedo-rs)"
repository = "https://github.com/AaronErhardt/tuxedo-rs"
version = "0.2.3"
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
futures = "0.3"
Expand All @@ -17,4 +18,4 @@ tailor_api = { version = "0.2", path = "../tailor_api" }

[dev-dependencies]
sudo = "0.6"
tracing-subscriber = "0.3.16"
tracing-subscriber = "0.3.16"

0 comments on commit 28ba6b7

Please sign in to comment.