Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat: Support releasing crates #4

Merged
merged 7 commits into from
Mar 4, 2024

Conversation

fuzzypixelz
Copy link
Member

@fuzzypixelz fuzzypixelz commented Feb 23, 2024

Depends on eclipse-zenoh/homebrew-zenoh#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.

@fuzzypixelz fuzzypixelz force-pushed the develop branch 3 times, most recently from 4f7354c to c69ce0f Compare February 23, 2024 16:25
fix: Incorrect git push command

chore: Debug killed estuary process pid

fix: publish-perifs-cargo killing pid 0

fix: tag-perif not running cleanup on return

chore(tag-perif): Debug deleted repository

fix: Avoid failing on multiple dry-run publish in same branch

fix(tag-perif): Floating promise

feat: upload-to-eclipse action

feat: download-from-eclipse action

feat: build-perif-debian action

chore: Test build-and-publish-perif-debian workflow

fix: Typo (branch -> version)

fix: Typo (main -> post)

fix: Use x86_64 self-hosted runners

chore: Log built Debian packages

fix(build-perif-debian): Only run cross once

fix({download-from,upload-to}-eclipse): Invalid syntax

feat: build-perif-debian action (JS) plus tests

feat: release-crates-homebrew, {build,publish}-crates-artifacts

feat(tag-crates): Add version output

fix: Non-existing artifacts-pattern input

fix(publish-crates-debian): Download artifacts by id

fix(release-crates-homebrew): Typo

fix(tag-crates): Unquoted argument

chore: Remove post and pre script

fix(cargo): Use stable toolchain when compiling Cargo binary

fix(build-crates-artifacts): Cleanup on exit/error

chore(release-crates-homebrew): Simplify inputs

fix(release-crates-homebrew): Typo

fix(release-crates-homebrew): Typo

fix(publish-crates-homebrew): Rename release -> publish

fix(publish-crates-debian): Incomplete cleanup

fix(cargo): Unzipped artifact

fix(publish-crates-homebrew): Incorrect brew commads

fix(publish-crates-homebrew): Use --ingnore-dependencies when uninstalling

fix(publish-crates-debian): Download input artifacts by name

fix(publish-crates-homebrew): Don't upload to ssh host in dry-run

fix(publish-crates-debian):  Match arifacts with regexp

fix(publish-crates-cargo): Catch process.kill() exception

fix(publish-crates-debian): Download artifact to absolute path

fix(publish-crates-debian): Assume artifact name

fix(publish-crates-homebrew): Delete everything on cleanup

fix(publish-crates-debian): Update package lists when adding repo

fix(publish-crates-homebrew): Use wget instead of curl to download zip

fix(publish-crates-debain): Remove packages after attempting to install them

fix(publish-crates-homebrew): Don't download archive

fix(publish-crates-homebrew): Build multiple targets at the same time

fix(build-crates-debian): Use custom Debian version

Surely you must be joking cargo-deb!

fix(publish-crates-debian): Only download latest lartifacts

fix(cargo): Remove added "-1" revision in bumpDebianPackages

fix(publish-crates-debian): Force purge installed packages

fix(build-crates-artifacts): Simply artifact-patterns input

chore(tag-crates): Rename nightly -> dry-run

fix(publish-crates-cargo): Switch to dry-run style action

fix(publish-crates-cargo): All inputs are required
@eclipse-zenoh-bot
Copy link
Contributor

@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.

1 similar comment
@eclipse-zenoh-bot
Copy link
Contributor

@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.

@fuzzypixelz fuzzypixelz changed the title feat: Support homebrew, debian, artifacts builds/publishing feat: Support releasing crates Mar 4, 2024
@eclipse-zenoh-bot
Copy link
Contributor

@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
Copy link
Contributor

@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.

@J-Loudet J-Loudet merged commit 7a9e09f into eclipse-zenoh:main Mar 4, 2024
2 checks passed
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants