Skip to content

Release

Release #1013

Workflow file for this run

#
# Copyright (c) 2023 ZettaScale Technology
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# ZettaScale Zenoh Team, <zenoh@zettascale.tech>
#
name: Release
on:
schedule:
- cron: "0 0 * * 1-5"
workflow_dispatch:
inputs:
live-run:
type: boolean
description: Live-run
required: false
default: false
version:
type: string
description: Release number
required: false
branch:
type: string
description: Release branch
required: false
jobs:
tag:
name: Branch, bump & tag crates
runs-on: ubuntu-latest
outputs:
version: ${{ steps.create-release-branch.outputs.version }}
branch: ${{ steps.create-release-branch.outputs.branch }}
steps:
- id: create-release-branch
uses: eclipse-zenoh/ci/create-release-branch@main
with:
repo: ${{ github.repository }}
live-run: ${{ inputs.live-run || false }}
version: ${{ inputs.version }}
branch: ${{ inputs.branch }}
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }}
- uses: eclipse-zenoh/ci/bump-crates@main
with:
repo: ${{ github.repository }}
live-run: ${{ inputs.live-run || false }}
version: ${{ steps.create-release-branch.outputs.version }}
branch: ${{ steps.create-release-branch.outputs.branch }}
bump-deps-pattern: zenoh.*
bump-deps-version: ${{ steps.create-release-branch.outputs.version }}
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }}
build-debian:
name: Build Debian packages
needs: tag
uses: eclipse-zenoh/ci/.github/workflows/build-crates-debian.yml@main
with:
repo: ${{ github.repository }}
version: ${{ needs.tag.outputs.version }}
branch: ${{ needs.tag.outputs.branch }}
secrets: inherit
build-standalone:
name: Build executables and libraries
needs: tag
uses: eclipse-zenoh/ci/.github/workflows/build-crates-standalone.yml@main
with:
repo: ${{ github.repository }}
version: ${{ needs.tag.outputs.version }}
branch: ${{ needs.tag.outputs.branch }}
artifact-patterns: |
^zenohd(\.exe)?$
^libzenoh_plugin_(rest|storage_manager)\.(dylib|so)$
^zenoh_plugin_(rest|storage_manager)\.dll$
secrets: inherit
cargo:
needs: tag
name: Publish Cargo crates
uses: eclipse-zenoh/ci/.github/workflows/release-crates-cargo.yml@main
with:
repo: ${{ github.repository }}
live-run: ${{ inputs.live-run || false }}
branch: ${{ needs.tag.outputs.branch }}
unpublished-deps-patterns: "zenoh.*"
secrets: inherit
debian:
name: Publish Debian packages
needs: [tag, build-debian, cargo]
uses: eclipse-zenoh/ci/.github/workflows/release-crates-debian.yml@main
with:
no-build: true
live-run: ${{ inputs.live-run || false }}
version: ${{ needs.tag.outputs.version }}
repo: ${{ github.repository }}
branch: ${{ needs.tag.outputs.branch }}
secrets: inherit
homebrew:
name: Publish Homebrew formulae
needs: [tag, build-standalone, cargo]
uses: eclipse-zenoh/ci/.github/workflows/release-crates-homebrew.yml@main
with:
no-build: true
repo: ${{ github.repository }}
live-run: ${{ inputs.live-run || false }}
version: ${{ needs.tag.outputs.version }}
branch: ${{ needs.tag.outputs.branch }}
artifact-patterns: |
^zenohd$
^libzenoh_plugin_rest\.dylib$
^libzenoh_plugin_storage_manager\.dylib$
formulae: |
zenoh
zenohd
zenoh-plugin-rest
zenoh-plugin-storage-manager
secrets: inherit
eclipse:
name: Publish artifacts to Eclipse downloads
needs: [tag, build-standalone, cargo]
uses: eclipse-zenoh/ci/.github/workflows/release-crates-eclipse.yml@main
with:
no-build: true
live-run: ${{ inputs.live-run || false }}
version: ${{ needs.tag.outputs.version }}
repo: ${{ github.repository }}
branch: ${{ needs.tag.outputs.branch }}
artifact-patterns: |
^zenohd(\.exe)?$
^libzenoh_plugin_(rest|storage_manager)\.(dylib|so)$
^zenoh_plugin_(rest|storage_manager)\.dll$
name: zenoh
secrets: inherit
github:
name: Publish artifacts to GitHub Releases
needs: [tag, build-standalone, cargo]
uses: eclipse-zenoh/ci/.github/workflows/release-crates-github.yml@main
with:
no-build: true
live-run: ${{ inputs.live-run || false }}
version: ${{ needs.tag.outputs.version }}
repo: ${{ github.repository }}
branch: ${{ needs.tag.outputs.branch }}
artifact-patterns: |
^zenohd(\.exe)?$
^libzenoh_plugin_(rest|storage_manager)\.(dylib|so)$
^zenoh_plugin_(rest|storage_manager)\.dll$
secrets: inherit
dockerhub:
name: Publish container image to DockerHub
needs: [tag, build-standalone, cargo]
uses: eclipse-zenoh/ci/.github/workflows/release-crates-dockerhub.yml@main
with:
no-build: true
live-run: ${{ inputs.live-run || false }}
version: ${{ needs.tag.outputs.version }}
repo: ${{ github.repository }}
branch: ${{ needs.tag.outputs.branch }}
image: "eclipse/zenoh"
binary: zenohd
files: |
zenohd
libzenoh_plugin_rest.so
libzenoh_plugin_storage_manager.so
platforms: |
linux/arm64
linux/amd64
licenses: EPL-2.0 OR Apache-2.0
secrets: inherit