eclipse-zenoh / ci

GitHub Actions and workflows used across eclipse-zenoh
Other
1 stars 3 forks source link

feat: Support releasing crates #4

Closed fuzzypixelz closed 8 months ago

fuzzypixelz commented 8 months ago

Depends on https://github.com/eclipse-zenoh/homebrew-zenoh/pull/5. (merged!)

This pull request introduces the following reusable workflows for use in eclipse-zenoh/zenoh, eclipse-zenoh/zenoh-plugin-*, and eclipse-zenoh/zenoh-backend-* and partially Rust-based bindings.

  1. tag-crates: This bumps the version of the workspace, including in all cargo-deb metadata. And sets the version of eclipse-zenoh dependencies either to the tag itself, or optinally to a different version (to support releasing patches for plugins/backends/bindings without re-relasing eclipse-zenoh/zenoh). If dry-run = true then a release/dry-run/1.2.3 branch is created instead of release/1.2.3. If release/dry-run/* branches exceed a limit, then the oldest one is deleted
  2. build-crates-artifacts: This builds artifacts for all supported targets and uploads them for use by users.
  3. build-crates-debian: This builds Debian packages for all supported targets and uploads them.
  4. publish-crates-cargo: This publishes a sequence of workspaces to a local alternative Cargo registry, and then if dry-run = false to cartes.io
  5. publish-crates-debian: This publishes packages uploaded in build-crates-debian to a local Debian repository, tries to install them from it, then if dry-run = false to eclipse.org
  6. publish-crates-homebrew: This builds artifacts for macOS, then publishes them to a local Homebrew tap and attempts to install them from it, then if dry-run = false uploads the build result to eclipse.org and updates eclipse-zenoh/homebrew-zenoh
  7. publish-crates-eclipse: This publishes packages uploaded in build-crates-debian to eclipse.org
  8. publish-crates-github: This crates a GitHub release on the target repository and populates it with artifacts built in build-crates-artifacts.
eclipse-zenoh-bot commented 8 months ago

@fuzzypixelz If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

eclipse-zenoh-bot commented 8 months ago

@fuzzypixelz If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

eclipse-zenoh-bot commented 8 months ago

@fuzzypixelz If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.

eclipse-zenoh-bot commented 8 months ago

@fuzzypixelz If this pull request contains a bugfix or a new feature, then please consider using Closes #ISSUE-NUMBER syntax to link it to an issue.