Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants